fix(runtime): accept advanced logging and socket tuning settings
This commit is contained in:
parent
e50ea25d91
commit
4f65813785
|
|
@ -17,6 +17,13 @@ DEFAULT_CONFIG = {
|
||||||
"port": 1080,
|
"port": 1080,
|
||||||
"host": "127.0.0.1",
|
"host": "127.0.0.1",
|
||||||
"dc_ip": ["2:149.154.167.220", "4:149.154.167.220"],
|
"dc_ip": ["2:149.154.167.220", "4:149.154.167.220"],
|
||||||
|
"upstream_mode": "telegram_ws_direct",
|
||||||
|
"relay_url": "",
|
||||||
|
"relay_token": "",
|
||||||
|
"direct_ws_timeout_seconds": 10.0,
|
||||||
|
"log_max_mb": 5,
|
||||||
|
"buf_kb": 256,
|
||||||
|
"pool_size": 4,
|
||||||
"verbose": False,
|
"verbose": False,
|
||||||
"log_max_mb": 5,
|
"log_max_mb": 5,
|
||||||
"buf_kb": 256,
|
"buf_kb": 256,
|
||||||
|
|
@ -125,7 +132,11 @@ class ProxyAppRuntime:
|
||||||
self.on_error(text)
|
self.on_error(text)
|
||||||
|
|
||||||
def _run_proxy_thread(self, port: int, dc_opt: Dict[int, str],
|
def _run_proxy_thread(self, port: int, dc_opt: Dict[int, str],
|
||||||
host: str = "127.0.0.1"):
|
host: str = "127.0.0.1",
|
||||||
|
upstream_mode: str = "telegram_ws_direct",
|
||||||
|
relay_url: str = "",
|
||||||
|
relay_token: str = "",
|
||||||
|
direct_ws_timeout_seconds: float = 10.0):
|
||||||
loop = _asyncio.new_event_loop()
|
loop = _asyncio.new_event_loop()
|
||||||
_asyncio.set_event_loop(loop)
|
_asyncio.set_event_loop(loop)
|
||||||
stop_ev = _asyncio.Event()
|
stop_ev = _asyncio.Event()
|
||||||
|
|
@ -133,7 +144,12 @@ class ProxyAppRuntime:
|
||||||
|
|
||||||
try:
|
try:
|
||||||
loop.run_until_complete(
|
loop.run_until_complete(
|
||||||
self.run_proxy(port, dc_opt, stop_event=stop_ev, host=host))
|
self.run_proxy(
|
||||||
|
port, dc_opt, stop_event=stop_ev, host=host,
|
||||||
|
upstream_mode=upstream_mode,
|
||||||
|
relay_url=relay_url or None,
|
||||||
|
relay_token=relay_token,
|
||||||
|
direct_ws_timeout_seconds=direct_ws_timeout_seconds))
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
self.log.error("Proxy thread crashed: %s", exc)
|
self.log.error("Proxy thread crashed: %s", exc)
|
||||||
if ("10048" in str(exc) or
|
if ("10048" in str(exc) or
|
||||||
|
|
@ -157,6 +173,15 @@ class ProxyAppRuntime:
|
||||||
port = active_cfg.get("port", self.default_config["port"])
|
port = active_cfg.get("port", self.default_config["port"])
|
||||||
host = active_cfg.get("host", self.default_config["host"])
|
host = active_cfg.get("host", self.default_config["host"])
|
||||||
dc_ip_list = active_cfg.get("dc_ip", self.default_config["dc_ip"])
|
dc_ip_list = active_cfg.get("dc_ip", self.default_config["dc_ip"])
|
||||||
|
upstream_mode = active_cfg.get(
|
||||||
|
"upstream_mode", self.default_config["upstream_mode"])
|
||||||
|
relay_url = active_cfg.get(
|
||||||
|
"relay_url", self.default_config["relay_url"])
|
||||||
|
relay_token = active_cfg.get(
|
||||||
|
"relay_token", self.default_config["relay_token"])
|
||||||
|
direct_ws_timeout_seconds = active_cfg.get(
|
||||||
|
"direct_ws_timeout_seconds",
|
||||||
|
self.default_config["direct_ws_timeout_seconds"])
|
||||||
buf_kb = active_cfg.get("buf_kb", self.default_config["buf_kb"])
|
buf_kb = active_cfg.get("buf_kb", self.default_config["buf_kb"])
|
||||||
pool_size = active_cfg.get(
|
pool_size = active_cfg.get(
|
||||||
"pool_size", self.default_config["pool_size"])
|
"pool_size", self.default_config["pool_size"])
|
||||||
|
|
@ -174,7 +199,15 @@ class ProxyAppRuntime:
|
||||||
tg_ws_proxy._WS_POOL_SIZE = max(0, pool_size)
|
tg_ws_proxy._WS_POOL_SIZE = max(0, pool_size)
|
||||||
self._proxy_thread = self.thread_factory(
|
self._proxy_thread = self.thread_factory(
|
||||||
target=self._run_proxy_thread,
|
target=self._run_proxy_thread,
|
||||||
args=(port, dc_opt, host),
|
args=(
|
||||||
|
port,
|
||||||
|
dc_opt,
|
||||||
|
host,
|
||||||
|
upstream_mode,
|
||||||
|
relay_url,
|
||||||
|
relay_token,
|
||||||
|
direct_ws_timeout_seconds,
|
||||||
|
),
|
||||||
daemon=True,
|
daemon=True,
|
||||||
name="proxy")
|
name="proxy")
|
||||||
self._proxy_thread.start()
|
self._proxy_thread.start()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue