Как настроить обход белого списка в 3x-ui с использованием vless+xray?
Недавно началась блокировка мобильного интернета через whitelists сайтов. Интересно, существуют ли простые методы маскировки под такие whitelists для обеспечения работы интернета под глушилками. Предполагаю, что решение может быть связано с использованием SNI whitelisted сайтов, но не до конца понимаю механизм разрешения доменов при работе с глушилками.
3x-ui с VLESS+Xray можно настроить для обхода белого списка с помощью протокола REALITY и подмены SNI на разрешенные домены. Основной метод заключается в использовании xtls-rprx-vision потока с указанием whitelisted доменов в качестве destination и serverNames, что маскирует ваш трафик под обычный HTTPS трафик на разрешенные сайты.
Содержание
- Обход белого списка: основы и принципы
- Технический механизм SNI-спуфинга
- Пошаговая настройка 3x-ui с VLESS+REALITY
- Оптимальные whitelisted домены для SNI
- Тестирование и устранение неполадок
- Дополнительные методы обхода блокировок
- Безопасность и рекомендации
Обход белого списка: основы и принципы
Белый список (whitelist) - это механизм интернет-цензуры, при котором доступ разрешен только к определенным доменам и сайтам. В условиях блокировки мобильного интернета провайдеры используют SNI (Server Name Indication) в TLS-рукопожатии для определения назначения трафика. Если SNI соответствует домену из белого списка, трафик пропускается, иначе блокируется.
Принцип обхода основан на маскировке вашего прокси-трафика под трафик на whitelisted домены. Когда вы используете VLESS с REALITY и правильной конфигурацией SNI, ваш трафик выглядит как обычное HTTPS-соединение с разрешенным сайтом, что позволяет обойти блокировки.
Важно: REALITY - это продвинутый протокол, разработанный специально для обхода SNI-фильтрации, который использует криптографические механизмы для обхода активного анализа трафика.
Технический механизм SNI-спуфинга
SNI-спуфинг работает путем подмены имени сервера в TLS-рукопожатии на разрешенный домен. Когда ваш клиент подключается к серверу через VLESS+REALITY, он отправляет SNI, указанный в конфигурации, вместо реального имени вашего прокси-сервера.
Процесс выглядит следующим образом:
- Клиент отправляет TLS ClientHello с подмененным SNI (whitelisted домен)
- Сервер REALITY принимает соединение и шифрует трафик
- Трафик выглядит как обычное HTTPS-соединение с указанным доменом
- Глушилка видит разрешенный SNI и пропускает трафик
Ключевые параметры конфигурации:
dest: Целевой домен и порт (например,www.google-analytics.com:443)serverNames: Массив разрешенных SNI (обычно тот же домен)flow:xtls-rprx-visionдля максимальной защиты от анализа
Пошаговая настройка 3x-ui с VLESS+REALITY
Шаг 1: Установка 3x-ui
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
После установки получите доступ к панели по адресу https://ваш_IP:54321 с логином и паролем, указанными при установке.
Шаг 2: Создание входящего соединения (Inbound)
- Войдите в панель 3x-ui
- Перейдите в раздел “Inbounds” → “Add”
- Заполните параметры:
- Listen:
0.0.0.0 - Port:
443(или другой разрешенный порт) - Protocol:
vless - Settings:
- Clients: Добавьте нового клиента с UUID
- Decryption:
none
- Stream Settings:
- Network:
tcp - Security:
reality - Reality Settings:
- show:
false - dest:
whitelisted_domain.com:443 - xver:
0 - serverNames:
["whitelisted_domain.com"] - privateKey: Ваш сгенерированный приватный ключ
- show:
- Network:
- Listen:
Шаг 3: Настройка маршрутизации (Routing)
Добавьте правила маршрутизации для блокировки нежелательного трафика:
{
"log": {
"loglevel": "warning"
},
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": ["geosite:category-ads-all"],
"outboundTag": "block"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "block"
}
]
}
}
Шаг 4: Конфигурация клиента
Настройте клиентское приложение (например, V2RayN, v2RayTun) с параметрами:
- Address: Ваш IP-адрес сервера
- Port: 443
- ID: UUID клиента
- Flow:
xtls-rprx-vision - Host: whitelisted_domain.com
- TLS:
true, SNI:whitelisted_domain.com
Оптимальные whitelisted домены для SNI
Не все домены одинаково эффективны для SNI-спуфинга. Оптимальные варианты:
Рекомендуемые домены:
www.google-analytics.comwww.google.comwww.microsoft.comwww.amazon.comwww.cloudflare.comwww.facebook.comwww.twitter.com
Критерии выбора доменов:
- Высокая частота использования: Домены, которые активно используются в регионе
- SSL-сертификат: Домены с валидными SSL-сертификатами
- Стабильность: Домены, которые редко меняют IP-адреса
- Низкая блокировка: Домены, которые не блокируются провайдерами
Совет: Регулярно обновляйте список whitelisted доменов, так как некоторые провайдеры могут начать блокировать популярные домены для спуфинга.
Тестирование и устранение неполадок
Основные тесты для проверки работы:
-
Проверка соединения:
bashcurl -v --resolve whitelisted_domain.com:443:ваш_IP https://whitelisted_domain.com
-
Анализ логов:
- В 3x-ui: “Logs” → “Xray Logs”
- Ищите ошибки TLS или REALITY
-
Проверка SNI:
Используйте инструменты типаWiresharkдля анализа TLS-рукопожатий
Частые проблемы и решения:
| Проблема | Возможное решение |
|---|---|
| Не устанавливается соединение | Проверьте приватный ключ и serverNames |
| Трафик блокируется | Попробуйте другой whitelisted домен |
| Медленная скорость | Убедитесь, что порт 443 не перегружен |
| Ошибки TLS | Проверьте совпадение dest и serverNames |
Дополнительные методы обхода блокировок
1. Fallback конфигурация
Настройте fallback для伪装а под обычный веб-трафик:
{
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [...],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "whitelisted_domain.com:443",
"xver": 0,
"serverNames": ["whitelisted_domain.com"]
}
},
"sniff": true
}
]
}
2. Гибридные конфигурации
Используйте комбинацию VLESS+WebSocket или HTTP/2 для дополнительной маскировки:
{
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/whitelisted-path"
}
}
}
]
}
3. CDN прокси
Настройте проксирование через CDN для дополнительной анонимности:
location / {
proxy_pass http://localhost:443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Безопасность и рекомендации
Основные меры безопасности:
- Регулярное обновление: Обновляйте 3x-ui и Xray-core
- Мониторинг: Настройте мониторинг использования трафика
- Ограничение доступа: Используйте IP-белые списки
- Шифрование: Всегда используйте REALITY или другие безопасные протоколы
Рекомендуемые практики:
- Используйте уникальные UUID для каждого клиента
- Регулярно меняйте порты и домены для SNI
- Настройте ограничения по трафику и времени использования
- Включайте логирование для мониторинга suspicious активностей
Важно: Всегда проверяйте легальность использования таких методов в вашем регионе. Некоторые страны имеют строгие законы об обходе интернет-цензуры.
Источники
- GitHub - MHSanaei/3x-ui: Xray panel supporting multi-protocol multi-user
- GitHub - hxehex/russia-mobile-internet-whitelist: a list of domains that remain accessible in russia during mobile internet throttling
- How does XTLS REALITY break through the whitelist? REALITY source code analysis - ObjShadow’s Blog
- SNI fallback | Project X
- ExtraVM XRay Core | VLESS+Reality Vision VPN - Alexander Goldcheidt
- VLESS + TCP + REALITY | XTLS/Xray-examples | DeepWiki
Заключение
Настройка обхода белого списка в 3x-ui с использованием VLESS+Xray требует правильной конфигурации REALITY с whitelisted доменами. Основные шаги включают установку 3x-ui, настройку входящих соединений с правильными параметрами REALITY и выбор оптимальных доменов для SNI-спуфинга.
Для успешной работы:
- Всегда используйте актуальные whitelisted домены
- Настраивайте правильные параметры REALITY (dest, serverNames, flow)
- Регулярно тестируйте соединение и анализируйте логи
- Сохраняйте баланс между эффективностью обхода и безопасностью
При правильной настройке этот метод позволяет эффективно обходить блокировки мобильного интернета через whitelists, маскируя трафик под обычные HTTPS-соединения с разрешенными сайтами.