From 442e99f93e8d8ddaf2121eca25e84d9837cfcf39 Mon Sep 17 00:00:00 2001 From: LjhAUMEM Date: Sun, 31 May 2026 16:32:28 +0800 Subject: [PATCH] FinalMask: New xicmp (#855) Co-authored-by: null --- docs/config/transports/finalmask.md | 12 ++++-------- docs/en/config/transports/finalmask.md | 12 ++++-------- docs/ru/config/transports/finalmask.md | 12 ++++-------- 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/docs/config/transports/finalmask.md b/docs/config/transports/finalmask.md index 4ff76023..b9b05022 100644 --- a/docs/config/transports/finalmask.md +++ b/docs/config/transports/finalmask.md @@ -330,20 +330,16 @@ Salamander 混淆。(来自 Hysteria2) ### xicmp -要求至少 `CAP_NET_RAW` 权限且在最外层,也就是数组第一个,不可搭配 `udpHop` 与 `dialerProxy`。 - ```json { - "listenIp": "0.0.0.0", - "id": 0 + "dgram": false, // optional + "ips": [] // optional } ``` -`listenIp`: 监听的 ip,默认 `"0.0.0.0"` +`dgram`: 更低的权限,仅客户端 (Linux, Mac, iOS) -注意此处与常规的 TCP/UDP 监听通用 `"0.0.0.0"` 与 `"::"` 不同,由于基于 IPv4 的 ICMP 和 基于 IPv6 的 ICMPv6 的协议不通用,此处指定为 `"0.0.0.0"` 代表只监听使用 IPv4 的 ICMP,反之亦然。 - -`id`: 如果同 ip 下有多客户端,建议服务端保持为 0。 +`ips`: ips ## quicParams diff --git a/docs/en/config/transports/finalmask.md b/docs/en/config/transports/finalmask.md index 1e583213..1d8e9927 100644 --- a/docs/en/config/transports/finalmask.md +++ b/docs/en/config/transports/finalmask.md @@ -330,20 +330,16 @@ At least one of `domains` and `resolvers` must be set. ### xicmp -Requires at least `CAP_NET_RAW` permissions and must be the outermost layer, which means the first item in the array. It cannot be used together with `udpHop` or `dialerProxy`. - ```json { - "listenIp": "0.0.0.0", - "id": 0 + "dgram": false, // optional + "ips": [] // optional } ``` -`listenIp`: the IP address to listen on. The default is `"0.0.0.0"`. +`dgram`: Lower permissions, client-side only (Linux, Mac, iOS) -Note that this differs from the usual TCP/UDP listening addresses `"0.0.0.0"` and `"::"`. Because ICMP over IPv4 and ICMPv6 over IPv6 are not interchangeable protocols, specifying `"0.0.0.0"` here means listening only for IPv4 ICMP, and the same applies in reverse. - -`id`: if multiple clients share the same IP, it is recommended that the server keep this as `0`. +`ips`: ips ## quicParams diff --git a/docs/ru/config/transports/finalmask.md b/docs/ru/config/transports/finalmask.md index 3b6fb73f..c00ec2a3 100644 --- a/docs/ru/config/transports/finalmask.md +++ b/docs/ru/config/transports/finalmask.md @@ -330,20 +330,16 @@ FinalMask добавляет последний слой маскировки п ### xicmp -Требует как минимум права `CAP_NET_RAW` и должен быть самым внешним слоем, то есть первым элементом массива. Его нельзя использовать вместе с `udpHop` и `dialerProxy`. - ```json { - "listenIp": "0.0.0.0", - "id": 0 + "dgram": false, // optional + "ips": [] // optional } ``` -`listenIp`: IP-адрес для прослушивания. По умолчанию `"0.0.0.0"`. +`dgram`: Более низкие права доступа, только на стороне клиента (Linux, Mac, iOS) -Обратите внимание, что это отличается от обычных адресов прослушивания TCP/UDP `"0.0.0.0"` и `"::"`. Поскольку ICMP по IPv4 и ICMPv6 по IPv6 несовместимы, указание `"0.0.0.0"` здесь означает прослушивание только IPv4 ICMP, и наоборот. - -`id`: если один IP используется несколькими клиентами, серверу рекомендуется оставлять это значение равным `0`. +`ips`: ips ## quicParams