If no country-specific settings are found, try automatically using obfs4 bridge instead of prompting user to go to Tor Settings

This commit is contained in:
Micah Lee 2021-12-18 17:58:51 -08:00
parent a676551821
commit 4f3313fd20
No known key found for this signature in database
GPG Key ID: 403C2657CD994F73
2 changed files with 7 additions and 29 deletions

View File

@ -95,7 +95,6 @@ class AutoConnectTab(QtWidgets.QWidget):
# Use bridge widget
self.use_bridge_widget = AutoConnectUseBridgeWidget(self.common)
self.use_bridge_widget.connect_clicked.connect(self.use_bridge_connect_clicked)
self.use_bridge_widget.back_clicked.connect(self.back_clicked)
self.use_bridge_widget.open_tor_settings.connect(self.open_tor_settings)
self.use_bridge_widget.hide()
@ -169,21 +168,13 @@ class AutoConnectTab(QtWidgets.QWidget):
self.tor_con.start(self.curr_settings)
def _got_no_bridges(self):
self.use_bridge_widget.progress.hide()
self.use_bridge_widget.progress_label.hide()
# If we got no bridges, try connecting again using built-in obfs4 bridges
self.curr_settings.set("bridges_type", "built-in")
self.curr_settings.set("bridges_builtin_pt", "obfs4")
self.curr_settings.set("bridges_enabled", True)
self.curr_settings.save()
Alert(
self.common,
strings._("gui_autoconnect_circumventing_censorship_no_bridges"),
QtWidgets.QMessageBox.Critical,
)
self.common.log(
"AutoConnectTab",
"_got_no_bridges",
"Could not get bridges for this country. Raising TorSettingsTab",
)
self.open_tor_settings()
self.close_this_tab.emit()
self._got_bridges()
def _censorship_progress_update(self, progress, summary):
self.use_bridge_widget.progress.setValue(int(progress))
@ -235,10 +226,6 @@ class AutoConnectTab(QtWidgets.QWidget):
)
self._got_bridges()
else:
self._censorship_progress_update(
100,
strings._("gui_autoconnect_circumventing_censorship_no_bridges"),
)
self._got_no_bridges()
except (
MeekNotRunning,
@ -246,13 +233,6 @@ class AutoConnectTab(QtWidgets.QWidget):
) as e:
self._got_no_bridges()
def back_clicked(self):
"""
Switch from use bridge widget back to first launch widget
"""
self.use_bridge_widget.hide()
self.first_launch_widget.show()
def check_for_updates(self):
"""
Check for OnionShare updates in a new thread, if enabled.
@ -394,7 +374,6 @@ class AutoConnectUseBridgeWidget(QtWidgets.QWidget):
"""
connect_clicked = QtCore.Signal()
back_clicked = QtCore.Signal()
open_tor_settings = QtCore.Signal()
def __init__(self, common):

View File

@ -56,7 +56,6 @@
"gui_autoconnect_circumventing_censorship_starting_meek": "Starting Meek for domain-fronting",
"gui_autoconnect_circumventing_censorship_requesting_bridges": "Requesting bridges from the Tor Censorship Circumvention API",
"gui_autoconnect_circumventing_censorship_got_bridges": "Got bridges! Trying to reconnect to Tor",
"gui_autoconnect_circumventing_censorship_no_bridges": "OnionShare still couldn't connect to Tor, even after trying to find bridges.<br><br>Please try configuring the Tor Network settings manually.",
"gui_settings_window_title": "Settings",
"gui_settings_autoupdate_label": "Check for new version",
"gui_settings_autoupdate_option": "Notify me when a new version is available",