mirror of
https://github.com/onionshare/onionshare.git
synced 2025-01-10 03:37:28 -03:00
React to Meek client binary not found
This commit is contained in:
parent
3a715346af
commit
6f0674afd8
2 changed files with 26 additions and 7 deletions
|
@ -72,6 +72,12 @@ class Meek(object):
|
||||||
queue.put(line)
|
queue.put(line)
|
||||||
out.close()
|
out.close()
|
||||||
|
|
||||||
|
# Abort early if we can't find the Meek client
|
||||||
|
# common.get_tor_paths() has already checked it's a file
|
||||||
|
# so just abort if it's a NoneType object
|
||||||
|
if self.meek_client_file_path is None:
|
||||||
|
raise MeekNotFound()
|
||||||
|
|
||||||
# Start the Meek Client as a subprocess.
|
# Start the Meek Client as a subprocess.
|
||||||
|
|
||||||
if self.common.platform == "Windows":
|
if self.common.platform == "Windows":
|
||||||
|
@ -179,3 +185,8 @@ class MeekNotRunning(Exception):
|
||||||
We were unable to start Meek or obtain the port
|
We were unable to start Meek or obtain the port
|
||||||
number it started on, in order to do domain fronting.
|
number it started on, in order to do domain fronting.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
class MeekNotFound(Exception):
|
||||||
|
"""
|
||||||
|
We were unable to find the Meek Client binary.
|
||||||
|
"""
|
||||||
|
|
|
@ -26,7 +26,7 @@ import json
|
||||||
|
|
||||||
from . import strings
|
from . import strings
|
||||||
from .gui_common import GuiCommon
|
from .gui_common import GuiCommon
|
||||||
from onionshare_cli.meek import MeekNotRunning
|
from onionshare_cli.meek import MeekNotFound
|
||||||
|
|
||||||
|
|
||||||
class MoatDialog(QtWidgets.QDialog):
|
class MoatDialog(QtWidgets.QDialog):
|
||||||
|
@ -234,12 +234,19 @@ class MoatThread(QtCore.QThread):
|
||||||
def run(self):
|
def run(self):
|
||||||
|
|
||||||
# Start Meek so that we can do domain fronting
|
# Start Meek so that we can do domain fronting
|
||||||
self.meek.start()
|
try:
|
||||||
|
self.meek.start()
|
||||||
|
except MeekNotFound:
|
||||||
|
self.common.log("MoatThread", "run", f"Could not find the Meek Client")
|
||||||
|
self.bridgedb_error.emit()
|
||||||
|
return
|
||||||
|
|
||||||
# We should only fetch bridges if we can domain front,
|
# We should only fetch bridges if we can domain front,
|
||||||
# but we can override this in local-only mode.
|
# but we can override this in local-only mode.
|
||||||
if not self.meek.meek_proxies and not self.common.gui.local_only:
|
if not self.meek.meek_proxies and not self.common.gui.local_only:
|
||||||
self.common.log("MoatThread", "run", f"Could not identify meek proxies to make request")
|
self.common.log(
|
||||||
|
"MoatThread", "run", f"Could not identify meek proxies to make request"
|
||||||
|
)
|
||||||
self.bridgedb_error.emit()
|
self.bridgedb_error.emit()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -256,15 +263,14 @@ class MoatThread(QtCore.QThread):
|
||||||
{
|
{
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"type": "client-transports",
|
"type": "client-transports",
|
||||||
"supported": [
|
"supported": ["obfs4", "snowflake"],
|
||||||
"obfs4",
|
|
||||||
"snowflake",
|
|
||||||
],
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
self.meek.cleanup()
|
self.meek.cleanup()
|
||||||
|
|
||||||
if r.status_code != 200:
|
if r.status_code != 200:
|
||||||
self.common.log("MoatThread", "run", f"status_code={r.status_code}")
|
self.common.log("MoatThread", "run", f"status_code={r.status_code}")
|
||||||
self.bridgedb_error.emit()
|
self.bridgedb_error.emit()
|
||||||
|
@ -317,7 +323,9 @@ class MoatThread(QtCore.QThread):
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
self.meek.cleanup()
|
self.meek.cleanup()
|
||||||
|
|
||||||
if r.status_code != 200:
|
if r.status_code != 200:
|
||||||
self.common.log("MoatThread", "run", f"status_code={r.status_code}")
|
self.common.log("MoatThread", "run", f"status_code={r.status_code}")
|
||||||
self.bridgedb_error.emit()
|
self.bridgedb_error.emit()
|
||||||
|
|
Loading…
Reference in a new issue