diff options
-rw-r--r-- | cli/onionshare_cli/censorship.py | 17 | ||||
-rw-r--r-- | cli/onionshare_cli/meek.py | 18 | ||||
-rw-r--r-- | desktop/onionshare/connection_tab.py | 4 | ||||
-rw-r--r-- | desktop/onionshare/moat_dialog.py | 12 |
4 files changed, 27 insertions, 24 deletions
diff --git a/cli/onionshare_cli/censorship.py b/cli/onionshare_cli/censorship.py index 4b1bb040..9268f578 100644 --- a/cli/onionshare_cli/censorship.py +++ b/cli/onionshare_cli/censorship.py @@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. """ import requests -from .meek import MeekNotRunning - class CensorshipCircumventionError(Exception): """ @@ -47,15 +45,12 @@ class CensorshipCircumvention(object): self.api_proxies = {} if meek: self.meek = meek - if not self.meek.meek_proxies: - raise MeekNotRunning() - else: - self.common.log( - "CensorshipCircumvention", - "__init__", - "Using Meek with CensorshipCircumvention API", - ) - self.api_proxies = self.meek.meek_proxies + self.common.log( + "CensorshipCircumvention", + "__init__", + "Using Meek with CensorshipCircumvention API", + ) + self.api_proxies = self.meek.meek_proxies if onion: self.onion = onion if not self.onion.is_authenticated: diff --git a/cli/onionshare_cli/meek.py b/cli/onionshare_cli/meek.py index 777c0ab6..81ef6c6e 100644 --- a/cli/onionshare_cli/meek.py +++ b/cli/onionshare_cli/meek.py @@ -69,7 +69,7 @@ class Meek(object): if self.meek_client_file_path is None or not os.path.exists( self.meek_client_file_path ): - raise MeekNotFound() + raise MeekNotFound(self.common) # Start the Meek Client as a subprocess. self.common.log("Meek", "start", "Starting meek client") @@ -128,7 +128,7 @@ class Meek(object): if "CMETHOD-ERROR" in line: self.cleanup() - raise MeekNotRunning() + raise MeekNotRunning(self.common, line) break if self.meek_port: @@ -137,9 +137,8 @@ class Meek(object): "https": f"socks5h://{self.meek_host}:{self.meek_port}", } else: - self.common.log("Meek", "start", "Could not obtain the meek port") self.cleanup() - raise MeekNotRunning() + raise MeekNotRunning(self.common, "Could not obtain the meek port") def cleanup(self): """ @@ -182,8 +181,19 @@ class MeekNotRunning(Exception): number it started on, in order to do domain fronting. """ + def __init__(self, common, info=None): + self.common = common + msg = "Meek experienced an error starting up" + if info: + msg = msg + f": {info}" + self.common.log("MeekNotRunning", "__init__", msg) + class MeekNotFound(Exception): """ We were unable to find the Meek Client binary. """ + + def __init__(self, common): + self.common = common + self.common.log("MeekNotFound", "__init__", "Could not find the meek binary") diff --git a/desktop/onionshare/connection_tab.py b/desktop/onionshare/connection_tab.py index 0dedf55d..d7b49563 100644 --- a/desktop/onionshare/connection_tab.py +++ b/desktop/onionshare/connection_tab.py @@ -254,7 +254,9 @@ class AutoConnectTab(QtWidgets.QWidget): "use_bridge_connect_clicked", "Falling back to trying default bridges provided by the Censorship Circumvention API", ) - bridge_settings = self.censorship_circumvention.request_default_bridges() + bridge_settings = ( + self.censorship_circumvention.request_default_bridges() + ) self.common.gui.meek.cleanup() diff --git a/desktop/onionshare/moat_dialog.py b/desktop/onionshare/moat_dialog.py index fd04ee9c..db4bdf29 100644 --- a/desktop/onionshare/moat_dialog.py +++ b/desktop/onionshare/moat_dialog.py @@ -236,14 +236,10 @@ class MoatThread(QtCore.QThread): # Start Meek so that we can do domain fronting try: self.meek.start() - except MeekNotFound: - self.common.log("MoatThread", "run", f"Could not find meek-client") - self.bridgedb_error.emit() - return - except MeekNotRunning: - self.common.log( - "MoatThread", "run", f"Ran meek-client, but there was an error" - ) + except ( + MeekNotFound, + MeekNotRunning, + ): self.bridgedb_error.emit() return |