Manually merging SFTPGo PR
This commit is contained in:
parent
81e774dc83
commit
f4ef4c8d2a
7 changed files with 447 additions and 402 deletions
BIN
home/dot_local/etc/branding/favicon.ico
Normal file
BIN
home/dot_local/etc/branding/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
home/dot_local/etc/branding/logo-color-256x256.png
Normal file
BIN
home/dot_local/etc/branding/logo-color-256x256.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
BIN
home/dot_local/etc/branding/logo-color-900x900.png
Normal file
BIN
home/dot_local/etc/branding/logo-color-900x900.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
|
@ -20,6 +20,8 @@ ingress:
|
||||||
service: rdp://localhost:3389
|
service: rdp://localhost:3389
|
||||||
- hostname: samba.{{ $baseDomain }}
|
- hostname: samba.{{ $baseDomain }}
|
||||||
service: localhost:8445
|
service: localhost:8445
|
||||||
|
- hostname: sftp.{{ $baseDomain }}
|
||||||
|
service: tcp://localhost:2022
|
||||||
- hostname: vnc.{{ $baseDomain }}
|
- hostname: vnc.{{ $baseDomain }}
|
||||||
service: tcp://localhost:5901
|
service: tcp://localhost:5901
|
||||||
{{- if eq .host.softwareGroup "Kubernetes" }}
|
{{- if eq .host.softwareGroup "Kubernetes" }}
|
||||||
|
|
5
home/dot_local/etc/sftpgo/banner
Normal file
5
home/dot_local/etc/sftpgo/banner
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
WARNING! Authorized use only. Your IP address has been logged.
|
||||||
|
|
||||||
|
If you choose to ignore this warning and discover a vulnerability
|
||||||
|
that you can explain how to remediate, then please contact brian@megabyte.space
|
||||||
|
for a bounty.
|
|
@ -3,416 +3,431 @@
|
||||||
{{- $baseDomain := (join (join .host.hostname "-qube.") .host.domain) -}}
|
{{- $baseDomain := (join (join .host.hostname "-qube.") .host.domain) -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{
|
{
|
||||||
"common": {
|
"common": {
|
||||||
"idle_timeout": 15,
|
"idle_timeout": 15,
|
||||||
"upload_mode": 0,
|
"upload_mode": 0,
|
||||||
"actions": {
|
"actions": {
|
||||||
"execute_on": [],
|
"execute_on": [],
|
||||||
"execute_sync": [],
|
"execute_sync": [],
|
||||||
"hook": ""
|
"hook": ""
|
||||||
},
|
|
||||||
"setstat_mode": 0,
|
|
||||||
"temp_path": "",
|
|
||||||
"proxy_protocol": 0,
|
|
||||||
"proxy_allowed": [],
|
|
||||||
"startup_hook": "",
|
|
||||||
"post_connect_hook": "",
|
|
||||||
"post_disconnect_hook": "",
|
|
||||||
"data_retention_hook": "",
|
|
||||||
"max_total_connections": 0,
|
|
||||||
"max_per_host_connections": 20,
|
|
||||||
"whitelist_file": "",
|
|
||||||
"allow_self_connections": 0,
|
|
||||||
"defender": {
|
|
||||||
"enabled": true,
|
|
||||||
"driver": "memory",
|
|
||||||
"ban_time": 30,
|
|
||||||
"ban_time_increment": 50,
|
|
||||||
"threshold": 15,
|
|
||||||
"score_invalid": 2,
|
|
||||||
"score_valid": 1,
|
|
||||||
"score_limit_exceeded": 3,
|
|
||||||
"observation_time": 30,
|
|
||||||
"entries_soft_limit": 100,
|
|
||||||
"entries_hard_limit": 150,
|
|
||||||
"safelist_file": "",
|
|
||||||
"blocklist_file": "",
|
|
||||||
"safelist": [],
|
|
||||||
"blocklist": []
|
|
||||||
},
|
|
||||||
"rate_limiters": [
|
|
||||||
{
|
|
||||||
"average": 0,
|
|
||||||
"period": 1000,
|
|
||||||
"burst": 1,
|
|
||||||
"type": 2,
|
|
||||||
"protocols": [
|
|
||||||
"SSH",
|
|
||||||
"FTP",
|
|
||||||
"DAV",
|
|
||||||
"HTTP"
|
|
||||||
],
|
|
||||||
"allow_list": [],
|
|
||||||
"generate_defender_events": false,
|
|
||||||
"entries_soft_limit": 100,
|
|
||||||
"entries_hard_limit": 150
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"acme": {
|
|
||||||
"domains": [
|
|
||||||
"sftp.{{- $baseDomain -}}"
|
|
||||||
],
|
|
||||||
"email": "{{- .user.cloudflare.username -}}",
|
|
||||||
"key_type": "4096",
|
|
||||||
"certs_path": "certs",
|
|
||||||
"ca_endpoint": "https://acme-v02.api.letsencrypt.org/directory",
|
|
||||||
"renew_days": 30,
|
|
||||||
"http01_challenge": {
|
|
||||||
"port": 80,
|
|
||||||
"proxy_header": "",
|
|
||||||
"webroot": ""
|
|
||||||
},
|
|
||||||
"tls_alpn01_challenge": {
|
|
||||||
"port": 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sftpd": {
|
|
||||||
"bindings": [
|
|
||||||
{
|
|
||||||
"port": 2022,
|
|
||||||
"address": "",
|
|
||||||
"apply_proxy_config": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"max_auth_tries": 0,
|
|
||||||
"banner": "",
|
|
||||||
"host_keys": [],
|
|
||||||
"host_certificates": [],
|
|
||||||
"host_key_algorithms": [],
|
|
||||||
"moduli": [],
|
|
||||||
"kex_algorithms": [],
|
|
||||||
"ciphers": [],
|
|
||||||
"macs": [],
|
|
||||||
"trusted_user_ca_keys": [],
|
|
||||||
"revoked_user_certs_file": "",
|
|
||||||
"login_banner_file": "",
|
|
||||||
"enabled_ssh_commands": [
|
|
||||||
"md5sum",
|
|
||||||
"sha1sum",
|
|
||||||
"sha256sum",
|
|
||||||
"cd",
|
|
||||||
"pwd",
|
|
||||||
"scp"
|
|
||||||
],
|
|
||||||
"keyboard_interactive_authentication": false,
|
|
||||||
"keyboard_interactive_auth_hook": "",
|
|
||||||
"password_authentication": true,
|
|
||||||
"folder_prefix": ""
|
|
||||||
},
|
|
||||||
"ftpd": {
|
|
||||||
"bindings": [
|
|
||||||
{
|
|
||||||
"port": 0,
|
|
||||||
"address": "",
|
|
||||||
"apply_proxy_config": true,
|
|
||||||
"tls_mode": 0,
|
|
||||||
"certificate_file": "",
|
|
||||||
"certificate_key_file": "",
|
|
||||||
"min_tls_version": 12,
|
|
||||||
"force_passive_ip": "",
|
|
||||||
"passive_ip_overrides": [],
|
|
||||||
"client_auth_type": 0,
|
|
||||||
"tls_cipher_suites": [],
|
|
||||||
"passive_connections_security": 0,
|
|
||||||
"active_connections_security": 0,
|
|
||||||
"debug": false
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"banner": "",
|
|
||||||
"banner_file": "",
|
|
||||||
"active_transfers_port_non_20": true,
|
|
||||||
"passive_port_range": {
|
|
||||||
"start": 50000,
|
|
||||||
"end": 50100
|
|
||||||
},
|
|
||||||
"disable_active_mode": false,
|
|
||||||
"enable_site": false,
|
|
||||||
"hash_support": 0,
|
|
||||||
"combine_support": 0,
|
|
||||||
"certificate_file": "",
|
|
||||||
"certificate_key_file": "",
|
|
||||||
"ca_certificates": [],
|
|
||||||
"ca_revocation_lists": []
|
|
||||||
},
|
|
||||||
"webdavd": {
|
|
||||||
"bindings": [
|
|
||||||
{
|
|
||||||
"port": 0,
|
|
||||||
"address": "",
|
|
||||||
"enable_https": false,
|
|
||||||
"certificate_file": "",
|
|
||||||
"certificate_key_file": "",
|
|
||||||
"min_tls_version": 12,
|
|
||||||
"client_auth_type": 0,
|
|
||||||
"tls_cipher_suites": [],
|
|
||||||
"prefix": "",
|
|
||||||
"proxy_allowed": [],
|
|
||||||
"client_ip_proxy_header": "",
|
|
||||||
"client_ip_header_depth": 0,
|
|
||||||
"disable_www_auth_header": false
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"certificate_file": "",
|
|
||||||
"certificate_key_file": "",
|
|
||||||
"ca_certificates": [],
|
|
||||||
"ca_revocation_lists": [],
|
|
||||||
"cors": {
|
|
||||||
"enabled": false,
|
|
||||||
"allowed_origins": [],
|
|
||||||
"allowed_methods": [],
|
|
||||||
"allowed_headers": [],
|
|
||||||
"exposed_headers": [],
|
|
||||||
"allow_credentials": false,
|
|
||||||
"max_age": 0,
|
|
||||||
"options_passthrough": false,
|
|
||||||
"options_success_status": 0,
|
|
||||||
"allow_private_network": false
|
|
||||||
},
|
|
||||||
"cache": {
|
|
||||||
"users": {
|
|
||||||
"expiration_time": 0,
|
|
||||||
"max_size": 50
|
|
||||||
},
|
},
|
||||||
"mime_types": {
|
"setstat_mode": 0,
|
||||||
|
"temp_path": "",
|
||||||
|
"proxy_protocol": 0,
|
||||||
|
"proxy_allowed": [],
|
||||||
|
"startup_hook": "",
|
||||||
|
"post_connect_hook": "",
|
||||||
|
"post_disconnect_hook": "",
|
||||||
|
"data_retention_hook": "",
|
||||||
|
"max_total_connections": 0,
|
||||||
|
"max_per_host_connections": 20,
|
||||||
|
"whitelist_file": "",
|
||||||
|
"allow_self_connections": 0,
|
||||||
|
"defender": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"max_size": 1000
|
"driver": "memory",
|
||||||
}
|
"ban_time": 30,
|
||||||
}
|
"ban_time_increment": 50,
|
||||||
},
|
"threshold": 15,
|
||||||
"data_provider": {
|
"score_invalid": 2,
|
||||||
"driver": "sqlite",
|
"score_valid": 1,
|
||||||
"name": "sftpgo.db",
|
"score_limit_exceeded": 3,
|
||||||
"host": "",
|
"observation_time": 30,
|
||||||
"port": 0,
|
"entries_soft_limit": 100,
|
||||||
"username": "",
|
"entries_hard_limit": 150,
|
||||||
"password": "",
|
"safelist_file": "",
|
||||||
"sslmode": 0,
|
"blocklist_file": "",
|
||||||
"disable_sni": false,
|
"safelist": [],
|
||||||
"target_session_attrs": "",
|
"blocklist": []
|
||||||
"root_cert": "",
|
|
||||||
"client_cert": "",
|
|
||||||
"client_key": "",
|
|
||||||
"connection_string": "",
|
|
||||||
"sql_tables_prefix": "",
|
|
||||||
"track_quota": 2,
|
|
||||||
"delayed_quota_update": 0,
|
|
||||||
"pool_size": 0,
|
|
||||||
"users_base_dir": "/usr/local/var/sftpgo/data",
|
|
||||||
"actions": {
|
|
||||||
"execute_on": [],
|
|
||||||
"execute_for": [],
|
|
||||||
"hook": ""
|
|
||||||
},
|
|
||||||
"external_auth_hook": "",
|
|
||||||
"external_auth_scope": 0,
|
|
||||||
"pre_login_hook": "",
|
|
||||||
"post_login_hook": "",
|
|
||||||
"post_login_scope": 0,
|
|
||||||
"check_password_hook": "",
|
|
||||||
"check_password_scope": 0,
|
|
||||||
"password_hashing": {
|
|
||||||
"bcrypt_options": {
|
|
||||||
"cost": 10
|
|
||||||
},
|
},
|
||||||
"argon2_options": {
|
"rate_limiters": [
|
||||||
"memory": 65536,
|
{
|
||||||
"iterations": 1,
|
"average": 0,
|
||||||
"parallelism": 2
|
"period": 1000,
|
||||||
},
|
"burst": 1,
|
||||||
"algo": "bcrypt"
|
"type": 2,
|
||||||
},
|
"protocols": [
|
||||||
"password_validation": {
|
"SSH",
|
||||||
"admins": {
|
"FTP",
|
||||||
"min_entropy": 0
|
"DAV",
|
||||||
},
|
"HTTP"
|
||||||
"users": {
|
|
||||||
"min_entropy": 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"password_caching": true,
|
|
||||||
"update_mode": 0,
|
|
||||||
"create_default_admin": true,
|
|
||||||
"naming_rules": 1,
|
|
||||||
"is_shared": 0,
|
|
||||||
"node": {
|
|
||||||
"host": "",
|
|
||||||
"port": 0,
|
|
||||||
"proto": "http"
|
|
||||||
},
|
|
||||||
"backups_path": "backups"
|
|
||||||
},
|
|
||||||
"httpd": {
|
|
||||||
"bindings": [
|
|
||||||
{
|
|
||||||
"port": 11101,
|
|
||||||
"address": "",
|
|
||||||
"enable_web_admin": true,
|
|
||||||
"enable_web_client": true,
|
|
||||||
"enable_rest_api": true,
|
|
||||||
"enabled_login_methods": 0,
|
|
||||||
"enable_https": false,
|
|
||||||
"certificate_file": "",
|
|
||||||
"certificate_key_file": "",
|
|
||||||
"min_tls_version": 12,
|
|
||||||
"client_auth_type": 0,
|
|
||||||
"tls_cipher_suites": [],
|
|
||||||
"proxy_allowed": [],
|
|
||||||
"client_ip_proxy_header": "",
|
|
||||||
"client_ip_header_depth": 0,
|
|
||||||
"hide_login_url": 0,
|
|
||||||
"render_openapi": true,
|
|
||||||
"web_client_integrations": [],
|
|
||||||
"oidc": {
|
|
||||||
"client_id": "",
|
|
||||||
"client_secret": "",
|
|
||||||
"config_url": "",
|
|
||||||
"redirect_base_url": "",
|
|
||||||
"scopes": [
|
|
||||||
"openid",
|
|
||||||
"profile",
|
|
||||||
"email"
|
|
||||||
],
|
],
|
||||||
"username_field": "",
|
"allow_list": [],
|
||||||
"role_field": "",
|
"generate_defender_events": false,
|
||||||
"implicit_roles": false,
|
"entries_soft_limit": 100,
|
||||||
"custom_fields": [],
|
"entries_hard_limit": 150
|
||||||
"insecure_skip_signature_check": false,
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"acme": {
|
||||||
|
"domains": ["sftp.{{ $baseDomain }}"],
|
||||||
|
"email": "{{ .user.cloudflare.username }}",
|
||||||
|
"key_type": "4096",
|
||||||
|
"certs_path": "certs",
|
||||||
|
"ca_endpoint": "https://acme-v02.api.letsencrypt.org/directory",
|
||||||
|
"renew_days": 30,
|
||||||
|
"http01_challenge": {
|
||||||
|
"port": 80,
|
||||||
|
"proxy_header": "",
|
||||||
|
"webroot": ""
|
||||||
|
},
|
||||||
|
"tls_alpn01_challenge": {
|
||||||
|
"port": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sftpd": {
|
||||||
|
"bindings": [
|
||||||
|
{
|
||||||
|
"port": 2022,
|
||||||
|
"address": "",
|
||||||
|
"apply_proxy_config": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"max_auth_tries": 0,
|
||||||
|
"banner": "",
|
||||||
|
"host_keys": [],
|
||||||
|
"host_certificates": [],
|
||||||
|
"host_key_algorithms": [],
|
||||||
|
"moduli": [],
|
||||||
|
"kex_algorithms": [],
|
||||||
|
"ciphers": [],
|
||||||
|
"macs": [],
|
||||||
|
"trusted_user_ca_keys": [],
|
||||||
|
"revoked_user_certs_file": "",
|
||||||
|
"login_banner_file": "/usr/local/etc/sftpgo/banner",
|
||||||
|
"enabled_ssh_commands": [
|
||||||
|
"md5sum",
|
||||||
|
"sha1sum",
|
||||||
|
"sha256sum",
|
||||||
|
"cd",
|
||||||
|
"pwd",
|
||||||
|
"scp"
|
||||||
|
],
|
||||||
|
"keyboard_interactive_authentication": false,
|
||||||
|
"keyboard_interactive_auth_hook": "",
|
||||||
|
"password_authentication": true,
|
||||||
|
"folder_prefix": ""
|
||||||
|
},
|
||||||
|
"ftpd": {
|
||||||
|
"bindings": [
|
||||||
|
{
|
||||||
|
"port": 0,
|
||||||
|
"address": "",
|
||||||
|
"apply_proxy_config": true,
|
||||||
|
"tls_mode": 0,
|
||||||
|
"certificate_file": "",
|
||||||
|
"certificate_key_file": "",
|
||||||
|
"min_tls_version": 12,
|
||||||
|
"force_passive_ip": "",
|
||||||
|
"passive_ip_overrides": [],
|
||||||
|
"client_auth_type": 0,
|
||||||
|
"tls_cipher_suites": [],
|
||||||
|
"passive_connections_security": 0,
|
||||||
|
"active_connections_security": 0,
|
||||||
"debug": false
|
"debug": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"banner": "",
|
||||||
|
"banner_file": "",
|
||||||
|
"active_transfers_port_non_20": true,
|
||||||
|
"passive_port_range": {
|
||||||
|
"start": 50000,
|
||||||
|
"end": 50100
|
||||||
|
},
|
||||||
|
"disable_active_mode": false,
|
||||||
|
"enable_site": false,
|
||||||
|
"hash_support": 0,
|
||||||
|
"combine_support": 0,
|
||||||
|
"certificate_file": "",
|
||||||
|
"certificate_key_file": "",
|
||||||
|
"ca_certificates": [],
|
||||||
|
"ca_revocation_lists": []
|
||||||
|
},
|
||||||
|
"webdavd": {
|
||||||
|
"bindings": [
|
||||||
|
{
|
||||||
|
"port": 0,
|
||||||
|
"address": "",
|
||||||
|
"enable_https": false,
|
||||||
|
"certificate_file": "",
|
||||||
|
"certificate_key_file": "",
|
||||||
|
"min_tls_version": 12,
|
||||||
|
"client_auth_type": 0,
|
||||||
|
"tls_cipher_suites": [],
|
||||||
|
"prefix": "",
|
||||||
|
"proxy_allowed": [],
|
||||||
|
"client_ip_proxy_header": "",
|
||||||
|
"client_ip_header_depth": 0,
|
||||||
|
"disable_www_auth_header": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"certificate_file": "",
|
||||||
|
"certificate_key_file": "",
|
||||||
|
"ca_certificates": [],
|
||||||
|
"ca_revocation_lists": [],
|
||||||
|
"cors": {
|
||||||
|
"enabled": false,
|
||||||
|
"allowed_origins": [],
|
||||||
|
"allowed_methods": [],
|
||||||
|
"allowed_headers": [],
|
||||||
|
"exposed_headers": [],
|
||||||
|
"allow_credentials": false,
|
||||||
|
"max_age": 0,
|
||||||
|
"options_passthrough": false,
|
||||||
|
"options_success_status": 0,
|
||||||
|
"allow_private_network": false
|
||||||
|
},
|
||||||
|
"cache": {
|
||||||
|
"users": {
|
||||||
|
"expiration_time": 0,
|
||||||
|
"max_size": 50
|
||||||
},
|
},
|
||||||
"security": {
|
"mime_types": {
|
||||||
"enabled": false,
|
"enabled": true,
|
||||||
"allowed_hosts": [],
|
"max_size": 1000
|
||||||
"allowed_hosts_are_regex": false,
|
|
||||||
"hosts_proxy_headers": [],
|
|
||||||
"https_redirect": false,
|
|
||||||
"https_host": "",
|
|
||||||
"https_proxy_headers": [],
|
|
||||||
"sts_seconds": 0,
|
|
||||||
"sts_include_subdomains": false,
|
|
||||||
"sts_preload": false,
|
|
||||||
"content_type_nosniff": false,
|
|
||||||
"content_security_policy": "",
|
|
||||||
"permissions_policy": "",
|
|
||||||
"cross_origin_opener_policy": "",
|
|
||||||
"expect_ct_header": ""
|
|
||||||
},
|
|
||||||
"branding": {
|
|
||||||
"web_admin": {
|
|
||||||
"name": "",
|
|
||||||
"short_name": "",
|
|
||||||
"favicon_path": "",
|
|
||||||
"logo_path": "",
|
|
||||||
"login_image_path": "",
|
|
||||||
"disclaimer_name": "",
|
|
||||||
"disclaimer_path": "",
|
|
||||||
"default_css": "",
|
|
||||||
"extra_css": []
|
|
||||||
},
|
|
||||||
"web_client": {
|
|
||||||
"name": "",
|
|
||||||
"short_name": "",
|
|
||||||
"favicon_path": "",
|
|
||||||
"logo_path": "",
|
|
||||||
"login_image_path": "",
|
|
||||||
"disclaimer_name": "",
|
|
||||||
"disclaimer_path": "",
|
|
||||||
"default_css": "",
|
|
||||||
"extra_css": []
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
|
||||||
"templates_path": "templates",
|
|
||||||
"static_files_path": "static",
|
|
||||||
"openapi_path": "openapi",
|
|
||||||
"web_root": "",
|
|
||||||
"certificate_file": "",
|
|
||||||
"certificate_key_file": "",
|
|
||||||
"ca_certificates": [],
|
|
||||||
"ca_revocation_lists": [],
|
|
||||||
"signing_passphrase": "",
|
|
||||||
"token_validation": 0,
|
|
||||||
"max_upload_file_size": 1048576000,
|
|
||||||
"cors": {
|
|
||||||
"enabled": false,
|
|
||||||
"allowed_origins": [],
|
|
||||||
"allowed_methods": [],
|
|
||||||
"allowed_headers": [],
|
|
||||||
"exposed_headers": [],
|
|
||||||
"allow_credentials": false,
|
|
||||||
"max_age": 0,
|
|
||||||
"options_passthrough": false,
|
|
||||||
"options_success_status": 0,
|
|
||||||
"allow_private_network": false
|
|
||||||
},
|
},
|
||||||
"setup": {
|
"data_provider": {
|
||||||
"installation_code": "",
|
"driver": "sqlite",
|
||||||
"installation_code_hint": "Installation code"
|
"name": "sftpgo.db",
|
||||||
|
"host": "",
|
||||||
|
"port": 0,
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"sslmode": 0,
|
||||||
|
"disable_sni": false,
|
||||||
|
"target_session_attrs": "",
|
||||||
|
"root_cert": "",
|
||||||
|
"client_cert": "",
|
||||||
|
"client_key": "",
|
||||||
|
"connection_string": "",
|
||||||
|
"sql_tables_prefix": "",
|
||||||
|
"track_quota": 2,
|
||||||
|
"delayed_quota_update": 0,
|
||||||
|
"pool_size": 0,
|
||||||
|
"users_base_dir": "/usr/local/var/sftpgo/data",
|
||||||
|
"actions": {
|
||||||
|
"execute_on": [],
|
||||||
|
"execute_for": [],
|
||||||
|
"hook": ""
|
||||||
|
},
|
||||||
|
"external_auth_hook": "",
|
||||||
|
"external_auth_scope": 0,
|
||||||
|
"pre_login_hook": "",
|
||||||
|
"post_login_hook": "",
|
||||||
|
"post_login_scope": 0,
|
||||||
|
"check_password_hook": "",
|
||||||
|
"check_password_scope": 0,
|
||||||
|
"password_hashing": {
|
||||||
|
"bcrypt_options": {
|
||||||
|
"cost": 10
|
||||||
|
},
|
||||||
|
"argon2_options": {
|
||||||
|
"memory": 65536,
|
||||||
|
"iterations": 1,
|
||||||
|
"parallelism": 2
|
||||||
|
},
|
||||||
|
"algo": "bcrypt"
|
||||||
|
},
|
||||||
|
"password_validation": {
|
||||||
|
"admins": {
|
||||||
|
"min_entropy": 0
|
||||||
|
},
|
||||||
|
"users": {
|
||||||
|
"min_entropy": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"password_caching": true,
|
||||||
|
"update_mode": 0,
|
||||||
|
"create_default_admin": true,
|
||||||
|
"naming_rules": 1,
|
||||||
|
"is_shared": 0,
|
||||||
|
"node": {
|
||||||
|
"host": "",
|
||||||
|
"port": 0,
|
||||||
|
"proto": "http"
|
||||||
|
},
|
||||||
|
"backups_path": "backups"
|
||||||
},
|
},
|
||||||
"hide_support_link": true
|
"httpd": {
|
||||||
},
|
"bindings": [
|
||||||
"telemetry": {
|
{
|
||||||
"bind_port": 0,
|
"port": 11101,
|
||||||
"bind_address": "127.0.0.1",
|
"address": "",
|
||||||
"enable_profiler": false,
|
"enable_web_admin": true,
|
||||||
"auth_user_file": "",
|
"enable_web_client": true,
|
||||||
"certificate_file": "",
|
"enable_rest_api": true,
|
||||||
"certificate_key_file": "",
|
"enabled_login_methods": 0,
|
||||||
"min_tls_version": 12,
|
"enable_https": false,
|
||||||
"tls_cipher_suites": []
|
"certificate_file": "",
|
||||||
},
|
"certificate_key_file": "",
|
||||||
"http": {
|
"min_tls_version": 12,
|
||||||
"timeout": 20,
|
"client_auth_type": 0,
|
||||||
"retry_wait_min": 2,
|
"tls_cipher_suites": [],
|
||||||
"retry_wait_max": 30,
|
"proxy_allowed": [],
|
||||||
"retry_max": 3,
|
"client_ip_proxy_header": "",
|
||||||
"ca_certificates": [],
|
"client_ip_header_depth": 0,
|
||||||
"certificates": [],
|
"hide_login_url": 0,
|
||||||
"skip_tls_verify": false,
|
"render_openapi": true,
|
||||||
"headers": []
|
"web_client_integrations": [],
|
||||||
},
|
"oidc": {
|
||||||
"command": {
|
"client_id": "",
|
||||||
"timeout": 30,
|
"client_secret": "",
|
||||||
"env": [],
|
"config_url": "",
|
||||||
"commands": []
|
"redirect_base_url": "",
|
||||||
},
|
"scopes": [
|
||||||
"kms": {
|
"openid",
|
||||||
"secrets": {
|
"profile",
|
||||||
"url": "",
|
"email"
|
||||||
"master_key": "",
|
],
|
||||||
"master_key_path": ""
|
"username_field": "",
|
||||||
}
|
"role_field": "",
|
||||||
},
|
"implicit_roles": false,
|
||||||
"mfa": {
|
"custom_fields": [],
|
||||||
"totp": [
|
"insecure_skip_signature_check": false,
|
||||||
|
"debug": false
|
||||||
|
},
|
||||||
|
"security": {
|
||||||
|
"enabled": false,
|
||||||
|
"allowed_hosts": [],
|
||||||
|
"allowed_hosts_are_regex": false,
|
||||||
|
"hosts_proxy_headers": [],
|
||||||
|
"https_redirect": false,
|
||||||
|
"https_host": "",
|
||||||
|
"https_proxy_headers": [],
|
||||||
|
"sts_seconds": 0,
|
||||||
|
"sts_include_subdomains": false,
|
||||||
|
"sts_preload": false,
|
||||||
|
"content_type_nosniff": false,
|
||||||
|
"content_security_policy": "",
|
||||||
|
"permissions_policy": "",
|
||||||
|
"cross_origin_opener_policy": "",
|
||||||
|
"expect_ct_header": ""
|
||||||
|
},
|
||||||
|
"branding": {
|
||||||
|
"web_admin": {
|
||||||
|
"name": "",
|
||||||
|
"short_name": "",
|
||||||
|
"favicon_path": "/usr/local/etc/branding/favicon.ico",
|
||||||
|
"logo_path": "/usr/local/etc/branding/logo-color-256x256.png",
|
||||||
|
"login_image_path": "/usr/local/etc/branding/logo-color-900x900.png",
|
||||||
|
"disclaimer_name": "",
|
||||||
|
"disclaimer_path": "",
|
||||||
|
"default_css": "",
|
||||||
|
"extra_css": []
|
||||||
|
},
|
||||||
|
"web_client": {
|
||||||
|
"name": "",
|
||||||
|
"short_name": "",
|
||||||
|
"favicon_path": "/usr/local/etc/branding/favicon.ico",
|
||||||
|
"logo_path": "/usr/local/etc/branding/logo-color-256x256.png",
|
||||||
|
"login_image_path": "/usr/local/etc/branding/logo-color-900x900.png",
|
||||||
|
"disclaimer_name": "",
|
||||||
|
"disclaimer_path": "",
|
||||||
|
"default_css": "",
|
||||||
|
"extra_css": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"templates_path": "templates",
|
||||||
|
"static_files_path": "static",
|
||||||
|
"openapi_path": "openapi",
|
||||||
|
"web_root": "",
|
||||||
|
"certificate_file": "",
|
||||||
|
"certificate_key_file": "",
|
||||||
|
"ca_certificates": [],
|
||||||
|
"ca_revocation_lists": [],
|
||||||
|
"signing_passphrase": "",
|
||||||
|
"token_validation": 0,
|
||||||
|
"max_upload_file_size": 1048576000,
|
||||||
|
"cors": {
|
||||||
|
"enabled": false,
|
||||||
|
"allowed_origins": [],
|
||||||
|
"allowed_methods": [],
|
||||||
|
"allowed_headers": [],
|
||||||
|
"exposed_headers": [],
|
||||||
|
"allow_credentials": false,
|
||||||
|
"max_age": 0,
|
||||||
|
"options_passthrough": false,
|
||||||
|
"options_success_status": 0,
|
||||||
|
"allow_private_network": false
|
||||||
|
},
|
||||||
|
"setup": {
|
||||||
|
"installation_code": "",
|
||||||
|
"installation_code_hint": "Installation code"
|
||||||
|
},
|
||||||
|
"hide_support_link": true
|
||||||
|
},
|
||||||
|
"telemetry": {
|
||||||
|
"bind_port": 57500,
|
||||||
|
"bind_address": "127.0.0.1",
|
||||||
|
"enable_profiler": false,
|
||||||
|
"auth_user_file": "",
|
||||||
|
"certificate_file": "",
|
||||||
|
"certificate_key_file": "",
|
||||||
|
"min_tls_version": 12,
|
||||||
|
"tls_cipher_suites": []
|
||||||
|
},
|
||||||
|
"http": {
|
||||||
|
"timeout": 20,
|
||||||
|
"retry_wait_min": 2,
|
||||||
|
"retry_wait_max": 30,
|
||||||
|
"retry_max": 3,
|
||||||
|
"ca_certificates": [],
|
||||||
|
"certificates": [],
|
||||||
|
"skip_tls_verify": false,
|
||||||
|
"headers": []
|
||||||
|
},
|
||||||
|
"command": {
|
||||||
|
"timeout": 30,
|
||||||
|
"env": [],
|
||||||
|
"commands": []
|
||||||
|
},
|
||||||
|
"kms": {
|
||||||
|
"secrets": {
|
||||||
|
"url": "",
|
||||||
|
"master_key": "",
|
||||||
|
"master_key_path": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mfa": {
|
||||||
|
"totp": [
|
||||||
|
{
|
||||||
|
"name": "CombineOS",
|
||||||
|
"issuer": "CombineOS - SFTPGo",
|
||||||
|
"algo": "sha1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"smtp": {
|
||||||
|
"host": "smtp.sendgrid.net",
|
||||||
|
"port": 587,
|
||||||
|
"from": "CombineOS SFTPGo <no-reply@{{ .host.domain }}",
|
||||||
|
"user": "apikey",
|
||||||
|
"password": "{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SENDGRID_API_KEY")) }}{{ includeTemplate "secrets/SENDGRID_API_KEY" | decrypt | trim }}{{ else }}{{ env "SENDGRID_API_KEY" }}",
|
||||||
|
"auth_type": 0,
|
||||||
|
"encryption": 1,
|
||||||
|
"domain": "",
|
||||||
|
"templates_path": "templates"
|
||||||
|
},
|
||||||
|
"plugins": [
|
||||||
{
|
{
|
||||||
"name": "Install Doctor",
|
"cmd": "/usr/local/bin/sftpgo-plugin-auth",
|
||||||
"issuer": "SFTPGo - Install Doctor",
|
"type": "auth",
|
||||||
"algo": "sha1"
|
"auth_options": {
|
||||||
|
"scope": 1
|
||||||
|
},
|
||||||
|
"args": [
|
||||||
|
"serve",
|
||||||
|
"--ldap-url=ldap://ldap.jumpcloud.com:389",
|
||||||
|
"--ldap-base-dn=ou=Users,o={{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_ORG_ID")) }}{{ includeTemplate "secrets/JUMPCLOUD_ORG_ID" | decrypt | trim }}{{ else }}{{ env "JUMPCLOUD_ORG_ID" }},dc=jumpcloud,dc=com",
|
||||||
|
"--ldap-bind-dn=uid={{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_BINDDN_USER")) }}{{ includeTemplate "secrets/JUMPCLOUD_BINDDN_USER" | decrypt | trim }}{{ else }}{{ env "JUMPCLOUD_BINDDN_USER" }},ou=Users,o={{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_ORG_ID")) }}{{ includeTemplate "secrets/JUMPCLOUD_ORG_ID" | decrypt | trim }}{{ else }}{{ env "JUMPCLOUD_ORG_ID" }},dc=jumpcloud,dc=com",
|
||||||
|
"--ldap-password={{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "JUMPCLOUD_BINDDN_PASSWORD")) }}{{ includeTemplate "secrets/JUMPCLOUD_BINDDN_PASSWORD" | decrypt | trim }}{{ else }}{{ env "JUMPCLOUD_BINDDN_PASSWORD" }}",
|
||||||
|
"--ldap-search-query=(objectClass=inetOrgPerson)"
|
||||||
|
],
|
||||||
|
"auto_mtls": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
}
|
||||||
"smtp": {
|
|
||||||
"host": "smtp.sendgrid.net",
|
|
||||||
"port": 587,
|
|
||||||
"from": "SFTPGo <no-reply@{{ .host.domain }}",
|
|
||||||
"user": "apikey",
|
|
||||||
"password": "{{- if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "SENDGRID_API_KEY")) -}}{{- includeTemplate "secrets/SENDGRID_API_KEY" | decrypt | trim -}}{{- else -}}{{- env "SENDGRID_API_KEY" -}}{{- end -}}",
|
|
||||||
"auth_type": 0,
|
|
||||||
"encryption": 1,
|
|
||||||
"domain": "",
|
|
||||||
"templates_path": "templates"
|
|
||||||
},
|
|
||||||
"plugins": []
|
|
||||||
}
|
|
27
software.yml
27
software.yml
|
@ -7828,15 +7828,20 @@ softwarePackages:
|
||||||
fi
|
fi
|
||||||
logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/ to $NETDATA_ETC" && sudo cp -rf "${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/" "$NETDATA_ETC"
|
logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/ to $NETDATA_ETC" && sudo cp -rf "${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/" "$NETDATA_ETC"
|
||||||
|
|
||||||
### Blocky
|
|
||||||
logg info "Adding Blocky metrics collection to $NETDATA_ETC/go.d/prometheus.conf"
|
|
||||||
if command -v gsed > /dev/null; then
|
if command -v gsed > /dev/null; then
|
||||||
SED_UTIL="gsed"
|
SED_UTIL="gsed"
|
||||||
else
|
else
|
||||||
SED_UTIL="sed"
|
SED_UTIL="sed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
### Blocky
|
||||||
|
logg info "Adding Blocky metrics collection to $NETDATA_ETC/go.d/prometheus.conf"
|
||||||
sudo "$SED_UTIL" -i "/jobs:/a\ - name: blocky_local \n url: 'http://127.0.0.1:4000/metrics'" "$NETDATA_ETC/go.d/prometheus.conf"
|
sudo "$SED_UTIL" -i "/jobs:/a\ - name: blocky_local \n url: 'http://127.0.0.1:4000/metrics'" "$NETDATA_ETC/go.d/prometheus.conf"
|
||||||
|
|
||||||
|
### SFTPGo
|
||||||
|
logg info "Adding SFTPGo metrics collection to $NETDATA_ETC/go.d/prometheus.conf"
|
||||||
|
sudo "$SED_UTIL" -i "/jobs:/a\ - name: sftpgo_local \n url: 'http://127.0.0.1:57500/metrics'" "$NETDATA_ETC/go.d/prometheus.conf"
|
||||||
|
|
||||||
# Backup current health alarm configuration and apply new one
|
# Backup current health alarm configuration and apply new one
|
||||||
if [ -d /usr/local/lib/netdata ]; then
|
if [ -d /usr/local/lib/netdata ]; then
|
||||||
NETDATA_LIB='/usr/local/lib/netdata'
|
NETDATA_LIB='/usr/local/lib/netdata'
|
||||||
|
@ -10346,7 +10351,20 @@ softwarePackages:
|
||||||
_name: serverless
|
_name: serverless
|
||||||
brew: serverless
|
brew: serverless
|
||||||
npm: serverless
|
npm: serverless
|
||||||
|
sftpgo-plugin-auth:
|
||||||
|
_bin: sftpgo-plugin-auth
|
||||||
|
_desc: A plugin for SFTPGo to enable LDAP/Active Directory authentication
|
||||||
|
_docs: null
|
||||||
|
_github: https://github.com/sftpgo/sftpgo-plugin-auth
|
||||||
|
_home: null
|
||||||
|
_name: SFTPGo Authentication Plugin
|
||||||
|
_post: |
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
sudo mv -f $(which sftpgo-plugin-auth) /usr/local/bin/sftpgo-plugin-auth
|
||||||
|
go: github.com/sftpgo/sftpgo-plugin-auth@latest
|
||||||
sftpgo:
|
sftpgo:
|
||||||
|
_deps:
|
||||||
|
- sftpgo-plugin-auth
|
||||||
_bin: sftpgo
|
_bin: sftpgo
|
||||||
_desc: Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
|
_desc: Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
|
||||||
_docs: null
|
_docs: null
|
||||||
|
@ -10357,6 +10375,11 @@ softwarePackages:
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
sudo mkdir -p /usr/local/etc/sftpgo
|
sudo mkdir -p /usr/local/etc/sftpgo
|
||||||
sudo cp -f "$HOME/.local/etc/sftpgo/sftpgo.json" /usr/local/etc/sftpgo/sftpgo.json
|
sudo cp -f "$HOME/.local/etc/sftpgo/sftpgo.json" /usr/local/etc/sftpgo/sftpgo.json
|
||||||
|
sudo cp -f "$HOME/.local/etc/sftpgo/banner" /usr/local/etc/sftpgo/banner
|
||||||
|
sudo mkdir -p /usr/local/etc/branding
|
||||||
|
sudo cp -f "$HOME/.local/etc/branding/favicon.ico" /usr/local/etc/branding/favicon.ico
|
||||||
|
sudo cp -f "$HOME/.local/etc/branding/logo-color-256x256.png" /usr/local/etc/branding/logo-color-256x256.png
|
||||||
|
sudo cp -f "$HOME/.local/etc/branding/logo-color-900x900.png" /usr/local/etc/branding/logo-color-900x900.png
|
||||||
sudo sftpgo initprovider
|
sudo sftpgo initprovider
|
||||||
_service: sftpgo
|
_service: sftpgo
|
||||||
_service:brew:
|
_service:brew:
|
||||||
|
|
Loading…
Reference in a new issue