Свой VPN для самых маленьких | 3X-UI + VLESS

Дисклеймер: Материл носит исключительно информационный характер. Автор не призывает к каким-либо действиям.
Статья-гайд, посвящённая установке своего VPN-сервера(вернее прокси) на удалённом хостинге с помощью 3X-UI панели и протокола VLESS/XTLS-Reality
А вот и гайдик подъехал. Плюсы своего VPN-сервера, что такое VPS и VLESS мы обговаривали в предыдущей статье, сейчас же пошагово разберёмся, как его настроить, также обсудим некоторую теоретическую часть по ходу установки.
Тут будет много работы с терминалом, поэтому желательно понимать, как взаимодействовать с этой сущностью. В Windows можно работать через PowerShell/cmd от имени администраторы, в macOS — через стандартный терминал. Если у вас Linux — вы и без меня всё знаете :)
Аренда сервера
UPD 28.10.2025
Покупаем VPS/VDS. Вообще вопрос выбора хорошего хостера с минимальным бюджетом довольно сложный. Небольшой список действительно недорогих хостеров и моём мнении о них (P.S. Имеющиеся ссылки — реферальные):
- hip-hosting — хороший uptime. Фактически пропускная способность канала около 1гбит/сек, хотя пишут о 100мбит/сек. Подозреваю, что при постоянно высоком потреблении трафика канал рубят до указанного значения. Отсутствует поддержка;
- blackmore.cloud — попадались плохие IP, но поддержка решала вопросы;
- HSHP — затягивают с выдачей IP, uptime не самый лучший;
- freakhosting — вечные проблемы с серверами и доступом к ним. Для VPN не советую;
- aeza — постоянно попадают под блокировки. Не наш клиент;
- pq.hosting (ныне the.hosting) — пользовался до момента краха серверов Эстонии, а затем и всей конторы в целом, из-за санкций ЕС, наложенных на владельцев. Ситуацию они решили ребрендингом и передачей прав третьему лицу… Есть вероятность повторения ситуации, поэтому не поднимается язык рекомендовать их;
- timeweb.cloud — слышал о массовом сносе аккаунтов из-за использования VPN на серверах.
Возможно буду дополнять список позже. Но важно также понимать, что провайдеры могут меняться как в плохую, так и в хорошую сторону с течением времени, поэтому то, что я описал — всего лишь скрин ситуации на момент апдейта.
Разумеется, при покупке нужно выбирать расположение сервера вне России. Для личного пользования хватит 1 ядра и 1гб RAM, желательно хотя бы 10гб на диске, ОС — Ubuntu 22.04 (для других дальнейшие инструкции могут отличаться). Также важным фактором для нас является скорость передачи данных. Советую выбрать тариф с каналом от 500мбит/сек

Первое подключение к серверу
На своём пк открываем терминал/Bash/PowerShell от имени администратора. Пишем следующую команду ssh root@ip_сервера, где вместо “ip_сервера”, соответственно, вставляем ip своего сервера. Терминал сначала спросит, точно ли мы хотим подключиться — пишем “yes”, затем предложит ввести пароль, скорее всего при покупке хостинг самостоятельно сгенерировал его, ищем на почте или на странице купленной услуги.
Ctrl + Shift + V, либо правой кнопкой мыши (PowerShell/cmd/PuTTY).При вбивании пароля символы отображаться не будут, поэтому удобнее делать копи-пастом. Если не получается авторизоваться, хотя пароль правильный, измените раскладку клавиатуры на английскую.

Если вы видите приглашение типа root@host_name — вы внутри, поздравляю! Да, тут нет привычного графического интерфейса как в обычном пк, но он и не нужен, ведь всё можно сделать через консоль.
Защита сервера
root — стандартная учётная запись администратора, которая чаще других становится целью брутфорс-атак (перебора паролей). Обезопасим себя, создав нового пользователя и запретив вход для root (также называемого суперпользователем). Пишем adduser новое_имя, придумываем сложный пароль и вбиваем/вставляем его. Для генерации сильных паролей я использую KeePass. Дальше нажимаем Enter несколько раз, пока не появится вопрос. Жмём y. Даём новому пользователю возможность выполнять команды от имени суперпользователя: usermod -aG sudo имя_пользователя, выходим из системы командой exit либо закрывая терминал.

Зайдём под именем созданного пользователя: ssh имя_пользователя@ip_сервера, и проверим работоспособность командой sudo ls -la /root. Вывод есть? Значит всё хорошо, идём дальше.
Теперь перед каждой командой, требующей доступ администратора, нам придётся писать sudo и вводить пароль (единоразово для сессии), ведь мы работаем не через суперпользователя, имеющего доступ ко всему и вся.

