From 17ec871d7c33a61b6226f74a035064433ac65f29 Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Sun, 5 Apr 2026 18:18:34 +0300 Subject: [PATCH] feat(config): switch proxy to SOCKS5 and add auth options The proxy configuration now uses a SOCKS5 scheme instead of MTProto. The default port is updated to 1080 and optional username/password fields are supported. Docker compose comments are updated accordingly. BREAKING CHANGE: existing MTProto proxy settings (scheme "mtproto", port 443) are no longer supported and must be migrated to SOCKS5. --- config.py | 11 +++++++---- dockercompose.yml | 7 ++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/config.py b/config.py index 741c3a9..29aed5a 100644 --- a/config.py +++ b/config.py @@ -47,15 +47,18 @@ def get_settings() -> dict[str, Any]: log_level = os.getenv("LOG_LEVEL", "INFO") - # Build MTProto proxy config if proxy host is provided + # Build MTProto proxy config if proxy host is provided. + # Telegram MTProto proxy (telegrammessenger/proxy) exposes a SOCKS5 interface, + # so Pyrogram connects to it via SOCKS5 scheme. proxy_host = os.getenv("TG_PROXY_HOST") proxy: dict[str, Any] | None = None if proxy_host: proxy = { - "scheme": "mtproto", + "scheme": "SOCKS5", "hostname": proxy_host, - "port": int(os.getenv("TG_PROXY_PORT") or 443), - "secret": os.getenv("TG_PROXY_SECRET", ""), + "port": int(os.getenv("TG_PROXY_PORT") or 1080), + "username": os.getenv("TG_PROXY_USERNAME") or None, + "password": os.getenv("TG_PROXY_PASSWORD") or None, } return { diff --git a/dockercompose.yml b/dockercompose.yml index 5c95c03..81fa6eb 100644 --- a/dockercompose.yml +++ b/dockercompose.yml @@ -8,9 +8,10 @@ services: environment: TG_API_ID: XXX TG_API_HASH: XXX - # TG_PROXY_HOST: 127.0.0.1 # MTProto proxy host (optional) - # TG_PROXY_PORT: 443 # MTProto proxy port (default: 443) - # TG_PROXY_SECRET: XXX # MTProto proxy secret + # TG_PROXY_HOST: 127.0.0.1 # MTProto proxy host, SOCKS5 interface (optional) + # TG_PROXY_PORT: 1080 # MTProto proxy SOCKS5 port (default: 1080) + # TG_PROXY_USERNAME: XXX # SOCKS5 username (optional) + # TG_PROXY_PASSWORD: XXX # SOCKS5 password (optional) PYROGRAM_BRIDGE_URL: https://pgbridge.example.com API_PORT: 80 TOKEN: ХХХ