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: ХХХ