3X-UI — это веб-панель поверх Xray-core. Она берёт на себя то, ради чего обычно и не хочется поднимать свой VPN: генерацию ключей, учёт клиентов, лимиты трафика, ссылки и QR-коды. Вы арендуете VPS за пару сотен рублей, запускаете один скрипт — и получаете сервер, который знаете только вы, без чужих ключей из телеграм-каналов и без сервиса, который завтра закроется.
Ниже — весь путь целиком: покупка VPS, установка панели через SSH, входящее подключение VLESS + Reality с нормальной маскировкой, клиенты со ссылками, бонусом MTProto-прокси для Telegram и разбор случаев, когда подключение не поднимается. Все скриншоты сняты на реальном сервере: панель 3X-UI v3.6.0, ядро Xray v26.7.28, ОС Ubuntu 24.04 LTS.
Что такое 3X-UI и зачем она нужна
Сам по себе Xray — это консольная программа, которая читает большой JSON-конфиг. Руками в нём можно описать что угодно, но каждый новый пользователь — это ручная правка файла, генерация UUID, перезапуск службы и пересборка ссылки для клиента.
3X-UI надстраивается сверху и превращает это в интерфейс:
- входящие подключения (inbounds) — что сервер слушает: протокол, порт, транспорт, шифрование, маскировка;
- клиенты — кто имеет право подключаться: UUID, лимит трафика, срок действия, ограничение по числу устройств;
- ссылки и QR-коды — готовая строка
vless://, которую остаётся вставить в приложение; - статистика — сколько трафика ушло у каждого клиента и кто сейчас онлайн.
Плюс мелочи, которые в ручном конфиге приходится делать отдельно: сертификат Let’s Encrypt, автозапуск, бэкап базы, Fail2ban для защиты панели от перебора паролей.
Шаг 1. Покупаем VPS
Требования к серверу для VLESS скромные: 1 ядро, 1 ГБ RAM, 10 ГБ диска. Шифрование упирается в процессор, а не в память, и одно ядро на 3 ГГц спокойно тянет несколько пользователей на скорости канала. Переплачивать за 4 ГБ RAM смысла нет.
Что действительно важно при выборе:
| Параметр | На что смотреть |
|---|---|
| Локация | Германия, Нидерланды, Швеция, Финляндия. Ближе — меньше пинг; Нидерланды и Германия обычно дают лучший баланс скорости и стабильности |
| Не Россия | Российская локация не решает задачу обхода: трафик остаётся внутри того же сегмента |
| Выделенный IPv4 | Обязателен. На shared-IP или NAT-хостинге Reality работать не будет |
| Канал | 100 Мбит/с хватает с запасом, 300 Мбит/с — комфортно |
| ОС | Ubuntu 22.04 / 24.04 LTS или Debian 12 — под них скрипт установки отлажен лучше всего |
| Панель управления | Не нужна. Выбирайте «No panel» — она только съедает память |
| Оплата | Из России карты Visa/Mastercard за рубежом не проходят. Смотрите хостеров с оплатой картой МИР, СБП или криптой |
Где брать VPS
Дальше показываю на примере Fornex — там понятный интерфейс, оплата российскими картами и локации в Европе. Подойдёт любой хостер с теми же характеристиками, шаги установки от провайдера не зависят.
Заказ сервера
После регистрации в панели хостера идём в раздел VPS и жмём New order.
Дальше — выбор тарифа и локации. Берём самый младший план (1 CPU / 1 ГБ / 10 ГБ), частоту процессора — 3.0 ГГц, операционную систему — Ubuntu 24.04 LTS, панель управления — No panel, локацию — Германию или Нидерланды.
Через минуту-две сервер готов. Открываем его карточку — данные для подключения лежат в блоке Access via SSH: IP-адрес, готовая команда и пароль root.
Шаг 2. Подключаемся к серверу по SSH
В Windows 10/11, macOS и Linux SSH-клиент уже встроен — достаточно открыть терминал (в Windows это PowerShell или Терминал) и выполнить команду с IP вашего сервера:
ssh root@158.160.25.201
При первом подключении клиент спросит, доверяете ли вы отпечатку ключа сервера — отвечаем yes. Затем вводим пароль: символы при вводе не отображаются, это нормально, просто вставьте пароль и нажмите Enter.
Если SSH — тёмный лес, начните с короткого разбора, что это такое и как им пользоваться. Там же — про ключи вместо паролей, что заметно безопаснее.
Обновляем пакеты и доставляем curl с wget, если их вдруг нет:
apt update && apt upgrade -y
apt install -y curl wget
ubuntu или admin вместо root — тогда установка упадёт на правах доступа. Переключитесь одной командой: sudo -i. В приглашении должен появиться root@.
Шаг 3. Устанавливаем 3X-UI
Установка — одна команда. Скрипт сам определит архитектуру, скачает свежий релиз, поставит службу и проведёт через мастер настройки:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
Дальше скрипт задаст несколько вопросов. Разберём каждый — здесь легко нажать не то и потом полдня искать, почему панель не открывается.
Выбор базы данных
Database Selection
1) SQLite (default — recommended for < 500 clients)
2) PostgreSQL (recommended for high client counts / many nodes)
Choose [1]:
Отвечаем 1. SQLite — это один файл /etc/x-ui/x-ui.db, его удобно бэкапить и он не требует отдельной службы. PostgreSQL нужен, когда клиентов сотни и вы строите на этом сервис.
Порт панели и учётные данные
Would you like to customize the Panel Port settings? [y/n]: n
Generated random port: 59330
Username and password updated successfully
Отвечаем n — и скрипт сам выберет случайный порт из верхнего диапазона, а заодно сгенерирует случайные логин, пароль и секретный путь (WebBasePath). Это лучше, чем свои «красивые» значения: панель на порту 54321 с логином admin находят сканеры за часы.
Сертификат SSL
Дальше самый важный вопрос установки:
Choose SSL certificate setup method:
1. Let's Encrypt for Domain (90-day validity, auto-renews)
2. Let's Encrypt for IP Address (6-day validity, auto-renews)
3. Custom SSL Certificate (Path to existing files)
4. Skip SSL (advanced — behind reverse proxy / SSH tunnel only)
Как выбирать:
- Есть свой домен, направленный на этот IP → вариант 1. Сертификат на 90 дней, панель откроется по
https://ваш-домен:порт/путь. - Домена нет → вариант 2. Let’s Encrypt научился выдавать сертификаты прямо на IP-адрес; срок жизни всего 6 дней, но
acme.shпродлевает его сам по расписанию. - Вариант 4 — только если панель уже спрятана за nginx/Caddy или вы ходите в неё через SSH-туннель. Иначе логин и пароль полетят по открытому HTTP.
Мы берём 2 — домена в примере нет.
Следом скрипт просит подтвердить публичный IP. Сверьте его с тем, что показывал хостер — если сервер за NAT и адреса не совпадают, сертификат не выпустится:
Is 158.160.25.201 the correct incoming public IPv4 address for this server? [Default y]: y
Про IPv6 спрашивают следом — поле можно оставить пустым и нажать Enter, для работы VLESS он не нужен:
Последний вопрос — порт для проверки ACME. Оставляем 80:
Записываем данные для входа
Если всё прошло успешно, скрипт покажет блок Panel Installation Complete — самый ценный экран за всю установку:
Username: IMG9JKq6gH
Password: fIPBeVixgP
Port: 59330
WebBasePath: vwNkzqCGj12ew7W2vC
Database: SQLite (/etc/x-ui/x-ui.db)
Access URL: https://158.160.25.201:59330/vwNkzqCGj12ew7W2vC
API Token: ZQ33f7BwZBmTzzwbZhIHDF1wf2G5dye2abCuHuSDYcqbT3DN
/etc/x-ui/install-result.envWebBasePath вы не попадёте в панель: адрес https://IP:порт/ без секретного пути отдаёт 404, и это задумано — так панель не находят сканеры. Если потеряли — данные можно посмотреть на сервере командой cat /etc/x-ui/install-result.env или через меню x-ui.
Заодно скрипт поставит Fail2ban — он банит IP, с которых подбирают пароль к панели. Полезные команды на будущее:
x-ui # интерактивное меню: смена логина, порта, перезапуск
x-ui status # состояние службы
x-ui restart # перезапуск панели
x-ui settings # текущие настройки, включая WebBasePath
x-ui banlog # кого забанил Fail2ban
x-ui update # обновление панели вместе с ядром Xray
x-ui. Внизу — ufw status: inactive: локальный фаервол выключенufw по умолчанию выключен (Status: inactive), и порты фильтруются только на стороне хостера — в его панели. Это удобно на старте: не нужно ничего открывать вручную. Но если вы решите включить ufw, не забудьте разрешить порт панели и порт VLESS до того, как нажмёте enable, — иначе вы отрежете сами себя вместе с SSH.
Шаг 4. Первый вход в панель
Открываем Access URL в браузере. Если выбирали сертификат на IP, браузер может ругнуться на самоподписанность в первые секунды после выпуска — обновите страницу через минуту.
После входа попадаем на дашборд: загрузка процессора, память, диск, скорость и число открытых сокетов. Сверху — статус ядра Xray · Запущен с номером версии.
Что настроить сразу
Загляните в Настройки панели — там несколько вещей, которые лучше поправить до того, как появятся клиенты.
- Язык интерфейса — русский, если он не подхватился сам.
- URI-путь — тот самый секретный путь из установки. Менять не нужно, но полезно знать, где он лежит: если потеряете адрес панели, он здесь.
- Вкладка «Уведомления» — привязка Telegram-бота. Панель будет писать о входах, перезапусках и присылать бэкапы базы.
- Вкладка «Сертификаты» — тут видно срок жизни выпущенного сертификата.
/sub/ по умолчанию известен всем, и его перебирают сканеры. Если раздаёте доступ по подписке — смените этот путь на случайный. Пароль и логин от самой панели меняются не здесь, а через меню x-ui в SSH.
Какой протокол выбрать
При создании входящего подключения 3X-UI предложит список протоколов. Коротко, что из этого зачем:
| Протокол | Когда брать |
|---|---|
| VLESS | Основной выбор на сегодня. Без собственного шифрования — им занимается TLS/Reality, поэтому даёт минимальные накладные расходы и максимальную скорость |
| VMess | Предшественник VLESS со встроенным шифрованием. Работает, но медленнее и заметнее для DPI. Ставить сегодня незачем |
| Trojan | Маскируется под обычный HTTPS-сайт, требует домена и настоящего сертификата. Хорошая альтернатива, если у вас есть домен |
| Shadowsocks | Простой и быстрый, но без TLS-маскировки узнаётся DPI по характерному профилю трафика |
| Hysteria | Поверх QUIC/UDP. Отлично работает на плохих каналах с потерями, но UDP у части провайдеров режется или приоритизируется по остаточному принципу |
| WireGuard | Классический VPN. Быстрый, но DPI опознаёт его рукопожатие мгновенно — против блокировок нужен AmneziaWG |
| MTProto | Не VPN, а прокси именно для Telegram. Отличная штука в довесок — сделаем ниже |
В этой инструкции — VLESS + Reality. Это связка, которая сейчас лучше всего переживает DPI: снаружи соединение выглядит как обычный визит на популярный зарубежный сайт, а сертификат в рукопожатии — настоящий, чужой и валидный.
Подробнее про сам формат ключа и что означают его параметры — в разборе что такое ключи VLESS.
Шаг 5. Создаём входящее подключение VLESS + Reality
Идём в раздел Входящие и жмём Создать подключение.
Откроется окно с вкладками: Основное, Протокол, Поток, Безопасность, Сниффинг, Расширенный шаблон. Пройдём по ним по очереди.
Вкладка «Основное»
- Примечание — любое имя, например
vless-main. Оно попадёт в название сервера у клиента. - Протокол — выбираем vless.
- Адрес — оставляем пустым, чтобы слушать все интерфейсы.
- Порт — вот здесь стоит подумать (см. врезку ниже).
- Общий расход, Сброс трафика, Дата окончания — для личного сервера не трогаем.
Вкладка «Поток» — транспорт
Здесь всё просто: Транспорт — RAW (в старых версиях этот же режим назывался TCP). Остальные тумблеры — Proxy Protocol, HTTP Обфускация, Sockopt — не трогаем.
Вкладка «Безопасность» — Reality
Главная вкладка. Переключаем Безопасность на Reality — и появляется десяток полей.
Что означает каждое поле:
| Поле | Что это |
|---|---|
| uTLS | Отпечаток браузера, под который маскируется TLS-рукопожатие клиента |
| Цель (dest) | Настоящий сайт, к которому сервер проксирует «чужие» соединения. Обязательно с портом: www.amd.com:443 |
| SNI (serverNames) | Список доменов, которые клиенту разрешено называть в рукопожатии. Заполняется автоматически из сертификата цели |
| Short IDs | Короткие метки, по которым сервер отличает своих клиентов от случайных гостей. Панель генерирует набор сама |
| Публичный / приватный ключ | Пара ключей X25519. Приватный остаётся на сервере, публичный уходит в ссылку клиента |
| SpiderX | Путь, по которому клиент ходит на сайт-маскировку для правдоподобия. Оставляем как есть |
| Xver | Версия PROXY protocol. Ставится в 0, если перед Xray нет nginx или HAProxy |
| Мин./макс. версия клиента | Отсекает старые клиенты. Пустые поля = без ограничений |
Отпечаток uTLS
В поле uTLS выбираем firefox. Раньше по умолчанию ставили chrome, но именно хромовый отпечаток стал самым массовым — и первым, по которому системы фильтрации учатся ловить нестыковки между заявленным браузером и поведением соединения.
Отпечаток должен совпадать на сервере и в клиенте — панель подставит его в ссылку сама. Если у вашего провайдера конкретный вариант не идёт, попробуйте другой: это одно поле, и его смена не требует пересоздания подключения.
Что такое SNI и как работает маскировка
Прежде чем выбирать сайт для маскировки, стоит понять, что именно видит провайдер. Это тот случай, когда пять минут теории экономят вечер отладки.
Когда браузер открывает https://example.com, он сначала устанавливает TLS-соединение. И самая первая посылка в этом обмене — ClientHello — уходит в открытом виде, до всякого шифрования. Внутри неё есть поле SNI (Server Name Indication) — имя сайта, к которому вы обращаетесь. Оно там нужно по делу: на одном IP-адресе живут тысячи сайтов, и сервер должен понять, чей сертификат отдавать.
Побочный эффект: провайдер читает SNI каждого вашего соединения. Не содержимое — его защищает шифрование, — но адрес назначения виден всем по дороге. Именно по SNI и работает большинство блокировок: DPI ищет в поле запрещённый домен и рвёт соединение.
Отсюда три поколения маскировки:
- Обычный TLS с вашим доменом. В SNI стоит
vpn.мой-домен.ру. Домен свежий, трафика на нём нет, ходит по нему один человек круглосуточно — для DPI это яркая аномалия, такие домены находят и блокируют. - Domain fronting. В SNI пишется разрешённый домен, а внутри шифрования — запрос к другому. Работало, пока крупные CDN не закрыли эту лазейку у себя.
- Reality. Ваш сервер не притворяется чужим сайтом — он действительно проксирует к нему соединения. Клиент в ClientHello называет
www.amd.com, сервер устанавливает настоящее TLS-соединение с реальнымwww.amd.comи отдаёт клиенту его подлинный сертификат.
Ключевой момент, ради которого всё затевалось: у Reality нет собственного сертификата, который можно было бы опознать. Проверяющий видит валидный сертификат DigiCert, выданный на amd.com, и настоящее рукопожатие TLS 1.3 с настоящим сервером AMD.
А различает своих и чужих сервер по Short ID внутри рукопожатия. Пришёл клиент с правильным коротким идентификатором и знанием публичного ключа — соединение уходит в туннель. Пришёл кто-то другой, включая цензора, который решил проверить ваш IP, — его молча проксируют на настоящий amd.com, и он увидит обычный корпоративный сайт. Активное зондирование — когда систему фильтрации натравливают на подозрительный адрес — на этом и ломается.
amd.com, www.amd.com, shop.amd.com и так далее. Клиент может назвать любое из них — соединения выглядят разнообразнее, чем если бы все они шли на один-единственный хост.
Как выбрать сайт для маскировки
В 3X-UI встроен сканер: он проверяет кандидатов и показывает, годится ли сайт для Reality. Нажимаем Найти цели рядом с полем «Цель».
Сканер вернёт таблицу с колонками TLS, ALPN, обмен ключами, сертификат и задержка. Зелёный статус «Подходит» — сайт удовлетворяет требованиям Reality.
Требования к сайту-маскировке:
- TLS 1.3 — обязательно. На 1.2 механика Reality не работает;
- ALPN h2 — сайт должен уметь HTTP/2;
- X25519 в обмене ключами;
- не за Cloudflare и не в России — цель должна быть настоящим зарубежным сервером, а не CDN, куда вас и так маршрутизируют локально;
- низкая задержка от вашего VPS — цель должна быть географически близко к серверу, а не к вам. Немецкий VPS + европейский сайт = 40–70 мс;
- сайт крупный и живой — трафик к нему не должен вызывать вопросов.
Плохие кандидаты: домены Google (у них своя специфика с QUIC и слишком много внимания), российские сайты, всё за Cloudflare, мелкие сайты без постоянного потока посетителей, а также самые заезженные варианты вроде www.microsoft.com — по ним уже накоплена статистика.
Хорошие: сайты производителей железа и техники (AMD, Intel, NVIDIA, Samsung, Sony), крупные зарубежные магазины и медиа, которые никто не блокирует и к которым обращаются постоянно.
После выбора цели поле окрасится зелёным, а SNI заполнится автоматически:
Вкладка «Сниффинг»
Последняя вкладка перед созданием. Сниффинг позволяет Xray заглядывать в первый пакет соединения и определять настоящее доменное имя — без этого маршрутизация по доменам работать не будет.
Включать стоит, если вы планируете правила маршрутизации (например, российские сайты — напрямую, остальное — в туннель). Если сервер используется как простой полный туннель, без сниффинга тоже всё работает.
Жмём Создать — подключение появится в списке.
Шаг 6. Добавляем клиента и получаем ссылку
Входящее подключение — это «дверь». Теперь нужен ключ от неё. В версии 3.6.0 клиенты вынесены в отдельный раздел меню — Клиенты.
Жмём Добавить клиентов и заполняем:
- Email — просто идентификатор, почта не нужна. Панель подставит случайную строку, её удобно оставить как есть;
- Лимит трафика (ГБ) —
0означает «без ограничений»; - Лимит IP — сколько устройств может подключаться одновременно.
0— без ограничений, для себя удобно поставить 3–5, чтобы заметить утечку ключа; - Срок действия — для себя оставляем пустым;
- Привязанные входящие — обязательное поле: выбираем созданное подключение (
in-20954-tcp).
Ещё одно поле, до которого стоит дойти, — Flow на вкладке «Учетные данные». Для связки VLESS + Reality + RAW рекомендуемое значение — xtls-rprx-vision: этот режим отдаёт часть работы напрямую ядру, добавляет случайную набивку пакетов и заметно ускоряет тяжёлый трафик вроде видео. Пустой Flow (в карточке отображается как «Нет») тоже работает — просто медленнее и чуть заметнее для анализа по размерам пакетов.
На этой же вкладке лежат остальные секреты клиента, и каждый — под свой протокол: UUID для VLESS и VMess, Пароль для Trojan и Shadowsocks, Hysteria Auth для Hysteria, Секрет MTProto для телеграм-прокси. Панель генерирует их сразу все, поэтому один клиент работает с любым входящим, к которому его привязали.
После создания клиент появится в списке. Нажимаем значок i в колонке «Действия»:
В карточке — UUID, ID подписки, статистика и блок Копировать ссылку с готовыми строками подключения и QR-кодами.
vless:// — это и есть ваш доступ. В ней зашиты UUID, публичный ключ и Short ID. Кто угодно, кому она попадёт, подключится к вашему серверу. Не выкладывайте её в чаты и не показывайте на скриншотах.
Шаг 7. Подключаем клиента
Ссылка одна и та же для всех приложений — меняется только то, куда её вставлять.
| Платформа | Приложение |
|---|---|
| Android | Happ, v2rayNG, NekoBox, Hiddify |
| iOS | Happ, Streisand, V2Box, Shadowrocket |
| Windows | Hiddify, v2rayN, NekoRay |
| macOS | Happ, V2Box, Hiddify |
| Роутер OpenWrt | podkop, Passwall2 + Xray, Netshift |
В мобильном приложении проще всего нажать «+», выбрать «Из буфера обмена» (или отсканировать QR-код с экрана) и подключиться.
Проверка результата: откройте 2ip.ru и посмотрите строку «Вы из». Должна быть страна вашего VPS.
Бонус: MTProto-прокси для Telegram
Пока сервер уже стоит, можно бесплатно получить второй сервис. MTProto — это встроенный протокол прокси самого Telegram: он работает только для мессенджера, зато включается прямо в клиенте, без VPN-режима и без расхода батареи на весь трафик.
Создаём ещё одно входящее подключение, протокол — mtproto:
На вкладке Протокол есть поле Домен FakeTLS (SNI) — по умолчанию www.cloudflare.com. Это то же самое, что «Цель» у Reality, только для MTProto: соединение маскируется под визит на указанный сайт.
Дальше в карточке клиента появится вторая ссылка — с меткой MTProto FAKETLS. Открываете её на телефоне, Telegram сам предложит добавить прокси.
На что обратить внимание в серверном конфиге
Чек-лист, по которому стоит пройтись после настройки — здесь собраны решения, которые потом сложно менять:
- Порт входящего — 443. Самый неприметный вариант для Reality. Случайный пятизначный работает, но закрыт в части мобильных и корпоративных сетей.
- Цель и SNI из одного сертификата. Если вписать в SNI домен, которого нет в сертификате цели, рукопожатие развалится. Всегда заполняйте это поле через сканер, а не руками.
- Порт в поле «Цель» обязателен.
www.amd.comбез:443— и Xray не стартует вообще. - uTLS одинаковый на обеих сторонах. Панель кладёт отпечаток в ссылку, но если правите конфиг руками — следите за совпадением.
- Flow —
xtls-rprx-vision. Для Reality поверх RAW это рабочий по умолчанию режим: быстрее и незаметнее пустого Flow. - Short IDs не удаляйте все. Пустой список означает, что подойдёт любой клиент, знающий публичный ключ.
- Приватный ключ никогда не покидает сервер. В ссылку клиента идёт только публичный. Если приватный где-то засветился — генерируйте новую пару и раздавайте ссылки заново.
- Порт панели ≠ порт VPN. Это разные вещи. Панель на 59330, VLESS на 443 — так и должно быть.
- Фаервол хостера. Откройте 443 (или ваш порт), 80 (для продления сертификата) и порт панели. Про закрытые порты вспоминают в последнюю очередь, а симптом ровно тот же, что при ошибке в конфиге.
- Бэкап базы.
/etc/x-ui/x-ui.db— это все клиенты и настройки. Панель умеет отправлять бэкап в Telegram-бота, это делается в настройках. - Обновления.
x-ui→ пункт обновления. Ядро Xray обновляется вместе с панелью; после обновления проверьте, что входящие поднялись.
Почему подключения может не быть
Разбор по симптомам — от самого частого к редкому.
Клиент пишет «подключено», но сайты не открываются. Классика Reality. Проверьте по очереди: цель ещё жива (прогоните сканер повторно), SNI в ссылке совпадает с тем, что в панели, отпечаток uTLS одинаковый. Чаще всего виновата цель — сайт сменил конфигурацию TLS или стал недоступен с вашего VPS.
Соединение вообще не устанавливается, таймаут. Порт закрыт. Проверьте по порядку: слушает ли Xray нужный порт, что говорит локальный фаервол и открыт ли порт в панели хостера.
ss -tlnp | grep xray # слушает ли Xray нужный порт
ufw status # правила локального фаервола
Если ufw показывает inactive, а порт всё равно недоступен снаружи — фильтрует хостер, идите в его панель. Если ufw активен, порт нужно открыть явно: ufw allow 443/tcp.
Панель не открывается по своему адресу. Убедитесь, что в URL есть WebBasePath — без секретного пути будет 404. Данные можно перечитать на сервере:
cat /etc/x-ui/install-result.env
x-ui settings
Работало, потом перестало — и на всех устройствах сразу. Провайдер начал резать эту цель или IP сервера попал в блокировку. Смените цель Reality на другую из сканера; если не помогло — проверьте, отвечает ли сервер вообще (ping до IP), и при необходимости попросите у хостера смену адреса.
Работает на Wi-Fi, не работает на мобильном интернете. Первое подозрение — нестандартный порт: у операторов он может быть закрыт, перенесите входящее на 443. Если и на 443 глухо, а госуслуги при этом открываются — вы попали под белые списки, и там нужен другой подход: Reality против них не работает в принципе.
Xray не запускается после сохранения настроек. Смотрите логи прямо в панели — кнопка Логи на дашборде. Самые частые причины: цель без порта, занятый порт, Reality вместе с транспортом WebSocket или gRPC.
Скорость заметно ниже, чем на тарифе хостера. Проверьте загрузку CPU на дашборде: если он в полке, упирается шифрование — берите тариф с более быстрым ядром. Если процессор свободен, дело в маршруте до вашего провайдера, помогает смена локации сервера.
Всё поднялось, но Google и Cloudflare показывают капчу. Плохая репутация IP-адреса — им до вас пользовались для рассылок. Решается только сменой адреса у хостера.
Часть сайтов открывается через раз. Обычно виноват QUIC: браузер уходит по UDP/443 мимо ваших правил. Отключите QUIC в браузере или заблокируйте UDP/443 на роутере.
Проверить, жив ли сервер, не заходя в панель, можно инструментом проверки серверов — он принимает ссылку и показывает, отвечает ли узел.
Частые вопросы
Сколько стоит свой VPN на 3X-UI? Только аренда VPS — от 300 до 700 рублей в месяц за минимальную конфигурацию в Европе. Сама панель, ядро Xray и сертификат Let’s Encrypt бесплатны. Одного сервера хватает на всю семью.
Хватит ли VPS с 1 ГБ RAM? Да, с запасом. На скриншотах в статье панель с работающим ядром занимает около 400 МБ памяти и 0.6% процессора. Упереться можно в скорость шифрования на слабом CPU, но не в память.
Чем 3X-UI отличается от Marzban и Hiddify? Все три — панели поверх Xray. 3X-UI проще всех ставится и лучше подходит для личного сервера. Marzban рассчитан на продажу подписок и много узлов, Hiddify — что-то среднее с упором на готовые пресеты. Для себя и семьи 3X-UI — оптимальный выбор.
Нужен ли домен для Reality? Нет, и это его главное удобство. Reality использует чужой сертификат настоящего сайта, поэтому свой домен и свой сертификат не нужны — хватает IP-адреса. Домен понадобится только для протокола Trojan или обычного TLS.
Reality точно защищает от блокировок? Против DPI и блокировок по чёрному списку это сейчас один из самых устойчивых вариантов: трафик неотличим от визита на реальный сайт, а активное зондирование упирается в подлинный чужой сертификат. Против белых списков, где разрешён только трафик к перечню адресов, Reality не поможет — там нужна точка входа за разрешённым CDN.
Что выбрать при установке, если у меня нет домена?
Вариант 2 — Let’s Encrypt для IP-адреса. Сертификат живёт 6 дней, но acme.sh продлевает его автоматически по cron. Панель будет доступна по HTTPS и IP-адресу.
Провайдер видит, что я пользуюсь VPN?
Он видит факт TCP-соединения с вашим IP и имя сайта в SNI — то есть www.amd.com вместо чего-либо подозрительного. Содержимое трафика зашифровано, а профиль соединения совпадает с обычным HTTPS.
Можно ли раздать доступ друзьям? Да, для этого панель и нужна: создайте отдельного клиента на каждого, при желании с лимитом трафика и сроком. Ссылку каждый добавляет в своё приложение. Учтите: весь их трафик пойдёт с вашего IP-адреса.
Сервер выключится, если не продлить VPS? Да, и вместе с ним пропадут все настройки. Хостеры обычно дают несколько дней на продление и предупреждают письмом. Держите включённым бэкап базы в Telegram — восстановление на новом сервере займёт пару минут.
Как перенести всё на другой сервер? Установить 3X-UI на новом VPS и восстановить бэкап базы через раздел «Бэкап и восстановление». Ссылки клиентов при этом изменятся: в них зашит IP-адрес.
Что делать после обновления панели? Зайти на дашборд и проверить, что ядро в статусе «Запущен», а входящие подключения активны. Изредка после мажорных обновлений меняются названия полей — как транспорт TCP, который стал называться RAW.
Итог
Весь путь занимает минут двадцать: заказать VPS, подключиться по SSH, запустить скрипт установки, создать одно входящее подключение VLESS + Reality и одного клиента. Дальше сервер работает сам, а панель нужна только чтобы добавить нового человека или сменить цель маскировки, если старая перестала пропускать.
Три вещи, которые определяют, будет ли всё это работать: порт 443 вместо случайного, живая цель Reality с TLS 1.3 и низкой задержкой от вашего VPS, и разведённый трафик — заблокированное в туннель, российское напрямую.
Если нужно накрыть обходом сразу всю квартиру — ссылку с этого сервера можно прописать на роутере: VLESS через podkop для простого сценария, Passwall2 + Xray — когда серверов несколько и нужна маршрутизация по правилам. А если разбираться некогда, мы настраиваем роутер под ключ или отдаём готовый ключ VLESS без своего сервера.
Комментарии
💬 Пока нет комментариев. Будьте первым!
Оставить комментарий