diff options
Diffstat (limited to 'pyload/remote/WebSocketBackend.py')
-rw-r--r-- | pyload/remote/WebSocketBackend.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/pyload/remote/WebSocketBackend.py b/pyload/remote/WebSocketBackend.py index d29470067..7238af679 100644 --- a/pyload/remote/WebSocketBackend.py +++ b/pyload/remote/WebSocketBackend.py @@ -21,12 +21,15 @@ import logging from RemoteManager import BackendBase from mod_pywebsocket import util + + def get_class_logger(o=None): return logging.getLogger('log') # Monkey patch for our logger util.get_class_logger = get_class_logger + class WebSocketBackend(BackendBase): def setup(self, host, port): @@ -42,8 +45,19 @@ class WebSocketBackend(BackendBase): options.dispatcher.addHandler(ApiHandler.PATH, ApiHandler(self.core.api)) options.dispatcher.addHandler(AsyncHandler.PATH, AsyncHandler(self.core.api)) - self.server = WebSocketServer(options) + # tls is needed when requested or webUI is also on tls + if self.core.api.isWSSecure(): + from wsbackend.Server import import_ssl + if import_ssl(): + options.use_tls = True + options.certificate = self.core.config['ssl']['cert'] + options.ca_certificate = options.certificate + options.private_key = self.core.config['ssl']['key'] + self.core.log.info(_('Using secure WebSocket')) + else: + self.core.log.warning(_('SSL could not be imported')) + self.server = WebSocketServer(options) def serve(self): self.server.serve_forever() |