remove cf priority flag, cf worker ui setup

This commit is contained in:
Flowseal
2026-05-16 11:14:23 +03:00
parent 884fffcc2f
commit 6f02fc1c46
9 changed files with 203 additions and 93 deletions

View File

@@ -132,15 +132,16 @@ async def do_fallback(reader, writer, relay_init, label,
ctx: CryptoCtx, splitter=None):
fallback_dst = DC_DEFAULT_IPS.get(dc)
use_cf = proxy_config.fallback_cfproxy
cf_first = proxy_config.fallback_cfproxy_priority
worker_domain = proxy_config.cfproxy_worker_domain
methods: List[str] = ['tcp']
methods: List[str] = []
if worker_domain and fallback_dst:
methods.append('cf_worker')
if use_cf:
methods.insert(0 if cf_first else 1, 'cf')
if worker_domain:
methods.insert(0, 'cf_worker')
methods.append('cf')
if fallback_dst:
methods.append('tcp')
for method in methods:
if method == 'cf_worker' and fallback_dst:

View File

@@ -58,7 +58,6 @@ class ProxyConfig:
buffer_size: int = 256 * 1024
pool_size: int = 4
fallback_cfproxy: bool = True
fallback_cfproxy_priority: bool = True
cfproxy_user_domain: str = ''
cfproxy_worker_domain: str = ''
fake_tls_domain: str = ''

View File

@@ -587,9 +587,8 @@ async def _run(stop_event: Optional[asyncio.Event] = None):
ip = proxy_config.dc_redirects.get(dc)
log.info(" DC%d: %s", dc, ip)
if proxy_config.fallback_cfproxy:
prio = 'CF first' if proxy_config.fallback_cfproxy_priority else 'TCP first'
user_domain = "user" if proxy_config.cfproxy_user_domain else "auto"
log.info(" CF proxy: enabled (%s | %s)", prio, user_domain)
log.info(" CF proxy: enabled (%s)", user_domain)
if proxy_config.cfproxy_worker_domain:
log.info(" CF worker: enabled (%s)",
proxy_config.cfproxy_worker_domain)
@@ -654,16 +653,6 @@ def run_proxy(stop_event: Optional[asyncio.Event] = None):
def main():
def _parse_bool(value: str) -> bool:
lowered = value.strip().lower()
if lowered == 'true':
return True
if lowered == 'false':
return False
raise argparse.ArgumentTypeError(
"Expected boolean value: true or false",
)
ap = argparse.ArgumentParser(
description='Telegram MTProto WebSocket Bridge Proxy')
ap.add_argument('--port', type=int, default=1443,
@@ -696,8 +685,6 @@ def main():
'(tried before other fallback methods)')
ap.add_argument('--no-cfproxy', action='store_true',
help='Disable Cloudflare proxy fallback')
ap.add_argument('--cfproxy-priority', type=_parse_bool, default=True,
help='Try cfproxy before tcp fallback (default: true)')
ap.add_argument('--fake-tls-domain', type=str, default='',
metavar='DOMAIN',
help='Enable Fake TLS (ee-secret) masking with the given '
@@ -737,7 +724,6 @@ def main():
proxy_config.buffer_size = max(4, args.buf_kb) * 1024
proxy_config.pool_size = max(0, args.pool_size)
proxy_config.fallback_cfproxy = not args.no_cfproxy
proxy_config.fallback_cfproxy_priority = args.cfproxy_priority
proxy_config.cfproxy_user_domain = args.cfproxy_domain.strip()
proxy_config.cfproxy_worker_domain = args.cfproxy_worker_domain.strip()
proxy_config.fake_tls_domain = args.fake_tls_domain.strip()