Как я построил VPN-сервис на VLESS+REALITY для 670 пользователей и что из этого вышло
TL;DR: Поднял VPN-инфраструктуру на VLESS+REALITY с нуля. Telegram-бот + мини-приложение, горячее управление пользователями через gRPC без рестартов XRay, балансировка между серверами, почасовой биллинг. В статье — полный разбор протокола, почему DPI его не видит, как устроена архитектура на 670+ юзеров, и все грабли, на которые я наступил в production.
Предыстория
Полгода назад я решил разобраться, как работают современные VPN-протоколы. Не на уровне «скачал WireGuard, поставил, работает», а глубже — как устроено шифрование, почему одни протоколы детектируются DPI, а другие нет, и можно ли собрать что-то своё.
Начал с OpenVPN. Потом WireGuard. Потом Shadowsocks. И каждый раз натыкался на одну и ту же проблему: DPI-системы провайдеров со временем учатся распознавать любой нестандартный трафик.
А потом я нашёл VLESS+REALITY. И понял, что это принципиально другой подход.
Соник, расскажи!