⚡ XRay: правильная маскировка и тонкая настройка
Настройки ниже — технический стандарт, а не гарантия: они заметно снижают заметность трафика для DPI и делают маскировку сервера правдоподобной, но обещать стопроцентный обход блокировок было бы нечестно.
После любых изменений выдайте конфиги заново
Смена порта, домена маскировки или fingerprint делает старые конфигурации нерабочими. Раздайте пользователям новые.
Порт: всегда 443
Оставляйте 443 — стандартный порт зашифрованного веб-трафика. Мы маскируем VPN под обычный сайт, а сайт на нестандартном порту сам по себе выглядит странно и ломает маскировку.
Домен маскировки: ищите соседа по подсети
Популярные сайты вроде google.com или github.com снижают безопасность: системы блокировок видят несоответствие — IP вашего сервера (например, 15.x.x.x) и настоящий IP Google (182.x.x.x) находятся в совершенно разных сетях.
Цель — найти сайт-донор, который «живёт» в той же подсети, что и ваш сервер. В этом помогает утилита RealiTLScanner.
Есть вариант без чужого домена
Можно поднять собственный сайт на своём домене и маскироваться под него — тогда IP, домен и сертификат совпадают по определению: Self-SNI для VLESS + Reality.
Сканируйте только со своего компьютера
Запуск сканера изнутри VPS хостинг может расценить как сетевое сканирование и заблокировать сервер. Работайте с домашней машины.
Реалистичные ожидания
VLESS Reality популярен, поэтому в подсети своего хостинга вы почти наверняка найдёте много таких же пользователей XRay. И стоит понимать: на no-name хостинге не может располагаться Microsoft, VK, Mail.ru, GitHub или Samsung.
Шаг 1. Подготовка сканера
- Скачайте релиз RealiTLScanner под свою систему — например,
RealiTLScanner-windows-amd64.exeилиRealiTLScanner-darwin-amd64. - Откройте терминал в папке с файлом:
- Windows 11 — правый клик по пустому месту в папке → «Открыть в Терминале».
- Windows 10 — клик по адресной строке папки, стереть путь, ввести
cmd, Enter. - macOS —
Cmd + Space, «Терминал», затемcd(с пробелом) и перетащить папку из Finder в окно терминала. - Linux — правый клик по пустому месту → «Открыть в терминале».
Шаг 2. Запуск сканирования
Windows:
RealiTLScanner-windows-amd64.exe -addr ВАШ_IP_СЕРВЕРА -thread 5 -timeout 5Ищите в выводе значения ip= и cert-domain= — последний и есть домен для маскировки.
macOS / Linux:
chmod +x RealiTLScanner-linux-64
./RealiTLScanner-linux-64 -addr ВАШ_IP_СЕРВЕРА -thread 5 -timeout 5 | awk '{
ip=""; sni="";
for(i=1; i<=NF; i++) {
if ($i ~ /^ip=/) ip=substr($i, 4);
if ($i ~ /^cert-domain=/) sni=substr($i, 13);
}
if (ip != "" && sni != "") print ip " " sni;
}'В выводе появятся рабочие сайты из одной подсети с вашим сервером. Любой из них можно вписать в поле «Сайт маскировки» в AmneziaVPN, порт оставить 443.
Проверка выбранного домена
В браузере
Откройте
https://имя_доменабез VPN и прокси. Сайт должен корректно загрузиться, а браузер — показать безопасное соединение без предупреждений о сертификате. Это подтверждает, что сервер активен и отдаёт легитимный TLS-сертификат.Проверьте A-записи домена через
nslookupи убедитесь, что IP из DNS совпадает с фактическим IP целевого сервера.После добавления домена в AmneziaVPN откройте
https://IP_вашего_VPSв браузере. Должно появиться предупреждениеERR_CERT_COMMON_NAME_INVALID.Другая ошибка — домен не подходит
Если браузер показывает не
ERR_CERT_COMMON_NAME_INVALID, а что-то иное, домен маскировки автоматически не годится.Сверьте, что сертификат сайта маскировки (
https://имя_домена) совпадает с сертификатом, который отдаёт XRay наhttps://IP_вашего_VPS.
Через Telegram-бота
Пригодность домена удобно проверить ботом @gig_reality_bot — он покажет развёрнутую информацию о сервере. На что смотреть:
| Параметр | Требование |
|---|---|
| Порт 443 (TCP) | должен быть открыт |
| TLS 1.3 | обязательная поддержка — Reality маскируется именно под современные сертификаты |
| HTTP/2 | крайне желательно, в новых версиях обязательно |
| География и ASN | желательно хотя бы отдалённое совпадение с локацией вашего VPS: не берите сайт из Австралии, если сервер в Германии |
| Пинг с вашего VPS | обязательно проверьте; идеально 1–6 мс |
| Переадресация | если бот показывает Redirect, проверять нужно конечный домен. Например, samsung.com ведёт на www.samsung.com — проверять надо второй. А если домен за CDN, для маскировки он подходит плохо |
Ускорение TCP: BBR
BBR — алгоритм управления перегрузкой, грубо говоря ускоритель TCP. Включить можно готовым скриптом:
wget -qO- https://raw.githubusercontent.com/VadimBoev/bbr/main/enable_bbr.sh | bashОбновление ядра XRay
Только для контейнера, развёрнутого через AmneziaVPN
Всё ниже относится к контейнеру amnezia-xray, который разворачивает приложение AmneziaVPN. Если XRay установлен иначе — вручную, своим скриптом или через панель 3X-UI, — имя контейнера и пути будут другими, и эти команды не подойдут.
Последняя проверка проводилась с XRay-core v26.3.27.
Сначала сверьте версии — иначе можно откатиться назад
Процедура ставит последнее релизное ядро. В свежих сборках AmneziaVPN ядро может оказаться новее релизного — нерелизной сборкой. Посмотрите текущую версию первой командой и сравните с последним релизом: если у вас уже новее, обновление не нужно и только откатит вас назад.
Начиная с какой именно версии приложения это так — уточняем; предположительно с 5.0.1.5.
# текущая версия ядра
docker exec amnezia-xray xray -version
# зайти в контейнер
docker exec -it amnezia-xray /bin/bash
# скачать последнее релизное ядро
cd /tmp && wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-64.zip
# распаковать, установить, выйти
unzip Xray-linux-64.zip && cp xray /usr/bin/xray && exit
# перезапустить контейнер и проверить версию
docker restart amnezia-xray && docker exec amnezia-xray xray -versionЕсли XRay перестал подключаться
- Проверьте версию ядра и при необходимости обновите — раздел Обновление ядра.
- Пройдите проверку домена: он мог перестать отвечать, сменить сертификат или уехать за CDN.
- Если проверки пройдены — смените fingerprint с
chromeнаfirefoxна клиенте. Это помогает чаще всего, а как именно менять — зависит от формата ключа, см. следующий раздел.
Смена fingerprint с chrome на firefox
Правка одна и та же — слово chrome меняется на firefox, — но искать его нужно в разных местах.
Оригинальный формат XRay (файл .json)
Откройте файл текстовым редактором, найдите строку "fingerprint": "chrome",, замените chrome на firefox, сохраните и загрузите файл в AmneziaVPN.
Ссылка vless://
Самый простой случай: это обычная строка. Найдите в ней кусок fp=chrome, замените на fp=firefox и добавьте новую ссылку в приложение.
Ключ AmneziaVPN (vpn://)
Ключ vpn:// — это упакованный конфиг, вручную его не отредактировать. Есть два способа.
Способ 1 — только Windows. Скачайте официальный декодер amnezia-vpn/config-decoder (файл cfgview.exe) и запустите его.
- В верхнее поле вставьте ссылку вида
vpn://— внизу появится расшифровка. - Найдите в расшифровке
"fingerprint\": \"chrome\"и заменитеchromeнаfirefox. - Ссылка
vpn://в верхнем поле изменится сама — добавьте её в AmneziaVPN.
Способ 2 — универсальный, работает везде. Откройте architect.vai-rice.space/mergekeys.
- Вставьте свой ключ
vpn://и нажмите кнопку JSON. - В строке
"last_config"найдите"fingerprint\": \"chrome\"и заменитеchromeнаfirefox. - Экспортируйте изменённый
vpn://— он скопируется в буфер обмена. Добавьте его в AmneziaVPN.
Панель 3X-UI
Здесь fingerprint называется полем uTLS: Панель 3X-UI.
В приложении виден только первый пользователь
Проблема характерна для очень старых сборок AmneziaVPN: протокол XRay был установлен устаревшей версией приложения. Потребуется полная переустановка — удалите XRay с сервера через приложение (меню «Управление») и установите заново.
Настройка протокола — не зона хостинга
Мы продаём сервер, а не VPN-сервис. Выбор домена маскировки, fingerprint и правил маршрутизации лежит на вашей стороне — см. зону ответственности. Этой страницей мы делимся тем, что собрали сами и что прислало сообщество, но разбирать чужие конфигурации мы не сможем.
- Вопросы по протоколу и параметрам — в сообщество Amnezia: русский чат, English.
- В поддержку хостинга пишите, если дело в самом сервере: не включается, недоступен, статус Bad State.
Источники
Материал этой страницы взят из инструкций Shidla — «Протокол XRay» — спасибо за собранный и проверенный материал.
