Автоматический сбор, проверка и публикация рабочих прокси в Telegram
Работает на GitHub Actions — без собственного сервера
| 📡 | Сбор из Telegram-источников, включая темы (Topics) |
| 🧠 | Анализ Secret — приоритет Fake TLS и probe-resistant |
| 🔬 | Реальная проверка через handshake Telethon + ya.ru |
| 🚫 | Фильтр мусора — MAX_PING_MS = 5000 |
| 📊 | Выборка 9 прокси: 3 MTProto + 3 SOCKS5 + 3 WEB |
| 💾 | SQLite-состояние (seen 2ч, published 24ч) |
| 🚀 | Автозапуск каждые 10 минут |
Settings → Secrets and variables → Actions → New repository secret
| Имя | Обяз. | Описание |
|---|---|---|
BOT_TOKEN |
✅ | Токен от @BotFather |
CHAT_ID |
✅ | ID чата (например, -1001234567890) |
TOPIC_ID |
ID темы (если есть). Иначе не добавлять | |
API_ID |
✅ | С my.telegram.org |
API_HASH |
✅ | С my.telegram.org |
TG_SESSION |
✅ | Строка сессии Telethon |
- Введите
API_ID,API_HASH, номер телефона. - Введите код из Telegram.
- Строка придёт в «Избранное» — скопируйте в
TG_SESSION.
⚠️ Сессия = полный доступ к аккаунту. Используйте отдельный аккаунт.
Перешлите любое сообщение из группы боту @userinfobot.
Отправьте сообщение в нужную тему → правый клик → Copy Message Link. Ссылка вида https://t.me/c/1234567890/15/42 — число 15 это TOPIC_ID. Если тем нет — не создавайте секрет.
1. Форк репозитория
2. Добавьте 6 секретов
3. Actions → Proxy Bot → Run workflow
Дальше — сам каждые 10 минут.
| Протокол | Проверка | Приоритет |
|---|---|---|
| 🔐 MTProto Fake TLS | Handshake 3/2 + probe | 🥇 |
| 🔐 MTProto | Handshake 3/2 | 🥈 |
| 🌐 WEB | Handshake 3/2 | 🥉 |
| 🧦 SOCKS5 | проверка на доступ к Telegram API | Обычный |
9 прокси за запуск: 3 MTProto + 3 SOCKS5 + 3 WEB. Чего не хватает — добирается MTProto.
bot.py
| Параметр | По умолчанию |
|---|---|
PUBLISH_COUNT |
9 |
TARGET_MT / TARGET_SOCKS5 / TARGET_WEB |
3 / 3 / 3 |
CONCURRENCY |
20 |
MAX_MT_CHECK |
400 |
MAX_SOCKS5_CHECK |
100 |
checker.py
| Параметр | По умолчанию |
|---|---|
MAX_PING_MS |
5000 |
MT_ATTEMPTS / MT_REQUIRED |
3 / 2 |
Расписание в .github/workflows/run.yml:
- cron: '*/10 * * * *'SQLite proxy_state.db (в actions/cache, не в git):
| Таблица | TTL |
|---|---|
seen_proxies |
2 часа |
published_proxies |
24 часа |
BOT_TOKEN invalid
Проверьте формат123456:ABC...
CHAT_ADMIN_REQUIRED
Сделайте бота администратором группы.Message thread not found
Уберите секретTOPIC_ID или проверьте ID темы.
AuthKeyUnregisteredError
ПерегенерируйтеTG_SESSION через SSG.
Cron не срабатывает
Пустой коммит вREADME.md + включите workflow в Actions.
SOCKS5 / WEB не публикуются
Норма — их мало живых в открытых источниках.proxy-bot/
├── .github/workflows/run.yml # Cron + запуск
├── bot.py # Основной цикл
├── sources.py # Парсер Telegram-источников
├── checker.py # Проверка + probe test
├── formatter.py # Оформление сообщений
├── state.py # SQLite-состояние
├── tests/ # Юнит-тесты (python -m unittest discover -s tests -t .)
├── requirements.txt # Зависимости
├── LICENSE # MIT
└── README.md