mirror of
https://github.com/basicswap/basicswap.git
synced 2025-11-05 10:28:10 +01:00
Add socks-proxy option for simplex-chat.
This commit is contained in:
@@ -332,6 +332,17 @@ def runClient(
|
||||
network_type = network.get("type", "unknown")
|
||||
if network_type == "simplex":
|
||||
simplex_dir = os.path.join(data_dir, "simplex")
|
||||
|
||||
log_level = "debug" if swap_client.debug else "info"
|
||||
|
||||
socks_proxy = None
|
||||
if "socks_proxy_override" in network:
|
||||
socks_proxy = network["socks_proxy_override"]
|
||||
elif swap_client.use_tor_proxy:
|
||||
socks_proxy = (
|
||||
f"{swap_client.tor_proxy_host}:{swap_client.tor_proxy_port}"
|
||||
)
|
||||
|
||||
daemons.append(
|
||||
startSimplexClient(
|
||||
network["client_path"],
|
||||
@@ -340,6 +351,8 @@ def runClient(
|
||||
network["ws_port"],
|
||||
logger,
|
||||
swap_client.delay_event,
|
||||
socks_proxy=socks_proxy,
|
||||
log_level=log_level,
|
||||
)
|
||||
)
|
||||
pid = daemons[-1].handle.pid
|
||||
|
||||
@@ -70,6 +70,8 @@ def startSimplexClient(
|
||||
websocket_port: int,
|
||||
logger,
|
||||
delay_event,
|
||||
socks_proxy=None,
|
||||
log_level: str = "debug",
|
||||
) -> Daemon:
|
||||
logger.info("Starting Simplex client")
|
||||
if not os.path.exists(data_path):
|
||||
@@ -78,13 +80,16 @@ def startSimplexClient(
|
||||
db_path = os.path.join(data_path, "simplex_client_data")
|
||||
args = [bin_path, "-d", db_path, "-s", server_address, "-p", str(websocket_port)]
|
||||
|
||||
if socks_proxy:
|
||||
args += ["--socks-proxy", socks_proxy]
|
||||
|
||||
if not os.path.exists(db_path + "_chat.db"):
|
||||
# Need to set initial profile through CLI
|
||||
# TODO: Must be a better way?
|
||||
init_args = args + ["-e", "/help"] # Run command ro exit client
|
||||
init_args = args + ["-e", "/help"] # Run command to exit client
|
||||
initSimplexClient(init_args, logger, delay_event)
|
||||
|
||||
args += ["-l", "debug"]
|
||||
args += ["-l", log_level]
|
||||
|
||||
opened_files = []
|
||||
stdout_dest = open(
|
||||
|
||||
@@ -101,6 +101,7 @@ SIMPLEX_SERVER_ADDRESS = os.getenv(
|
||||
SIMPLEX_WS_PORT = int(os.getenv("SIMPLEX_WS_PORT", "5225"))
|
||||
SIMPLEX_GROUP_LINK = os.getenv("SIMPLEX_GROUP_LINK", "")
|
||||
SIMPLEX_CLIENT_PATH = os.path.expanduser(os.getenv("SIMPLEX_CLIENT_PATH", ""))
|
||||
SIMPLEX_SERVER_SOCKS_PROXY = os.getenv("SIMPLEX_SERVER_SOCKS_PROXY", "")
|
||||
|
||||
logger = logging.getLogger()
|
||||
logger.level = logging.DEBUG
|
||||
@@ -497,15 +498,17 @@ def modifyConfig(test_path, i):
|
||||
settings = json.load(fp)
|
||||
|
||||
if SIMPLEX_CLIENT_PATH != "":
|
||||
settings["networks"] = [
|
||||
{
|
||||
simplex_options = {
|
||||
"type": "simplex",
|
||||
"server_address": SIMPLEX_SERVER_ADDRESS,
|
||||
"client_path": SIMPLEX_CLIENT_PATH,
|
||||
"ws_port": SIMPLEX_WS_PORT + i,
|
||||
"group_link": SIMPLEX_GROUP_LINK,
|
||||
},
|
||||
]
|
||||
}
|
||||
if SIMPLEX_SERVER_SOCKS_PROXY != "":
|
||||
simplex_options["socks_proxy_override"] = SIMPLEX_SERVER_SOCKS_PROXY
|
||||
|
||||
settings["networks"] = [simplex_options]
|
||||
|
||||
with open(config_path, "w") as fp:
|
||||
json.dump(settings, fp, indent=4)
|
||||
|
||||
Reference in New Issue
Block a user