Feat: Add SSL support for webserver + websocket (#612)

* Feat: Add SSL support for webserver + websocket

Finally, Hyperion reaches the SSL century!
- Uses by default a internal key and certificate to provide working HTTPS out-of-the-box
- Your browser won't like that, for a green ssl seal next to the browser address bar you need to use Let's Encrypt with a own legit domain. This is out of the scope of Hyperion
This commit is contained in:
brindosch
2019-08-21 16:09:28 +02:00
committed by GitHub
parent fe12b36fce
commit 8e5f3251b5
14 changed files with 268 additions and 12 deletions

View File

@@ -621,6 +621,14 @@
"edt_conf_webc_heading_title": "Web Konfiguration",
"edt_conf_webc_docroot_title": "Verzeichnis",
"edt_conf_webc_docroot_expl": "Lokaler Pfad zum WebUI Wurzelverzeichnis (Nur für WebUI Entwickler)",
"edt_conf_webc_sslport_title" : "HTTPS Port",
"edt_conf_webc_sslport_expl" : "Port des HTTPS webservers",
"edt_conf_webc_crtPath_title" : "Zertifikats-Pfad",
"edt_conf_webc_crtPath_expl" : "Pfad zur Zertifikats-Datei (Format sollte PEM sein)",
"edt_conf_webc_keyPath_title" : "Schlüssel-Pfad",
"edt_conf_webc_keyPath_expl" : "Pfad zum privaten Schlüssel (Format in PEM, verschlüsselt mit RSA)",
"edt_conf_webc_keyPassPhrase_title" : "Schlüsselpasswort",
"edt_conf_webc_keyPassPhrase_expl" : "Optional: Der Schlüssel könnte mit einem Passwort geschützt sein",
"edt_conf_effp_heading_title": "Effekt Pfade",
"edt_conf_effp_paths_title": "Effekt Pfad(e)",
"edt_conf_effp_paths_expl": "Es können mehrere Ordner definiert werden die Effekte enthalten. Der Effekt Konfigurator speichert immer im Ersten Ordner.",

View File

@@ -620,6 +620,14 @@
"edt_conf_webc_heading_title" : "Web Configuration",
"edt_conf_webc_docroot_title" : "Document Root",
"edt_conf_webc_docroot_expl" : "Local webinterface root path (just for webui developer)",
"edt_conf_webc_sslport_title" : "HTTPS Port",
"edt_conf_webc_sslport_expl" : "Port oft the HTTPS webserver",
"edt_conf_webc_crtPath_title" : "Certificate path",
"edt_conf_webc_crtPath_expl" : "Path to the certification file (format should be PEM)",
"edt_conf_webc_keyPath_title" : "Private key path",
"edt_conf_webc_keyPath_expl" : "Path to the key file (format PEM, encrypted with RSA)",
"edt_conf_webc_keyPassPhrase_title" : "Key password",
"edt_conf_webc_keyPassPhrase_expl" : "Optional: The key might be protected with a password",
"edt_conf_effp_heading_title" : "Effect Paths",
"edt_conf_effp_paths_title" : "Effect Path(s)",
"edt_conf_effp_paths_expl" : "You could define more folders that contain effects. The effect configurator will always save inside the first folder.",

View File

@@ -74,7 +74,7 @@ function initWebSocket()
if (window.websocket == null)
{
window.jsonPort = (document.location.port == '') ? '80' : document.location.port;
window.websocket = new WebSocket('ws://'+document.location.hostname+":"+window.jsonPort);
window.websocket = (document.location.protocol == "https:") ? new WebSocket('wss://'+document.location.hostname+":"+window.jsonPort) : new WebSocket('ws://'+document.location.hostname+":"+window.jsonPort);
window.websocket.onopen = function (event) {
$(window.hyperion).trigger({type:"open"});