diff --git a/onionshare_gui/settings_dialog.py b/onionshare_gui/settings_dialog.py
index 5b052375..856ca993 100644
--- a/onionshare_gui/settings_dialog.py
+++ b/onionshare_gui/settings_dialog.py
@@ -58,6 +58,10 @@ class SettingsDialog(QtWidgets.QDialog):
self.use_legacy_v2_onions_checkbox = QtWidgets.QCheckBox()
self.use_legacy_v2_onions_checkbox.setCheckState(QtCore.Qt.Unchecked)
self.use_legacy_v2_onions_checkbox.setText(strings._("gui_use_legacy_v2_onions_checkbox", True))
+ use_legacy_v2_onions_label = QtWidgets.QLabel(strings._("gui_use_legacy_v2_onions_label", True))
+ use_legacy_v2_onions_label.setWordWrap(True)
+ use_legacy_v2_onions_label.setTextInteractionFlags(QtCore.Qt.TextBrowserInteraction)
+ use_legacy_v2_onions_label.setOpenExternalLinks(True)
# Whether or not to save the Onion private key for reuse (persistent URL mode)
self.save_private_key_checkbox = QtWidgets.QCheckBox()
@@ -70,11 +74,37 @@ class SettingsDialog(QtWidgets.QDialog):
self.public_mode_checkbox.setCheckState(QtCore.Qt.Unchecked)
self.public_mode_checkbox.setText(strings._("gui_settings_public_mode_checkbox", True))
+ # Stealth
+ self.stealth_checkbox = QtWidgets.QCheckBox()
+ self.stealth_checkbox.setCheckState(QtCore.Qt.Unchecked)
+ self.stealth_checkbox.setText(strings._("gui_settings_stealth_option", True))
+ self.stealth_checkbox.clicked.connect(self.stealth_checkbox_clicked_connect)
+ stealth_details = QtWidgets.QLabel(strings._("gui_settings_stealth_option_details", True))
+ stealth_details.setWordWrap(True)
+ stealth_details.setTextInteractionFlags(QtCore.Qt.TextBrowserInteraction)
+ stealth_details.setOpenExternalLinks(True)
+ stealth_details.setMinimumSize(stealth_details.sizeHint())
+
+ hidservauth_details = QtWidgets.QLabel(strings._('gui_settings_stealth_hidservauth_string', True))
+ hidservauth_details.setWordWrap(True)
+ hidservauth_details.setMinimumSize(hidservauth_details.sizeHint())
+ hidservauth_details.hide()
+
+ self.hidservauth_copy_button = QtWidgets.QPushButton(strings._('gui_copy_hidservauth', True))
+ self.hidservauth_copy_button.clicked.connect(self.hidservauth_copy_button_clicked)
+ self.hidservauth_copy_button.hide()
+
# General options layout
general_group_layout = QtWidgets.QVBoxLayout()
general_group_layout.addWidget(self.use_legacy_v2_onions_checkbox)
+ general_group_layout.addWidget(use_legacy_v2_onions_label)
general_group_layout.addWidget(self.save_private_key_checkbox)
general_group_layout.addWidget(self.public_mode_checkbox)
+ general_group_layout.addWidget(self.stealth_checkbox)
+ general_group_layout.addWidget(stealth_details)
+ general_group_layout.addWidget(hidservauth_details)
+ general_group_layout.addWidget(self.hidservauth_copy_button)
+
general_group = QtWidgets.QGroupBox(strings._("gui_settings_general_label", True))
general_group.setLayout(general_group_layout)
@@ -120,37 +150,6 @@ class SettingsDialog(QtWidgets.QDialog):
receiving_group = QtWidgets.QGroupBox(strings._("gui_settings_receiving_label", True))
receiving_group.setLayout(receiving_group_layout)
- # Stealth options
-
- # Stealth
- stealth_details = QtWidgets.QLabel(strings._("gui_settings_stealth_option_details", True))
- stealth_details.setWordWrap(True)
- stealth_details.setTextInteractionFlags(QtCore.Qt.TextBrowserInteraction)
- stealth_details.setOpenExternalLinks(True)
- stealth_details.setMinimumSize(stealth_details.sizeHint())
- self.stealth_checkbox = QtWidgets.QCheckBox()
- self.stealth_checkbox.setCheckState(QtCore.Qt.Unchecked)
- self.stealth_checkbox.setText(strings._("gui_settings_stealth_option", True))
- self.stealth_checkbox.clicked.connect(self.stealth_checkbox_clicked_connect)
-
- hidservauth_details = QtWidgets.QLabel(strings._('gui_settings_stealth_hidservauth_string', True))
- hidservauth_details.setWordWrap(True)
- hidservauth_details.setMinimumSize(hidservauth_details.sizeHint())
- hidservauth_details.hide()
-
- self.hidservauth_copy_button = QtWidgets.QPushButton(strings._('gui_copy_hidservauth', True))
- self.hidservauth_copy_button.clicked.connect(self.hidservauth_copy_button_clicked)
- self.hidservauth_copy_button.hide()
-
- # Stealth options layout
- stealth_group_layout = QtWidgets.QVBoxLayout()
- stealth_group_layout.addWidget(stealth_details)
- stealth_group_layout.addWidget(self.stealth_checkbox)
- stealth_group_layout.addWidget(hidservauth_details)
- stealth_group_layout.addWidget(self.hidservauth_copy_button)
- stealth_group = QtWidgets.QGroupBox(strings._("gui_settings_stealth_label", True))
- stealth_group.setLayout(stealth_group_layout)
-
# Automatic updates options
# Autoupdate
@@ -383,7 +382,6 @@ class SettingsDialog(QtWidgets.QDialog):
left_col_layout.addWidget(general_group)
left_col_layout.addWidget(sharing_group)
left_col_layout.addWidget(receiving_group)
- left_col_layout.addWidget(stealth_group)
left_col_layout.addWidget(autoupdate_group)
left_col_layout.addStretch()
diff --git a/share/locale/en.json b/share/locale/en.json
index e8649106..0239037a 100644
--- a/share/locale/en.json
+++ b/share/locale/en.json
@@ -71,9 +71,8 @@
"error_stealth_not_supported": "To create stealth onion services, you need at least Tor 0.2.9.1-alpha (or Tor Browser 6.5) and at least python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare requires at least Tor 0.2.7.1 and at least python3-stem 1.4.0.",
"gui_settings_window_title": "Settings",
- "gui_settings_stealth_label": "Stealth (advanced)",
- "gui_settings_stealth_option": "Create stealth onion services",
- "gui_settings_stealth_option_details": "This makes OnionShare more secure, but also more difficult for the recipient to connect to.
NOTE: currently this only works with v2 onions.
More information.",
+ "gui_settings_stealth_option": "Create stealth onion services (legacy)",
+ "gui_settings_stealth_option_details": "(what's this?)",
"gui_settings_stealth_hidservauth_string": "You have saved the private key for reuse, so your HidServAuth string is also reused.\nClick below to copy the HidServAuth.",
"gui_settings_autoupdate_label": "Check for upgrades",
"gui_settings_autoupdate_option": "Notify me when upgrades are available",
@@ -139,8 +138,9 @@
"gui_server_started_after_timeout": "The server started after your chosen auto-timeout.\nPlease start a new share.",
"gui_server_timeout_expired": "The chosen timeout has already expired.\nPlease update the timeout and then you may start sharing.",
"share_via_onionshare": "Share via OnionShare",
- "gui_use_legacy_v2_onions_checkbox": "Use legacy (v2) .onion addresses?",
- "gui_save_private_key_checkbox": "Use a persistent (v2 only) address\n(unchecking will delete any saved addresses)",
+ "gui_use_legacy_v2_onions_checkbox": "Use legacy addresses",
+ "gui_use_legacy_v2_onions_label": "(what's this?)",
+ "gui_save_private_key_checkbox": "Use a persistent address (legacy)\n(unchecking will delete any saved addresses)",
"gui_share_url_description": "Anyone with this link can download your files using the Tor Browser:
",
"gui_receive_url_description": "Anyone with this link can upload files to your computer using the Tor Browser:
",
"gui_url_label_persistent": "This share will not expire automatically unless a timer is set.
Every share will have the same address (to use one-time addresses, disable persistence in Settings)",