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")
|
network_type = network.get("type", "unknown")
|
||||||
if network_type == "simplex":
|
if network_type == "simplex":
|
||||||
simplex_dir = os.path.join(data_dir, "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(
|
daemons.append(
|
||||||
startSimplexClient(
|
startSimplexClient(
|
||||||
network["client_path"],
|
network["client_path"],
|
||||||
@@ -340,6 +351,8 @@ def runClient(
|
|||||||
network["ws_port"],
|
network["ws_port"],
|
||||||
logger,
|
logger,
|
||||||
swap_client.delay_event,
|
swap_client.delay_event,
|
||||||
|
socks_proxy=socks_proxy,
|
||||||
|
log_level=log_level,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
pid = daemons[-1].handle.pid
|
pid = daemons[-1].handle.pid
|
||||||
|
|||||||
@@ -70,6 +70,8 @@ def startSimplexClient(
|
|||||||
websocket_port: int,
|
websocket_port: int,
|
||||||
logger,
|
logger,
|
||||||
delay_event,
|
delay_event,
|
||||||
|
socks_proxy=None,
|
||||||
|
log_level: str = "debug",
|
||||||
) -> Daemon:
|
) -> Daemon:
|
||||||
logger.info("Starting Simplex client")
|
logger.info("Starting Simplex client")
|
||||||
if not os.path.exists(data_path):
|
if not os.path.exists(data_path):
|
||||||
@@ -78,13 +80,16 @@ def startSimplexClient(
|
|||||||
db_path = os.path.join(data_path, "simplex_client_data")
|
db_path = os.path.join(data_path, "simplex_client_data")
|
||||||
args = [bin_path, "-d", db_path, "-s", server_address, "-p", str(websocket_port)]
|
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"):
|
if not os.path.exists(db_path + "_chat.db"):
|
||||||
# Need to set initial profile through CLI
|
# Need to set initial profile through CLI
|
||||||
# TODO: Must be a better way?
|
# 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)
|
initSimplexClient(init_args, logger, delay_event)
|
||||||
|
|
||||||
args += ["-l", "debug"]
|
args += ["-l", log_level]
|
||||||
|
|
||||||
opened_files = []
|
opened_files = []
|
||||||
stdout_dest = open(
|
stdout_dest = open(
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ SIMPLEX_SERVER_ADDRESS = os.getenv(
|
|||||||
SIMPLEX_WS_PORT = int(os.getenv("SIMPLEX_WS_PORT", "5225"))
|
SIMPLEX_WS_PORT = int(os.getenv("SIMPLEX_WS_PORT", "5225"))
|
||||||
SIMPLEX_GROUP_LINK = os.getenv("SIMPLEX_GROUP_LINK", "")
|
SIMPLEX_GROUP_LINK = os.getenv("SIMPLEX_GROUP_LINK", "")
|
||||||
SIMPLEX_CLIENT_PATH = os.path.expanduser(os.getenv("SIMPLEX_CLIENT_PATH", ""))
|
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 = logging.getLogger()
|
||||||
logger.level = logging.DEBUG
|
logger.level = logging.DEBUG
|
||||||
@@ -497,15 +498,17 @@ def modifyConfig(test_path, i):
|
|||||||
settings = json.load(fp)
|
settings = json.load(fp)
|
||||||
|
|
||||||
if SIMPLEX_CLIENT_PATH != "":
|
if SIMPLEX_CLIENT_PATH != "":
|
||||||
settings["networks"] = [
|
simplex_options = {
|
||||||
{
|
"type": "simplex",
|
||||||
"type": "simplex",
|
"server_address": SIMPLEX_SERVER_ADDRESS,
|
||||||
"server_address": SIMPLEX_SERVER_ADDRESS,
|
"client_path": SIMPLEX_CLIENT_PATH,
|
||||||
"client_path": SIMPLEX_CLIENT_PATH,
|
"ws_port": SIMPLEX_WS_PORT + i,
|
||||||
"ws_port": SIMPLEX_WS_PORT + i,
|
"group_link": SIMPLEX_GROUP_LINK,
|
||||||
"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:
|
with open(config_path, "w") as fp:
|
||||||
json.dump(settings, fp, indent=4)
|
json.dump(settings, fp, indent=4)
|
||||||
|
|||||||
Reference in New Issue
Block a user