HFK Routers

/projects/hfk_routers/images/HFK_Routers-Logo3.jpg

HFK Routers — это Telegram-бот, который предоставляет пользователям удобный способ оплаты подписки на доступ к прокси-серверу через перепрошитый роутер, приобретённый в HFK Shop.

Что даёт

Бот связывает купленный в HFK Shop роутер с Telegram-аккаунтом пользователя, позволяя мгновенно активировать VPN-доступ и управлять подпиской без техподдержки. Всё, что нужно — ввести короткий код CID из комплекта.


Как работает

Начнём с того, что бот умеет разделять админа и клиента по Telegram ID, задаваемому в переменной окружения. Пройдёмся по цепочке событий от добавления CID в бд до фактического ввода этого CID пользователем.

  1. Админ может добавлять CID в бд с помощью кнопки. CID генерируется следующим образом: с помощью библиотеки Python uuid создаётся UUID, который затем кодируется в формат base58 и обрезается до 14 символов с начала. Данный подход был выбран осознанно, поскольку:

    • UUID уникален почти со 100%-вероятностью;
    • Кодировка base58 не содержит схожих символов, таких как “l” и “I” или “0” и “O”. Тем не менее, после кодировки UUID и последующего укорачивания результата уникальность стремительно падает, поэтому перед добавлением в бд происходит проверка на совпадение.
      После успешного взаимодействия с базой данных, бот отправляет POST-запрос на сервер с предустановленной панелью 3x-ui с целью добавить пользователя в подключение (inbound 3x-ui). В качестве subscription_id устанавливается ранее созданный CID, что и позволяет связать роутер с клиентом (client 3x-ui).
  2. Далее админ должен вручную добавить ссылку на подписку (subscription 3x-ui) в перепрошитый роутер и активировать работу ПО. Лучшим вариантом будет поднять reverse-proxy (например, этот), чтобы в случае потери сервера не пришлось менять ссылки вручную в каждом роутере.

  3. Когда клиент получает роутер, он переходит в Telegram-бот и вводит имеющийся CID, идущий в комплекте. В случае совпадения введённого значения и какого-либо CID из базы данных, Telegram ID пользователя связывается с этим CID, а подписка автоматически активируется в качестве пробного периода на 30 дней. Если же совпадения не произошло, пользователь не сможет повторно отправить CID в течение 30 секунд с последнего сообщения. Сделано это для того, чтобы предотвратить попытки брутфорса.

  4. Теперь клиент может выбирать период, на который он хочет продлить подписку, и оплатить её через YooMoney.


Стек технологий

  • 🐍 Python + Aiogram 3
  • 🧠 PostgreSQL + Redis
  • 🐳 Docker + Nginx
  • ⚙️ Alembic (миграции БД)
  • 🔗 Webhook, anti-spam

Основные фичи

✅ Полностью автоматическая активация роутеров через Telegram

✅ Безопасный, приватный и мгновенный доступ к прокси

✅ Защита от спама и брутфорса (анти-флуд)

Webhook — Более быстрый и безопасный способ получать апдейты от Telegram


Исходный код

В открытом доступе сейчас лежат только наработки, готовый исходный код будет выложен позже.


Ссылки

Готовый бот: https://t.me/hfk_routers_robot GitHub-репозиторий проекта: https://github.com/NoisyCake/DEMO_hfk_routers_bot
Автор: https://t.me/noisycake
ТКГ: https://t.me/hfk_blog
Teletype: https://teletype.in/@noisycake

Поддержать автора
NoisyCake cloudtipscloudtips
0%