zavetkeybot
Как выдаются личные ключи к прокси
Бот работает только по приглашению. Человек открывает одноразовую ссылку, получает ключ, привязанный к его аккаунту Telegram, и дальше сам управляет им в боте или в веб-кабинете.
- Приглашениеодноразовая ссылка
- Привязкак Telegram ID
- Ключпрофиль WEB-прокси
- Кабинетв боте или на сайте
- Перевыпускс откатом
Бот не дублирует логику прокси: ключами управляет та же утилита, что и из консоли, а бот вызывает её под общей блокировкой.
Ключ создаёт владелец
Для нового человека создаётся ключ со своим лимитом устройств, и бот выдаёт ссылку-приглашение с одноразовым токеном. Тем, кто пишет боту без приглашения, он просто не отвечает.
t.me/zavetkeybot?start=…
Ссылка срабатывает один раз
Ключ привязывается по Telegram ID к тому, кто первым открыл приглашение. Пересылать ссылку дальше после этого бесполезно.
Кабинет в боте
По /start человек видит свою карточку: ссылку для подключения, состояние прокси и кнопку перевыпуска. Перед перевыпуском бот переспрашивает, потому что старая ссылка перестанет работать.
Запасной вход через сайт
Если Telegram не открывается, есть веб-кабинет. Вход в него по личному коду из 16 символов, это 80 бит, и код выдаётся вместе с приглашением. Число попыток входа ограничено, а формы защищены от подделки запросов.
Перевыпуск не ломает прокси
Новый секрет сначала записывается в журнал на диск, затем прокси перезапускается, и только после успешного запуска изменение считается сделанным. Если прокси не поднялся, всё откатывается к старому ключу и старые ссылки продолжают работать. Ключи меняются по одному под файловой блокировкой.
Лимит устройств с запасом
У каждого ключа свой лимит одновременных сессий. Telegram держит отдельное соединение для каждого аккаунта в приложении, и при переключении старое ещё какое-то время живёт, поэтому лимит считается с запасом.
Python · aiogram 3 · aiohttp · nginx · systemd
Вернуться к проектам