Skip to main content

Зачем нужен прокси

Если сервер бота находится в сети, где доступ к api.telegram.org ограничен или заблокирован, весь трафик к Telegram Bot API можно маршрутизировать через SOCKS5 прокси-сервер. При настройке PROXY_URL все обращения бота к Telegram API проходят через указанный прокси — основной бот, уведомления, платёжные инвойсы, webhook-хендлеры и Cabinet API.

Настройка

Добавьте в .env файл:
Перезапустите бот для применения настроек.
Поддерживаются только SOCKS5, SOCKS5h и SOCKS4 протоколы. HTTP/HTTPS прокси не поддерживаются — при их использовании токен бота передаётся в URL запроса и может быть перехвачен прокси-сервером.

Параметры

Поддерживаемые схемы

Формат 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-туннель:
SSH-туннель подходит для тестирования. Для продакшена рекомендуется использовать выделенный SOCKS5 прокси-сервер (например, Dante, 3proxy) или VPN.

Проверка работоспособности

После запуска бота с настроенным PROXY_URL в логах появится:
Если прокси недоступен, бот не сможет подключиться к Telegram API и в логах будет ошибка соединения.

Прокси для 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 требуется перезапуск бота.