Автоматизированная установка и управление Xray Reality VPN на VPS
Требуется личный Xray VLESS для собственных нужд? Впадлу настраивать, хочется автоматизации и удобства? Этот скрипт для тебя!
Завайбкодил и бегло перепроверил Киса, недокодер и недо-знайка bash. За последние дни активной разработки и тестов, мной было установлено, что регуляции становятся все жестче. В Xrayebator я вложил и вкладываю все, что способно сохранить доступ к свободному интернету.
- Автоматическая установка Xray-core на ваш VPS
- 6 типов маршрутов: TCP+Mux, TCP+Vision, TCP+uTLS (Firefox), gRPC, XHTTP, TCP+XUDP (anti-Tele2)
- Поддержка: H2, SplitHTTP, WebSocket
- Интерактивное управление всем прямо в терминале
- Генерация QR-кодов для быстрого подключения
- Смена SNI, портов и отпечатков — спешл фо ю, РКН
- Блокировка рекламы — маршрутизация
geosite:category-ads-all+ опциональный AdGuard Home - Все нужные порты откроются автоматически (UFW)
- AdGuard Home — полноценная блокировка рекламы через DNS, ставится из меню
- Мультипрофили на одном порту — несколько клиентов на одном inbound
- TCP BBR — оптимизация TCP из коробки
- Расширенные geo-базы (Loyalsoldier) для точной маршрутизации
- Быстрая установка и настройка TLS
Автоподбор рабочей связки— вырезан из-за нестабильности. Возможно вернется в будущем.Из коробки работает с AdsPower— не реализовано. Не в приоритете.
Вам нужен оплаченный VPS сервер где и будет работать VPN. В интернете полно информации, после входа на сервер достаточно ввести одну команду и все работает, но можно и настроить по уму для безопасности, гайд будет ниже.
- Debian 10+ (Buster, Bullseye, Bookworm, Trixie)
- Ubuntu 20.04+ (Focal, Jammy, Noble)
Личной мной все тестировалось только на Debian 13. На других системах работа не гарантируется.
- RAM: минимум 512 MB (рекомендуется 1 GB+)
- Диск: 1 GB свободного места (2 GB+ если ставите AdGuard Home)
- CPU: 1 ядро (рекомендуется 2+)
Important
Установка:
wget -qO- https://raw.githubusercontent.com/howdeploy/Xrayebator/main/install.sh | sudo bash
или
curl -fsSL https://raw.githubusercontent.com/howdeploy/Xrayebator/main/install.sh | sudo bash
Important
Внутри приложения под каждым пунктом есть небольшое пояснение, поэтому внутри можете ознакомиться с видами маршрутов и портов.
Из коробки можно установить просто на root (никаких манипуляций на VPS). Однако по хорошему требуется отдельный пользователь. Вот как его настроить. Все что в <например> нужно заменить на ваши данные, а "<>" удалить.
adduser <username> - подставляем имя нашего пользователя
usermod -aG sudo <username> - добавляем его в группу sudo
su - <username> подключаемся к этому юзеру
На вашем ПК откуда вы зашли через ssh через терминал:
ssh-keygen -t ed25519 -C <your_email@example.com>
ssh-copy-id <username>@<айпи_сервера>
Затем подключитель по ssh с именем этого юзера @айпи_сервера>. Если все работает, можно убрать авторизацию по паролю и опционально удалить логин с рута.
sudo nano /etc/ssh/sshd_config - откроет текстовый редактор и конфиг ssh
Ищем следующие строчки и меняем их значения, если перед ними стоит # - удалите символ.
Внимание! Если потеряете ssh ключи, не сможете больше зайти на сервер. Убедитесь, что все сделали верно, только потом меняйте параметры.
PermitRootLogin no - нельзя зайти от root PasswordAuthentication no - нельзя зайти по паролю PubkeyAuthentication yes - вход через ssh ключ
xrayebator - для рут пользователей
sudo xrayebator - для обычных пользователей
- Создать новый профиль — каждый профиль это отдельное подключение
- Удалить существующий профиль — снести подключение
- Подключиться по профилю — данные для вашего клиента, чтобы подключиться
- Подменить SNI (домен маскировки) — маскирует подключение под указанный сайт, например ВК
- Подменить Fingerprint (браузер) — подменяет отпечаток браузера
- Изменить порт профиля — смена порта на тот случай, если провайдер его блокирует
- AdGuard Home (блокировка рекламы) — установка/удаление/статус AdGuard Home
| # | Маршрут | Порт | Особенности |
|---|---|---|---|
| 1 | TCP + Mux + Reality | 443 | Рекомендуется. Обходит блокировку Vision, мультиплексирование |
| 2 | TCP + Vision + Reality | 8443 | Стабильный, быстрый. Vision на 443 детектируется ТСПУ |
| 3 | TCP + Vision + uTLS (Firefox) | 8443 | Маскировка под Firefox, обходит продвинутый DPI |
| 4 | gRPC + Reality | 2053 | Требует SNI с HTTP/2 (google.com). Проблемы с sing-box |
| 5 | XHTTP + Reality | 9443 | Современный, низкая задержка, padding + xmux |
| 6 | TCP + Vision + XUDP | 443 | Anti-Tele2, SNI api-maps.yandex.ru |
Опциональная интеграция — устанавливается через пункт 7 в главном меню. Работает как локальный DNS-сервер на VPS.
Что делает:
- Xray резолвит все домены через AdGuard Home (127.0.0.1:53)
- Рекламные домены получают NXDOMAIN — двухуровневая блокировка
- Web UI на порту 3000 для управления фильтрами и статистикой
Что ставится:
- DNS на
0.0.0.0:53, upstream1.1.1.1+8.8.8.8 - Фильтры: AdGuard DNS filter + AdAway из коробки
- Логин/пароль создаётся при установке (bcrypt)
- Web UI на
127.0.0.1:3000— не торчит в интернет, доступ через SSH-туннель:Затем открываетеssh -L 3000:127.0.0.1:3000 root@ваш_iphttp://localhost:3000
Без AdGuard Home реклама блокируется только через маршрутизацию Xray (geosite:category-ads-all), что покрывает ~30-40% рекламы. С AdGuard Home — значительно больше.
Любая смена настроек маскировки требует пересоздать заново ссылку/qr для подключения, это можно сделать через "Подключиться к профилю".
xrayebator-update - обновит все приложение, опционально, по мере фиксов и добавление новых функций в будущем
xrayebator-uninstall - удалить все, от Xrayebator до самого Xray
В связи с новостями о поломке DNS из-за блокировок VPN провайдерами, рекомендуется на своих клиентах подправить настройки DNS и под рукой иметь список альтернативных ссылок. Если соединение со всем интернетом пропадет, проблема может быть в этом.
Также на ПК клиенте не забудь галочку напротив "Режим TUN", все должно работать как часы.
Неограниченно. Можете создать профили для себя и своих близких. Несколько профилей могут делить один порт (один inbound, разные UUID).
Это нормально. Получите новую ссылку/QR-код через меню "Подключиться по профилю".
Да! Создавайте сколько угодно и добавляйте к себе в клиент, переключаясь между ними. Разные порты и маршруты дают больше вариантов для обхода блокировок.
Возможно ваш провайдер блокирует что-то из списка в порядке очередности:
- Маршрут — создайте профиль с другим типом (например TCP+Mux вместо Vision)
- SNI — замените его и запросите снова подключение
- Порт — замените ваше подключение на другой порт
- Fingerprint — попробуйте firefox вместо chrome
Лучше заранее сделать и сохранить 2-4 вида подключения, чтобы между ними переключать в экстренной ситуации.
TCP + Mux (порт 443) — универсальный, рекомендуется для большинства. Обходит детектирование Vision по паттерну множественных TLS.
TCP + XUDP (порт 443) — если у вас Tele2 и жесткие блокировки.
XHTTP (порт 9443) — если хотите максимальную скрытность, но нужен клиент с поддержкой XHTTP (sing-box 1.8+, v2rayN 6.x+).
Если подключиться к вашему же ВПН и затем на сервере что-то делать в Xrayebator, вас может выбросить ssh. Самый легкий способ этого избежать: подключаться к серверу не с одного из ваших же маршрутов.
Или же прописать настройки в ssh на своем ПК (Linux/MacOS):
sudo nano /etc/ssh/sshd_config - редактируем настройки
#Отправлять keep-alive пакеты каждые 60 секунд ClientAliveInterval 60 #Количество попыток (60 сек x 120 = 2 часа до отключения) ClientAliveCountMax 120 #Использовать TCP keep-alive TCPKeepAlive yes
Ctrl + O, Enter, Ctrl + X
sudo systemctl restart sshd
Первым делом с помощью CTRL + SHIFT + C скопируйте ее из терминала и пришлите любой нейросети. Она сформулирует проблему и пути решения.
Если же проблема в моем коде, вы можете до меня достучаться в телеграм или через issue, я там уже по ситуации буду действовать.
Принудительно скачайте update.sh и запустите его, чтобы подтянуть финальные версии файлов из репозитория.
sudo curl -fsSL https://raw.githubusercontent.com/howdeploy/Xrayebator/experimental/update.sh \ -o /usr/local/etc/xray/scripts/update.sh
sudo chmod +x /usr/local/etc/xray/scripts/update.sh
sudo /usr/local/etc/xray/scripts/update.sh
- Проверьте статус:
xrayebator→ 7 → 3 (Показать статус) - Убедитесь что порт 53 слушает и служба active
- Откройте Web UI (
http://ваш_ip:3000) и проверьте что фильтры обновлены - Если DNS не резолвится — проверьте что systemd-resolved не конфликтует
Этот проект распространяется под лицензией MIT License. См. файл LICENSE для подробностей.
-
Umalanif/xray-server-setup — за референс с uTLS и автоматизацию
-
ServerTechnologies/simple-xray-core — за удобное и быстрое развертывание
-
XTLS/Xray-core — за отличный протокол
-
AdGuardTeam/AdGuardHome — за DNS-фильтрацию рекламы
-
Моему сообществу за поддержку на протяжении этих лет, без вас бы помер и не вайбкодил
Если пригодилось, то поставьте звезду на GitHub! Не знаю зачем они мне, но давайте.
Также можно подкинуть деньгу на эти адреса:
EVM: 0x7acE4442b92f2769c24484c78A13024B139E1A5b
Solana: FS9RBrG5yXJty3WNWgkBkfai6BfNoYxGMFeH1LQEpRZr
TON: UQA56zsOv3zvU5x-p7iNNDL8jHh9dt7Q7WlY_gfbaj4ZhcyT
BTC: 34EznmkBGpBu4dUnzoHL5GBnpg2Rq86v4H
Вы не иронично можете помочь, поддержав бессоные ночи за вайбкодом любой копеечкой. Верю в солидарность и поддержку гражданского общества.
Сделано для свободного интернета