Зачем нужен прокси
Если сервер бота находится в сети, где доступ кapi.telegram.org ограничен или заблокирован, весь трафик к Telegram Bot API можно маршрутизировать через SOCKS5 прокси-сервер.
При настройке PROXY_URL все обращения бота к Telegram API проходят через указанный прокси — основной бот, уведомления, платёжные инвойсы, webhook-хендлеры и Cabinet API.
Настройка
Добавьте в.env файл:
Параметры
| Переменная | Описание | По умолчанию |
|---|---|---|
PROXY_URL | URL SOCKS прокси для Telegram API | — |
NALOGO_PROXY_URL | URL SOCKS прокси для nalog.ru (если не задан — используется PROXY_URL) | — |
Поддерживаемые схемы
| Схема | Описание |
|---|---|
socks5:// | SOCKS5 прокси (рекомендуется) |
socks5h:// | SOCKS5 с удалённым DNS-резолвингом |
socks4:// | SOCKS4 прокси |
Формат URL
Как это работает
Бот использует централизованную фабричную функциюcreate_bot() для создания всех экземпляров Bot. Если PROXY_URL задан, каждый экземпляр получает AiohttpSession с SOCKS5-проксированием через библиотеку aiohttp-socks.
Это гарантирует, что:
- Основной бот (polling/webhook) работает через прокси
- Уведомления пользователям и администраторам идут через прокси
- Создание Telegram Stars инвойсов идёт через прокси
- Отправка рассылок, опросов и тикетов идёт через прокси
Учётные данные прокси маскируются в логах при старте бота — вместо
socks5://user:pass@host:port в лог попадёт socks5://***@host:port.Быстрая проверка через SSH
Если у вас есть SSH-доступ к серверу с незаблокированным доступом к Telegram, можно быстро поднять SOCKS5 прокси через SSH-туннель:Проверка работоспособности
После запуска бота с настроеннымPROXY_URL в логах появится:
Прокси для nalog.ru
Если включена интеграция с NaloGO (фискальные чеки ФНС), трафик кlknpd.nalog.ru также можно маршрутизировать через SOCKS-прокси.
Единый прокси для всего
ЕслиNALOGO_PROXY_URL не задан, трафик к nalog.ru автоматически пойдёт через PROXY_URL:
Раздельные прокси
Для Telegram API и nalog.ru можно использовать разные прокси-серверы:Для nalog.ru рекомендуется схема
socks5h:// — DNS-резолвинг выполняется на стороне прокси-сервера, что важно когда lknpd.nalog.ru не резолвится с вашего сервера.Ограничения
- Telegram Login Widget (OIDC JWKS) на странице входа Cabinet обращается к
oauth.telegram.orgнапрямую, без прокси. Это не влияет на безопасность — в этом запросе не передаётся токен бота. - При смене
PROXY_URLтребуется перезапуск бота.
