diff options
| author | Osmium Sorcerer <os@sof.beauty> | 2026-03-22 17:57:13 +0000 |
|---|---|---|
| committer | Osmium Sorcerer <os@sof.beauty> | 2026-03-29 22:22:25 +0000 |
| commit | 79c2262cae02b513aee70943f7e07a9205316bdf (patch) | |
| tree | 02efb824bad180a11bd1b68c41508088c167434b /src/widgets/server_editor_dialog.cpp | |
| parent | 06f34c776972542222623ca4f91880de97993fbf (diff) | |
Support Secure WebSocket
Add full WSS support to public server list (using wss_port, overriding
insecure port), favorite servers list, and direct connections, and show
which servers are secure.
Revert the upstream's removal of `legacy` ServerInfo field, as I use it
to filter out legacy servers. To differentiate schemes, the `scheme`
field is used, either "ws" or "wss". I don't see the reason to add "tcp"
protocol when we don't even support it.
For the UI, add icons for secure and insecure connections. Highlight
secure servers with a green background.
In the favorite server dialog, a checkbox was added to select whether
the server is using WSS.
In the direct connection dialog, support "wss" scheme and default ports:
80 for WS, 443 for WSS, as per the WebSocket specification.
Diffstat (limited to 'src/widgets/server_editor_dialog.cpp')
| -rw-r--r-- | src/widgets/server_editor_dialog.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/server_editor_dialog.cpp b/src/widgets/server_editor_dialog.cpp index 03c8d6c6..8f987f6a 100644 --- a/src/widgets/server_editor_dialog.cpp +++ b/src/widgets/server_editor_dialog.cpp @@ -31,6 +31,7 @@ ServerEditorDialog::ServerEditorDialog(QWidget *parent) FROM_UI(QLineEdit, name); FROM_UI(QLineEdit, hostname); FROM_UI(QSpinBox, port); + FROM_UI(QCheckBox, secure_cb); FROM_UI(QPlainTextEdit, description); FROM_UI(QDialogButtonBox, button_box); @@ -49,6 +50,7 @@ ServerEditorDialog::ServerEditorDialog(const ServerInfo &server, QWidget *parent ui_name->setText(server.name); ui_hostname->setText(server.address); ui_port->setValue(server.port); + ui_secure_cb->setChecked(server.scheme == "wss"); ui_description->setPlainText(server.description); } @@ -58,6 +60,7 @@ ServerInfo ServerEditorDialog::currentServerInfo() const server.name = ui_name->text(); server.address = ui_hostname->text(); server.port = ui_port->value(); + server.scheme = ui_secure_cb->isChecked() ? "wss" : "ws"; server.description = ui_description->toPlainText(); return server; } |
