Files
Hermes-Skills/devops/telethon-proxy-docker/references/telethon_proxy_snippet.py
T
Hermes Skills Manager 6770bc9b9d Initial commit: Hermes Agent skills collection
- Trading skills (OKX, dividend, lottery, quantitative)
- Creative skills (ASCII art, diagrams, video)
- Development skills (GitHub, debugging, TDD)
- Research skills (arXiv, blog monitoring)
- Productivity skills (email, documents, notes)
- MCP integration skills
- Custom user skills
2026-07-05 02:31:15 -04:00

38 lines
1.0 KiB
Python

"""Telethon proxy injection snippet — copy into any Telethon-based project."""
import os
import re
import logging
logger = logging.getLogger(__name__)
def get_proxy_config():
"""Parse HTTP_PROXY env var into Telethon-compatible SOCKS5 proxy tuple.
Returns:
tuple: (socks.SOCKS5, host, port) or None if no proxy configured
"""
try:
import socks
except ImportError:
logger.warning("PySocks not installed — proxy disabled. Install with: pip install PySocks")
return None
proxy_addr = os.getenv('HTTP_PROXY') or os.getenv('http_proxy')
if not proxy_addr:
return None
m = re.match(r'https?://([\d.]+):(\d+)', proxy_addr)
if m:
host, port = m.group(1), int(m.group(2))
logger.info(f"Using SOCKS5 proxy: {host}:{port}")
return (socks.SOCKS5, host, port)
logger.warning(f"Could not parse proxy URL: {proxy_addr}")
return None
# Usage:
# proxy = get_proxy_config()
# client = TelegramClient('session', api_id, api_hash, proxy=proxy)