НазадДобавить комментарий
Hysteria2 с salamander-obfs не подключается: obfs пишется в hysteriaSettings.obfs, а xray-core 26.x ждёт его в finalmask
БагГотовоКритичноПубличныйDesktop
Автор: k**********@gmail.com
Продукт: Приложение INCY
Создан: 10.09.2026, 14:31:05
Версия приложения: 3.4.1
Версия ОС: macOS 15.7.9
Модель устройства: Macbook Air 13 M4
Тип: баг · Desktop, macOS arm64
Версии INCY: 3.4.1 и 3.8.6 (встроенный xray 26.7.28 и 26.9.9) — в 3.8.6 не исправлено
Сервер: 3x-ui 3.6.0, xray-core 26.7.28, inbound Hysteria2 (version 2) с salamander-obfs
ЧТО ПРОИСХОДИТ
Hysteria2-сервер из подписки (ссылка вида hysteria2://…?obfs=salamander&obfs-password=…) импортируется корректно, все параметры в INCY верные (auth, obfs-password, SNI, ALPN h3, fingerprint), но подключение не работает — трафик не идёт. Та же подписка в Happ работает.
Похоже, это причина закрытого issue «Проблемы с Hysteria 2» (https://feedback.incy.cc/issues/cmq6zc5c0000elwfix7l1xmlx): там после обновления панели до 3.x Hysteria в INCY перестала работать, а в Happ работает. Дело не в настройках сервера — ниже воспроизведение.
ПРИЧИНА
INCY кладёт obfs внутрь hysteriaSettings:
"hysteriaSettings": {"version": 2, "auth": "…", "obfs": {"type": "salamander", "password": "…"}}
В xray-core 26.x такого поля нет: ключ молча игнорируется (в debug-логе о нём ни слова), клиент шлёт QUIC без salamander, и сервер отбрасывает пакеты.
В xray 26.x salamander задаётся через finalmask:
"streamSettings": {
"network": "hysteria",
"hysteriaSettings": {"version": 2, "auth": "…"},
"finalmask": {"udp": [{"type": "salamander", "settings": {"password": "…"}}]},
"security": "tls",
"tlsSettings": {"serverName": "…", "alpn": ["h3"], "fingerprint": "firefox"}
}
Именно в таком виде конфиг отдаёт 3x-ui 3.x в JSON-подписке, и с ним работает Happ.
КАК ПРОВЕРИЛ
Встроенным xray из INCY (26.7.28 из 3.4.1 и 26.9.9 из 3.8.6), одна сеть, одна минута, одинаковые auth и пароль obfs:
- obfs в hysteriaSettings.obfs — 3 из 3 запросов не проходят; на сервере UDP-поток в состоянии UNREPLIED (пакеты доходят, ответа нет);
- obfs в streamSettings.finalmask.udp — всё работает, ~20 Мбит/с.
ЧТО ПРЕДЛАГАЮ
При сборке Hysteria2-outbound для xray-core ≥ 26 переносить obfs/obfs-password из ссылки в
streamSettings.finalmask.udp = [{"type": "salamander","settings": {"password": "…"}}]
вместо hysteriaSettings.obfs.Комментарии (1)
Команда INCYadmin13.09.2026, 23:42:21
FIX в след версии