Так, пора бы обновить систему. Пишем sudo apt update && sudo apt full-upgrade -y и ждём.
Установим nano: sudo apt install nano, откроем конфиг SSH командой sudo nano /etc/ssh/sshd_config и изменим параметр “PermitRootLogin” с “yes” на “no”.
nano — консольный текстовый редактор Linux (UNIX-подобных ОС). Он покажется довольно специфичным юзеру, пользовавшемся только графическими редакторами, поэтому вот пару советов, которые могут вам помочь:
- Передвигать курсор мышкой не получится, впрочем как и во всём терминале, так что используйте для этого стрелки на клавиатуре.
- Нажмите
Ctrl + O -> Enter, чтобы сохранить файл; НажмитеCtrl + X, чтобы выйти из редактора.

Так лучше, теперь root не сможет зайти в систему никоим образом. Ещё один важный шаг: нужно перевесить порт SSH с дефолтного на повыше. Открываем (если уже закрыли) тот же самый файл sshd_config, раскомментируем строку “Port”, убрав # и пишем произвольный номер порта. Нужно запомнить его.

ClientAliveInterval и/или ClientAliveCountMax на более высокие. У меня стоят 300 и 12 соответственноНе забываем перезапустить службу SSH: sudo systemctl restart sshd.
Выйдем и зайдём нормально :D
Прописываем exit, затем подключаемся к серверу с нового порта: ssh имя_пользователя@ip_сервера -p номер_порта.
Все предыдущие шаги были сделаны с целью обезопасить систему от непрошеных гостей. Сейчас же начнём установку 3X-UI панели, которая облегчит настройку XRay и даст графический интерфейс.
- Так, стоп, а что за XRay?
- XRay — ПО, выполняющее функции прокси. Оно не является таковым в физическом смысле, но содержит протоколы, транспорты и всё нужное для работы прокси-сервера.
- Окей, кажется ещё упоминались какие-то VLESS и Reality?
- VLESS — протокол передачи данных, поддерживающий технологии маскировки, к примеру XTLS-Reality, позволяющий скрыть трафик под обычные HTTPS запросы.
- Я запутался…
- Давайте ещё разок с самого начала. VPS — виртуальный сервер, размещённый на физическом. В нашем случае он находится где-то в Германии. На нём установлена операционная система, вроде Windows, но не он, а дистрибутив (реализация) Linux, называемый Ubuntu. На эту ОС мы накатим 3X-UI — программу, которая облегчит настройку XRay — ПО для маршрутизации и проксирования трафика, использующее для этой цели протоколы по типу VLESS, а последний, в свою очередь, улучшает свой функционал, работая с технологией XTLS-Reality, которая позволит маскироваться под определённый сайт. Фух, ну с объяснениями вроде закончили…
Установка 3x-ui
UPD 28.10.2025
Многие читатели жаловались на ошибки докера и сложность управления сертификатами, которая тоже отчасти вытекает из установки панели через докер, поэтому было решено упростить процесс. Чтобы установить панель, перейдём в суперпользователя (su - -> пароль хостера) и скопируем в консоль:
|
|
Начнётся установка панели, в ходе которой появится вопрос “Would you like to customize the Panel Port settings?” — отвечаем n. По окончании процесса нам выпадает вся нужная для доступа информация: ссылка, логин и пароль. Сохраните их, чтобы не потерять.

Переходим в браузер, в поисковую строку вставляем скопированный URL, пишем логин с паролем.

Настройка VLESS и Reality
UPD 28.10.2025
Теперь, наконец-таки, займёмся подключением протокола! Переходим во вкладку “Инбаунды” (подключения) и жмём “Создать инбаунд”.
В “Примечании” (Remark) пишем любое название подключения, протокол — vless, порт — 443.

Идём в самый низ. Выбираем “Безопасность”: Reality — открылось ещё множество полей.
В “uTLS” выбирайте что хотите из знакомого и популярного, я оставил chrome. В “Target” прописываем адрес сайта, по которому будет перенаправляться подключения для маскировки трафика. Тут всё чуток сложнее. Если не хотите заморачиваться, ставьте что-то популярное, типа google.com:443 или yahoo.com:443.
Главное выбрать популярный зарубежный сайт, который заблокируют с наименьшей долей вероятности для жителей РФ. Также важно учесть пинг: в идеале он должен быть <10мс. Проверить можно командой ping выбранный_сайт (Ctrl + C, чтобы остановить процесс).
Я выберу google.com:443, основываясь на вышеуказанных критериях. В таком случае, в “SNI” указываем google.com,www.google.com.
Отныне провайдер будет думать, что мы подключаемся к google.com, даже если на самом деле находимся на nelzagram.com.
“Sniffing” оставляем по дефолту по дефолту.

Возвращаемся повыше — к настройкам клиента. Сперва меняем Email (по факту никнейм) на что-то уникальное и удобочитаемое. ID сгенерировано панелью, общий расход, начало использования и дату окончания устанавливаем по усмотрению, я же оставлю эти поля как есть.
В поле “Flow” выбираем xtls-rprx-vision.

