zavetkeybot

Как выдаются личные ключи к прокси

Бот работает только по приглашению. Человек открывает одноразовую ссылку, получает ключ, привязанный к его аккаунту Telegram, и дальше сам управляет им в боте или в веб-кабинете.

  1. Приглашениеодноразовая ссылка
  2. Привязкак Telegram ID
  3. Ключпрофиль WEB-прокси
  4. Кабинетв боте или на сайте
  5. Перевыпускс откатом

Бот не дублирует логику прокси: ключами управляет та же утилита, что и из консоли, а бот вызывает её под общей блокировкой.

01

Ключ создаёт владелец

Для нового человека создаётся ключ со своим лимитом устройств, и бот выдаёт ссылку-приглашение с одноразовым токеном. Тем, кто пишет боту без приглашения, он просто не отвечает.

t.me/zavetkeybot?start=…
02

Ссылка срабатывает один раз

Ключ привязывается по Telegram ID к тому, кто первым открыл приглашение. Пересылать ссылку дальше после этого бесполезно.

03

Кабинет в боте

По /start человек видит свою карточку: ссылку для подключения, состояние прокси и кнопку перевыпуска. Перед перевыпуском бот переспрашивает, потому что старая ссылка перестанет работать.

04

Запасной вход через сайт

Если Telegram не открывается, есть веб-кабинет. Вход в него по личному коду из 16 символов, это 80 бит, и код выдаётся вместе с приглашением. Число попыток входа ограничено, а формы защищены от подделки запросов.

05

Перевыпуск не ломает прокси

Новый секрет сначала записывается в журнал на диск, затем прокси перезапускается, и только после успешного запуска изменение считается сделанным. Если прокси не поднялся, всё откатывается к старому ключу и старые ссылки продолжают работать. Ключи меняются по одному под файловой блокировкой.

06

Лимит устройств с запасом

У каждого ключа свой лимит одновременных сессий. Telegram держит отдельное соединение для каждого аккаунта в приложении, и при переключении старое ещё какое-то время живёт, поэтому лимит считается с запасом.

Python · aiogram 3 · aiohttp · nginx · systemd

Вернуться к проектам