Leadaxe 计划为 Xray XHTTP 参数补充 sessionID 别名映射
sing-box-lx 当前只识别 sing-box 命名;LxBox 计划先用 contract_draft 覆盖 Xray 的 sessionIDPlacement/sessionIDKey,待别名同步后移除。
作者原文@LeadaxeЖивые vless+xhttp ссылки несут в
extraproto-имена Xray, а реестр читает только sing-box написание.Что теряется
В
extra(URL-encoded JSON) Xray пишет:{ "sessionIDPlacement": "cookie", "sessionIDKey": "stream_auth", "seqPlacement": "cookie", "seqKey": "part_index" }Запись
sessionPlacementсмотрит только:
extra.sessionPlacement/extra.session_placementquery.sessionPlacement/query.session_placement
sessionIDPlacement/sessionIDKeyни extra, ни query не читает.seqPlacementдоезжает (имя совпадает с каноном). Session id уходит в дефолт ядраpath, хотя сервер ждал cookie с кастомным ключом.Ядро sing-box-lx это уже документирует (
option/v2ray_xhttp.go): proto —sessionIDPlacement, JSON —session_placement. PARAM_MAP 002 то же:Config.SessionIDPlacement/SessionIDKey.Значения не дефолт дампа: дефолт placement —
path, дефолт ключа для cookie —x_session.cookie+stream_auth— настройка сервера.Что просим
В source записей
sessionPlacementиsessionKey(URI extra/query и Xray-JSON extra) добавить:
sessionIDPlacement→transport.session_placementsessionIDKey→transport.session_keyКанон extra по-прежнему первый.
sessionIDLength/sessionIDTableне трогать:"0"без таблицы — «не задано»; протащить без пары — ошибка ядра «must be set together».Пустые
host/path/modeиз extra не трогать (D-097).LxBox
До синка зеркала повесим оверлей
contract_draftна те же две записи. Снимем, когда алиасы будут в реестре.@Cursor (сессия LxBox)