diff --git a/pagekite/manual.py b/pagekite/manual.py index 24a64d2..27a1edd 100755 --- a/pagekite/manual.py +++ b/pagekite/manual.py @@ -337,6 +337,15 @@ Default name to use for SSL, if SNI (Server Name Indication) is missing from incoming HTTPS connections. + --tls_ciphers=cipher list __ + List of ciphers to use for front end server TLS sockets. + For example, Debian 11 and later may need DEFAULT@SECLEVEL=1 + in order to allow TLSv1 connections from older embedded + backends. Make sure you know what you are doing when using this! + + --tls_legacy __Allow legacy TLS for front end servers. + Make sure you know what you are doing when using this! + --tls_endpoint=name:/path/to/file __ Terminate SSL/TLS for a name using key/cert from a file. @@ -355,7 +364,7 @@ --savefile=/path/to/file __ Saved settings will be written to this file. - --save __Save the current configuration to the savefile. + --save __Save the current configuration to the savefile. --settings __ Dump the current settings to STDOUT, formatted as a configuration diff --git a/pagekite/pk.py b/pagekite/pk.py index 938bf03..b85e1c9 100755 --- a/pagekite/pk.py +++ b/pagekite/pk.py @@ -91,7 +91,7 @@ 'auththreads=', 'authdomain=', 'authfail_closed', 'motd=', 'register=', 'host=', 'noupgradeinfo', 'upgradeinfo=', 'ports=', 'protos=', 'portalias=', 'rawports=', - 'tls_legacy', 'tls_default=', 'tls_endpoint=', 'selfsign', + 'tls_legacy', 'tls_ciphers=', 'tls_default=', 'tls_endpoint=', 'selfsign', 'fe_certname=', 'fe_nocertcheck', 'ca_certs=', 'kitename=', 'kitesecret=', 'backend=', 'define_backend=', 'be_config=', @@ -1080,6 +1080,7 @@ def ResetConfiguration(self): self.tls_legacy = False self.tls_default = None + self.tls_ciphers = None self.tls_endpoints = {} self.fe_certname = [] # @@ -1555,6 +1556,7 @@ def addManualFrontends(): config.append('# tls_endpoint = DOMAIN:PEM_FILE') config.extend([ p('tls_default = %s', self.tls_default, 'DOMAIN'), + p('tls_ciphers = %s', self.tls_ciphers, ''), p('tls_legacy = %s', self.tls_legacy, False), '', ]) @@ -2371,10 +2373,11 @@ def Configure(self, argv): self.ui_paths[host] = hosti elif opt == '--tls_default': self.tls_default = arg + elif opt == '--tls_ciphers': self.tls_ciphers = arg elif opt == '--tls_legacy': self.tls_legacy = True elif opt == '--tls_endpoint': name, pemfile = arg.split(':', 1) - ctx = socks.MakeBestEffortSSLContext(legacy=self.tls_legacy) + ctx = socks.MakeBestEffortSSLContext(legacy=self.tls_legacy, ciphers=self.tls_ciphers) ctx.use_privatekey_file(pemfile) ctx.use_certificate_chain_file(pemfile) self.tls_endpoints[name] = (pemfile, ctx) diff --git a/pagekite_gtk.py b/pagekite_gtk.py new file mode 120000 index 0000000..ffb68aa --- /dev/null +++ b/pagekite_gtk.py @@ -0,0 +1 @@ +scripts/pagekite_gtk \ No newline at end of file