Telemax/.env.example
Folist f28739d860 Прокси для Telegram (SOCKS5/HTTP/HTTPS) + уведомления об ошибках в ТГ
Фаза 1 — ядро прокси:
- src/telegram/proxy.ts: агент из TELEGRAM_PROXY (socks5/http/https), редакция
  кред в логах, override в ./data (перекрывает env), singleton на старте.
- app.ts: агент в Telegraf; upload.ts: то же для скачивания файлов с
  api.telegram.org/file (единственная точка мимо Telegraf). MAX всегда напрямую.
- setup.sh: вопрос про прокси до проверки связи; проверка Telegram, getUpdates и
  setChatPhoto идут через прокси; TELEGRAM_PROXY пишется в .env.

Фаза 2 — веб-панель:
- Эндпоинты GET/POST /api/proxy, /api/proxy/test, /api/system/restart.
- Карточка «Telegram-прокси» в Configuration: тест вживую + сохранить и
  перезапустить (persist в ./data, применение self-restart'ом).

Фаза 3 — ошибки моста в ТГ, без спама:
- src/bridge/errorReporter.ts: троттлинг (10 мин на ключ + 6/час потолок).
- Хуки: потеря/восстановление связи с MAX (дебаунс 60с), сбой доставки в
  Telegram, unhandled/uncaught (общий текст, без утечки токенов).
2026-08-16 20:06:05 +03:00

27 lines
1.7 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 32-byte key, hex-encoded (64 hex chars), used to encrypt the persisted MAX session token.
# Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
MAX_SESSION_KEY=
# Shared secret required on every /api/* route (and the /ws upgrade) except /api/health.
# Generate with: node -e "console.log(require('crypto').randomBytes(24).toString('hex'))"
API_KEY=
PORT=3000
# Веб-панель по умолчанию работает по HTTPS с самоподписанным сертификатом
# (генерируется при первом старте в .data/tls; браузер один раз предупредит о
# неизвестном издателе — это ожидаемо). Раскомментируйте off, только если панель
# стоит за вашим собственным reverse proxy с настоящим TLS.
# PANEL_TLS=off
# Optional — the bridge stays MAX-only (no Telegram forwarding) until both are set.
TELEGRAM_BOT_TOKEN=
TARGET_TELEGRAM_GROUP=
# Опционально: прокси для Telegram, если сервер выходит в Telegram только через него
# (напр. домашний сервер, где прямой доступ к api.telegram.org закрыт). MAX всегда
# идёт напрямую, минуя прокси. Форматы: socks5://[логин:пароль@]хост:порт или
# http://[логин:пароль@]хост:порт. Пусто — без прокси. То же можно задать в веб-панели
# (вкладка Configuration → Telegram-прокси), там значение сохраняется в ./data и
# перекрывает эту переменную.
TELEGRAM_PROXY=