1. База знаний
  2. Транспорты

XHTTP

Главный рецепт с 11.2025: selfsni, режимы, padding.

Пруфов: 14Обновлено 17.09.2026Исходник 2 мин чтения
  • «xhttp+selfsni — главный рабочий рецепт: воскрешает всё»; большие VPN пересели на xHTTP + селфстил сни (70к юзеров), работает на iPhone (до XR, проверено на 10 айфонах 13–16), скорость у многих выросла вдвое. Минусы: Mihomo/Clash-клиенты не поддерживают пруф.
  • Инбаунд Reality+xhttp note_014 · пруф:
"streamSettings": {
  "network": "xhttp", "security": "reality",
  "xhttpSettings": {"host": "ДОМЕН", "mode": "stream-one", "path": "/video-stream"},
  "realitySettings": {"dest": "/dev/shm/nginx.sock", "show": false, "xver": 1, "spiderX": "",
    "shortIds": ["157b68017451de6d"], "privateKey": "СВОЙ", "serverNames": ["ДОМЕН"]}
}
  • xhttp+TLS+selfsni (Никита ТПСУ, серты letsencrypt в докер ноды) пруф:
{"tag": "xHTTP", "port": 443, "listen": "0.0.0.0", "protocol": "vless",
 "settings": {"clients": [], "decryption": "none"},
 "sniffing": {"enabled": true, "routeOnly": false, "destOverride": ["http","tls","quic"], "metadataOnly": false},
 "streamSettings": {
   "network": "xhttp", "security": "tls",
   "tlsSettings": {"alpn": ["h2","http/1.1"], "maxVersion": "1.3", "minVersion": "1.2",
     "serverName": "селфсни", "fingerprint": "chrome", ...}}}
location /xhttppath/ { client_max_body_size 0; grpc_set_header X-Forwarded-For;
  grpc_read_timeout 315; grpc_send_timeout 5m; grpc_pass unix:/dev/shm/xrxh.socket; }
  • Смена дня: TCP банили → люди пересаживались на xhttp: «когда поймали tcp, на xhttp сразу заработало и почти без потери скорости» пруф; TCP работает, но «троить начала — планирую на xhttp пересесть» ~02.04.26.
  • XHTTP не ставят в проде — «встретишь редко», у большинства TCP как основа 27.04.26; на XHTTP у юзеров автоматом вырубается инет на айфоне 27.04.26.
  • mihomo: vless+xhttp+tls не работает (у одного) 03.07.26; поддержка xhttp в mihomo — всё ещё в альфе 16.06.26.
  • Новое ядро XHTTP (INCY на ласт ядре): изменены значения (коммит e10347bf01f28bca118002963ee29bbcf529cb25, PR #6258 XTLS/Xray-core) — старые XHTTP+CDN конфиги могут не работать; INCY поддерживает и новые, и старые поля; в Happ ядро старое, поэтому там работает 15.06.26.
  • Переход на новое ядро: sessionKey → sessionIDKey, sessionIDPlacement аналогично — но этого мало 24.06.26.
  • XHTTP extra (пакет-режим) 24.06.26: mode packet-up, path /api/v4/media/session/poll, xmux cMaxReuseTimes 32-64, maxConcurrency 4-8, hKeepAlivePeriod 0, hMaxRequestTimes 256-512, hMaxReusableSecs 600-900, seqKey offset, xPaddingKey q, sessionIDKey media_sid, uplinkDataKey X-Playback-Token, xPaddingBytes 32-128, xPaddingHeader X-Rewrite-URL, xPaddingMethod tokenish, uplinkHTTPMethod GET, xPaddingObfsMode true, xPaddingPlacement queryInHeader, scMaxBufferedPosts 16, scMaxEachPostBytes 2048+.
  • Xray 26.7.11: формирование URL изменено — раньше клиент отправлял /poll/?offset=..., теперь /poll?offset=... без завершающего /; INCY ругался на неверный путь — фикс: добавить слеш в конец path; Happ переваривает и так и так 14.07.26.
  • Новый happ iOS меняет в конфиге sessionIDKey → sessionKey; в хаппе не отправляется ничего кроме sessionIDkey — сервер лог: stream-one mode is not allowed (transport/internet/splithttp); причина в id-placement — держать полный набор ID-параметров разом 13.07.26.