Бесплатно 🕒 Актуально на 4 июня 2026

Протоколы и обфускация

DPI ловит по трём признакам: рукопожатие/SNI, поведение трафика, IP. Транспорт закрывает первые два.

Что выбрать

Протокол Когда Плюсы Минусы
VLESS + Reality базовый выбор для TCP/443 без своего домена/сертификата, маскируется под чужой реальный TLS нужен «донор»-сайт со свежим TLS 1.3
Hysteria2 мобильные сети, потери, where TCP режут QUIC/UDP, быстрый на плохих каналах UDP иногда режут — держите как второй
VLESS+gRPC/WS за CDN когда блокируют по IP прячется за CDN-домен чуть выше задержка

Практика: на ноду ставим Reality (443/TCP) + Hysteria2 (UDP). Клиент сам выберет рабочий.

📂 Детальный разбор всех профилей (VLESS-TCP-Reality, Self-steal, TCP-TLS, XHTTP-TLS/Reality/Self-steal, Hysteria2, Trojan, Shadowsocks-2022, WARP native) — с командами и готовыми конфигами — в статье «Профили подключений (inbounds)».

VLESS + Reality (xray inbound)

Сгенерируйте ключи и id:

# x25519 ключи (privateKey → на сервер, publicKey → клиенту)
xray x25519
# короткий shortId
openssl rand -hex 8
# uuid пользователя
xray uuid

Inbound на ноде (dest — реальный «донор» с TLS 1.3, напр. микрософт/гугл-домен):

{
  "listen": "0.0.0.0",
  "port": 443,
  "protocol": "vless",
  "settings": {
    "clients": [{ "id": "UUID_КЛИЕНТА", "flow": "xtls-rprx-vision" }],
    "decryption": "none"
  },
  "streamSettings": {
    "network": "tcp",
    "security": "reality",
    "realitySettings": {
      "show": false,
      "dest": "www.microsoft.com:443",
      "serverNames": ["www.microsoft.com"],
      "privateKey": "PRIVATE_KEY_X25519",
      "shortIds": ["SHORT_ID_HEX"]
    }
  }
}

Правила выбора dest/serverNames: - домен с TLS 1.3 + HTTP/2, не за CDN, не ваш; - не самый «палевный» — лучше нейтральные сервисы; - разные serverNames на разных нодах, не один на всех.

Hysteria2 (config.yaml)

listen: ":443"
tls:
  cert: /etc/hysteria/fullchain.pem
  key: /etc/hysteria/privkey.pem
auth:
  type: password
  password: СИЛЬНЫЙ_ПАРОЛЬ
masquerade:           # маскировка под обычный сайт при «тыке» браузером
  type: proxy
  proxy:
    url: https://news.ycombinator.com
    rewriteHost: true
bandwidth:
  up: 200 mbps
  down: 200 mbps

Hysteria2 любит, когда сервер не лимитирует UDP. Для TLS подойдёт обычный Let's Encrypt сертификат вашего домена ноды.

Trojan

Trojan прикидывается обычным HTTPS-сайтом: при «тыке» браузером отдаёт настоящий сайт (fallback), а проксирует только клиентов с верным паролем. Нужен домен + TLS-сертификат (Let's Encrypt) ИЛИ можно поднять Trojan поверх Reality (без своего домена/серта).

Trojan + TLS (свой домен, есть fallback на сайт)

{
  "tag":"trojan-tls","listen":"0.0.0.0","port":443,"protocol":"trojan",
  "settings":{
    "clients":[{"password":"СИЛЬНЫЙ_ПАРОЛЬ"}],
    "fallbacks":[{"dest":"8080"}]            // сюда уходит «левый» трафик (реальный сайт/nginx)
  },
  "streamSettings":{"network":"tcp","security":"tls",
    "tlsSettings":{"serverName":"your.domain",
      "certificates":[{"certificateFile":"/etc/letsencrypt/live/your.domain/fullchain.pem",
                       "keyFile":"/etc/letsencrypt/live/your.domain/privkey.pem"}]}}
}

Получить сертификат:

apt -y install certbot
certbot certonly --standalone -d your.domain

Trojan + Reality (без своего домена/серта)

{
  "tag":"trojan-reality","listen":"0.0.0.0","port":443,"protocol":"trojan",
  "settings":{"clients":[{"password":"СИЛЬНЫЙ_ПАРОЛЬ"}]},
  "streamSettings":{"network":"tcp","security":"reality",
    "realitySettings":{"dest":"www.microsoft.com:443","serverNames":["www.microsoft.com"],
      "privateKey":"PRIV","shortIds":["a1b2c3d4"]}}
}

Когда Trojan: как альтернатива/резерв к VLESS — другой протокол на случай, если VLESS-паттерн начнут фингерпринтить. Trojan+gRPC за CDN — ещё один вариант обхода по IP.

Shadowsocks-2022 (резерв)

SS-2022 (2022-blake3-aes-128-gcm) — лёгкий протокол без TLS-рукопожатия; полезен как запасной канал и для слабых устройств. Минус — нет TLS-маскировки, под жёстким DPI заметнее; держите как дополнение, не как основной для РФ.

{
  "tag":"ss2022","listen":"0.0.0.0","port":8388,"protocol":"shadowsocks",
  "settings":{"method":"2022-blake3-aes-128-gcm","password":"BASE64_16BYTE_KEY","network":"tcp,udp"}
}

Ключ: openssl rand -base64 16.

Несколько протоколов/транспортов на одной ноде и как отдать их хостами — в статье «Хосты — несколько нод и транспортов».

Гигиена протоколов

  • Не светите один SNI/донор на всех нодах — ротируйте.
  • Держите два транспорта на ноде (Reality + Hysteria2): один режут — работает второй.
  • Меняйте порты/доноры после волны блокировок.
  • Клиентам отдавайте подписку с несколькими конфигами (панель умеет) — авто-фейловер.

Дальше — что делать, когда IP/подсеть всё-таки заблокировали.