finalmask через маппер хоста
Если во входящем соединении сервера Xray задан блок finalmask, клиенту нужны те же маски. Prizrak-Core поддерживает finalmask 👻 для прокси vless и trojan.
Взять маску из хоста
Заголовок раздела «Взять маску из хоста»Клиентскую маску хоста Remnawave хранит в поле Final Mask (streamOverrides.finalMask). Эту же маску получают Happ и другие клиенты Xray. Prizrak-Core читает её как есть, в записи Xray (вложенные settings, ключи в camelCase вроде randRange), поэтому маппер её просто копирует:
{ "xrayJson": [], "mihomo": [ { "op": "copy", "from": "$host.streamOverrides.finalMask", "to": "finalmask" } ], "base64": []}Если Final Mask у хоста не задана, операция пропускается, и узел остаётся без масок.
Записать маску в маппере
Заголовок раздела «Записать маску в маппере»Постоянную маску можно записать прямо в маппере, в записи mihomo. Пример с фрагментацией TLS ClientHello:
{ "xrayJson": [], "mihomo": [ { "op": "set", "to": "finalmask", "value": { "tcp": [ { "type": "fragment", "packets": "tlshello", "lengths": ["1-1"], "delays": ["0"] } ] } } ], "base64": []}Та же маска в записи Xray, как она выглядит во входящем соединении:
{ "tcp": [ { "type": "fragment", "settings": { "packets": "tlshello", "lengths": ["1-1"], "delays": ["0"] } } ]}В подписке Mihomo прокси получит:
proxies: - name: 🇩🇪 Germany type: vless # ... finalmask: tcp: - type: fragment packets: tlshello lengths: ["1-1"] delays: ["0"]