Телеграм-бот · Debian 12 и 13

Свой VPN на своем сервере за одно сообщение

Арендуйте сервер, пришлите Телеграм-боту IP и пароль, и он сам закроет сервер, поставит 3x-ui и настроит VLESS + Reality. Ключи и подписки для клиентов тоже выдает бот.

Так это выглядит в боте

203.0.113.7:пароль-root

ssh перенесен на случайный порт, вход только по ключу. Фаервол включен, система обновлена.

3x-ui установлена: VLESS + XHTTP + Reality на 443 порту.

Выпустить ключ

Готово. Вот ссылка на подписку для клиента.

Что вы получаете

VLESS + XHTTP + Reality

Подключение на 443 порту. Цель для Reality бот подбирает сам.

Сервер маскировки

По желанию. Клиенты подключаются к нему, он пересылает трафик на панель, и адрес панели нигде не светится.

Сертификаты

Домен с Let’s Encrypt для панели и подписки. Без домена бот выпустит короткий сертификат на IP и будет продлевать его сам.

Ключи без ограничений

Ни по трафику, ни по сроку, ни по устройствам. Подписки для v2rayN, Hiddify, Happ и v2rayNG. По каждому ключу видно трафик и когда клиент был онлайн.

Прокси и DNS

На выходе свой прокси или Cloudflare WARP. DNS на сервере шифруется: DNS-over-TLS, а если его режут, запасной DNS-over-HTTPS.

Присмотр

Раз в сутки бот проверяет панель, Xray и сертификат подписки и пишет, если что-то сломалось или починилось.

Как начать

  1. Арендуйте сервер

    Любой хостер, Debian 12 или 13. Нужны только IP и пароль root.

  2. Пришлите боту ip:пароль

    Бот переведет ssh на случайный порт со входом по ключу, включит фаервол, обновит систему и поставит 3x-ui.

  3. Выпустите ключ

    Добавьте ссылку на подписку в клиент, и VPN работает.

Под капотом

Serverus

Почти вся работа бота сводится к одному: взять голый Debian, закрыть его и управлять им по ключу. Этим занимается serverus, пакет на ansible внутри проекта. VPN лишь одна из задач поверх него, вторая это docker-сервер.

  • Docker, Caddy и автообновления системы, сертификаты для доменов выпускает Caddy
  • Приложение это папка с docker-compose.yaml, .env и caddy.conf, архивом или по файлам
  • Перед применением разница и предупреждения по файлам, в том числе если домен не указывает на сервер
  • Проверка compose, портов и конфига Caddy. При ошибке приложение не трогается, пересоздаются только изменившиеся сервисы
  • Откат на предыдущую версию файлов, старт, стоп, рестарт и логи по сервисам
  • Логин в приватный docker registry и гостевой доступ к volumes для заливки данных

Бот держит сам себя

Прод MyPoint VPN развернут как приложение Serverus на docker-сервере, которым управляет этот же бот. Что умеет бот, решает интерфейс в админке: «MyPoint VPN», «Serverus» или оба сразу.