vless-setup
v1.6.1
Published
Поднимает VLESS + Reality на вашем сервере и кладёт на рабочий стол профиль Clash и QR-коды для Happ
Maintainers
Readme
vless
Поднимает VLESS + Reality на вашем сервере и кладёт на рабочий стол готовый профиль для Clash и QR-коды для Happ на телефоне.
Одна команда. Установка занимает две-три минуты.
npx vless-setupnpx сам скачивает свежую версию при каждом запуске.
Запасной вариант — та же установка прямо из этого репозитория, git при этом не нужен:
npx https://github.com/IBR-new/vless/archive/refs/heads/main.tar.gzКоманда
npx github:IBR-new/vlessтоже работает, но только если на компьютере установлен git — npm в этой форме клонирует репозиторий. На чистой Windows git не предустановлен, и команда падает с ошибкойspawn git ENOENT. Используйте один из двух вариантов выше.
Скрипт спросит IP, логин и пароль — их присылает хостер в письме после аренды сервера.
Дальше он всё сделает сам и в конце положит на рабочий стол файл vless.yaml для Clash Verge
и два QR-кода для Happ.
Что нужно
| | | |---|---| | На вашем ПК | Windows 10/11 или macOS, установленный Node.js (LTS) | | Сервер | Ubuntu 22.04 или 24.04, 1 vCPU, 1 GB RAM. Подойдёт самый дешёвый тариф у любого хостера | | Локация | Любая. От страны сервера зависит только то, какой IP увидят сайты |
Проверить, установлен ли Node:
node --versionЕсли команда не найдена — поставьте Node.js LTS с nodejs.org и откройте терминал заново (без этого система не увидит новую программу).
Что делает скрипт
- Проверяет, что сервер вообще доступен с вашего интернета.
- Подключается по SSH и ставит Xray 26.3.27. Версия закреплена: начиная с 26.10.21 сервер
не принимает подключения от Clash Verge и короткий отпечаток
edge. Если на сервере уже стоит другая версия, скрипт поставит поверх эту. Если на сервере не работает DNS — что бывает на свежих VPS, — прописывает публичные 1.1.1.1 и 8.8.8.8 (прежний/etc/resolv.confсохраняется рядом какresolv.conf.bak-vless). - Генерирует ключи.
- Подбирает сайт-прикрытие: перебирает кандидатов и берёт первый с ECDSA-сертификатом и поддержкой HTTP/2 — с RSA рукопожатие Reality обрывается.
- Настраивает VLESS + Reality на портах 443 и 8443. Если на сервере включён firewall (ufw или firewalld — у части хостеров он стоит в образе), открывает в нём эти порты.
- Включает BBR и ротацию логов.
- Проверяет себя: поднимает временный клиент прямо на сервере и пропускает через него реальный запрос. Если проверка не прошла — скрипт сообщит об этом, а не отдаст нерабочий профиль.
- Собирает
vless.yamlдля Clash и кладёт на рабочий стол. Рядом — QR-коды для Happ (vless-happ-443.png,vless-happ-8443.png) и те же ссылки текстом вvless-happ.txt. - Стучится в оба порта уже с вашего компьютера — так же, как будет стучаться Clash. Самопроверка на сервере не видит firewall хостера, а эта проверка видит.
После установки
- Откройте Clash Verge → Профили → перетащите
vless.yaml. - Настройки сети → включите Режим TUN, системный прокси при этом выключите.
Режим TUN обязателен, если нужен весь трафик. Системный прокси — лишь пожелание для программ, и браузеры нередко ходят мимо него.
В профиле два узла: VLESS-443 основной и VLESS-8443 запасной, на случай если провайдер
начнёт фильтровать порт 443. Группа AUTO выберет живой сама.
Happ на телефоне (iOS и Android): откройте на компьютере vless-happ-443.png, в Happ нажмите
«+» и отсканируйте код с экрана; затем так же vless-happ-8443.png — это запасной узел.
Если сканировать не с чего, перешлите себе ссылки из vless-happ.txt и добавьте их в Happ
из буфера обмена.
Профиль Clash и ссылки Happ — одни и те же ключи: один сервер можно держать и на компьютере, и на телефоне одновременно.
Если что-то пошло не так
Скрипт не завершается на ошибке ввода — он просто задаёт вопрос заново. Выйти можно в любой момент через Ctrl+C, на сервере при этом ничего не меняется.
«Адрес недоступен с вашего интернета» Сервер исправен, но маршрута до него нет — обычно это блокировка IP у провайдера. Настройками не лечится: попросите хостера заменить IP-адрес. Скрипт предложит ввести другой адрес.
«Сервер отклонил логин или пароль»
Сверьтесь с письмом хостера — пароль вводится без пробелов по краям.
Скрипт спросит данные заново, перезапускать его не нужно.
Если скрипт пишет, что в пароле есть символы не из латиницы, — переключите раскладку
или наберите пароль вручную: при копировании из письма мог попасть невидимый символ.
Версии до 1.6.1 не умели входить на серверы, где пароль принимается только способом
keyboard-interactive, и отклоняли даже верный пароль — запустите npx vless-setup заново.
«Не похоже на адрес»
Нужен именно IP вида 203.0.113.10, а не ссылка на панель управления.
«Сервер разорвал соединение» Скрипт сам повторит попытку трижды с паузой. Если не помогло — причина обычно одна из трёх: сервер ещё разворачивается (подождите 5 минут после письма хостера), сработала защита от перебора паролей (подождите 15 минут) или SSH закрыт firewall в панели хостера.
«У сервера нет выхода в интернет» Подключение по SSH прошло, но сам сервер не открывает ни один сайт. Если сервер создан только что — подождите 10–15 минут и запустите команду ещё раз. Не помогло — в поддержку хостера: «на VPS не работает исходящий интернет».
«На сервере не работает DNS» Скрипт уже попробовал прописать 1.1.1.1 и 8.8.8.8 — не помогло, значит хостер закрывает DNS-запросы наружу. Это решается только через поддержку хостера.
«Сервер не смог скачать Xray с GitHub»
Чаще всего временный сбой — повторите через пару минут. Если повторяется, проверьте
на сервере curl -I https://github.com и напишите хостеру.
«Порт 443 на сервере уже занят» На сервере уже работает другая программа — обычно веб-сервер или VPN-панель, поставленная раньше (3x-ui, Marzban, Amnezia и т. п.). Скрипт рассчитан на чистый сервер и в этом случае ничего не меняет. Проще всего переустановить ОС (Ubuntu 22.04) в панели хостера и запустить команду ещё раз.
«Порт 8443 с вашего интернета недоступен»
Xray на сервере работает, но порт закрыт снаружи — обычно firewall в панели управления
хостера (его скрипт открыть не может). Откройте порт там; профиль менять не нужно.
Второй узел при этом работает, и группа AUTO переключится на него сама.
«Xray установился, но не запускается» / «Самопроверка не прошла» Под сообщением — последние строки журнала Xray, по ним видна причина. Пришлите их вместе со скриншотом.
«Запущена старая версия скрипта» npx запоминает скрипт при первом запуске и по той же ссылке сам его не обновляет. Скрипт заметил это и уже удалил старую копию — запустите команду ещё раз.
Скрипт ведёт себя по-старому, исправление не дошло Версии до 1.5.0 сами не проверяют, свежие ли они. Очистите кеш npx вручную и запустите команду заново:
- Windows — удалите папку
%LocalAppData%\npm-cache\_npx(путь можно вставить в адресную строку Проводника); - macOS — выполните
rm -rf ~/.npm/_npx.
npm error spawn git ENOENT
На компьютере нет git, а команда npx github:… без него не работает.
Возьмите команду npx vless-setup или вариант с архивом — см. начало этой страницы.
Прокси подключился, но сайты показывают ваш настоящий IP Включён системный прокси вместо TUN. Переключитесь на режим TUN.
Неинтерактивный запуск
Для повторных прогонов данные можно передать сразу:
npx vless-setup --host 203.0.113.10 --user root --pass ВАШ-ПАРОЛЬТе же значения читаются из переменных VLESS_HOST, VLESS_USER, VLESS_PASS.
Если у хостера SSH висит не на стандартном порту, добавьте --port 2222
(или переменную VLESS_PORT).
Повторный запуск создаёт новые ключи. Старый профиль после этого перестанет подходить — нужно будет заново перетащить свежий
vless.yamlв Clash и заново отсканировать QR-коды в Happ.
Безопасность
Пароль от сервера используется только для одного SSH-подключения, никуда не записывается
и не передаётся третьим сторонам. Весь код — в этом репозитории, index.js и setup.sh,
около шестисот строк вместе с комментариями; их можно прочитать целиком перед запуском.
Зависимостей две: ssh2 — клиент SSH на чистом JavaScript
(внешний ssh и sshpass не нужны) — и qrcode-generator
для QR-кодов, без собственных зависимостей. Картинку PNG скрипт собирает сам встроенным в Node zlib.
Оговорки
Скрипт рассчитан на Ubuntu 22.04 и 24.04 — на других системах он не тестировался.
Часть хостеров запрещает прокси и VPN условиями договора. Проверьте правила своего провайдера.
MIT.