Жмём заветную кнопку “Создать”!
Подключение к VPN
UPD 28.10.2025
Готово! Осталось только подключиться. Для этого воспользуемся каким-либо из клиентов. Легче всего будет подключиться через Happ, v2raytun или Hiddify. Поскольку раньше здесь была инструкция для последнего, её и оставлю, но не брезгуйте посмотреть и в сторону альтернатив!
И-так, в этом гайде всё же остановимся на Hiddify. Чтобы скачать его, перейдите по ссылке или найдите репозиторий в поисковике, промотайте вниз до “Direct Download” и выберите свою платформу.
Вернёмся к панельке. Сейчас имеем такую ситуацию:

Жмём на плюсик рядом с “ID”, выпадут текущие пользователи. Тыкаем на значок qr-кода, затем на сам высветившийся qr (с надписью “Подписка”) — ссылка будет скопирована в буфер обмена.

Теперь откроем Hiddify. Жмём на плюсик в правом верхнем углу, далее на “Добавить из буфера обмена”. Осталось нажать на центральную кнопку.. та-дам! Всё работает, можно пользоваться :)

В параметрах конфигурации вы можете поставить регион ru, чтобы подключаться к сайтам с доменами .ru напрямую — так шанс идентификации использования прокси приближается к нулю. Если же всякие нельзяграммы так и не работают, измените в настройках режим работы на “VPN”. Учтите, что в этом случае нужно будет открыть приложение с правами администратора. У меня, к примеру, по дефолту режим стоял “Прокси”.

Схема подключения на мобильных устройствах практически идентична. Ссылку можете получить, отсканировав qr или переслав через тот же телеграм. Также нужно выбрать режим работы VPN и установить регион по желанию. К слову, я использую VPN для всех сайтов (регион — Другой), и за полтора месяца проблем не было.

Пользователи
Для каждого подключения есть возможность создания нескольких пользователей. Для чего? Ну можно следить за расходом трафика, ограничивать его, задавать начальную и конечную даты использования и может что-то ещё…
Создать новых пользователей очень просто. Ищем наше подключение, нажимаем на значок под “Меню” -> “ Создать клиента”. В качестве Email пишем уникальное имя, а в качестве Flow устанавливаем тот же “xtls-rprx-vision”.

Супер, теперь у нас есть 2 пользователя. Ко второму может подключиться, например, наш друг. Просто берём ссылку, нажав на соответствующий qr в строке пользователя.

Установка сертификата
UPD 28.10.2025
Если вы уже зашли в панель, то наверняка заметили предупреждение о том, что соединение не защищено. Так и есть, ведь мы подключаемся по протоколу http, а вот чтобы подключаться по https, нужен SSL/TLS сертификат. Разберём наиболее простой и эффективный способ подключения этой сущности.
Переходим на сайт и регистрируемся. К слову, кроме корректного email’а, можно ввести выдуманные данные. Активируем аккаунт через письмо на почте, тыкаем сюда и выбираем желаемый ПУБЛИЧНЫЙ домен -> попадаем в окно настройки. В поле “Subdomain” пишем имя, которое хотим видеть перед основным доменом, в “Destination” вставляем ip сервера -> сохраняем. Готово.

Возвращаемся в консоль. Если ещё не в суперпользователе, заходим в него (su - -> пароль) -> apt install cron -y -> x-ui -> 18 (SSL Certificate Management) -> 1 (Get SSL) -> вбиваем свой домен -> Enter -> n для “Would you like to modify –reloadcmd for ACME?” -> y для “Would you like to set this certificate for the panel?”.
Вот и всё! Теперь доступ к панели защищён. В одной из последний строк появится новый URL для доступа к ней. Копируем и идём дальше.
sudo x-ui -> 10Подписки
UPD 28.10.2025
Раньше тут было больше информации, но сейчас подписка включается автоматически после установки сертификатов тем путём, что я описал выше :)
Сейчас же просто расскажу, зачем она нужна и почему вы будете пользоваться только ею, а не прямыми ссылками.
Подписка / подписочная ссылка — интересная сущность, позволяющая придать процессу создания своего VPN коммерческий вектор. С помощью подписки можно создать ссылку сразу на несколько подключений, то есть у пользователя появится сразу несколько конфигураций VPN в клиенте, к тому же, изменения будут подтягиваться автоматически (без подписки придётся удалять и создавать подключения в клиенте заново). Вдруг какой-то перестанет работать, а тут второй как раз под рукой.
Для обычного же пользователя подписки полезны тем, что не нужно заново вставлять новую ссылку после малейшего изменения настроек инбаунда.
Единственное, что стоит настроить самостоятельно, это порт подписки и её url-путь. Переходим в “Настройки” в боковой панели -> Подписка -> меняем “Порт подписки” и “Корневой путь URL-адреса подписки” на что-то другое. Порт выбираем в пределах от 20000 до 50000.

The end
Вот гайд и подошёл к концу! Если у вас возникнут трудности/вопросы/предложения, жду их в лс или в комментариях ниже! Спасибо, что читаете! 🎃
cloudtips