入站、监听器与 TUN
Clash 使用 Apple Network Extension 建立 Packet Tunnel。Apple 系统负责虚拟接口、路由与生命周期,因此 Linux 或桌面 mihomo 的 TUN 配置不能逐字映射到 iOS、macOS 和 tvOS。
支持什么
- iOS、macOS 与 tvOS 均支持 Packet Tunnel 与 TUN 配置。日常使用不需要手动指定虚拟网卡或桌面路由参数。
- Hako 会根据当前平台安装路由,并强制、修复或忽略不适用于 Network Extension 的 TUN 字段。
- macOS 可提供进程名、进程路径和 UID 路由元数据;iOS / tvOS 不提供。
三平台 TUN 协议栈
iOS、macOS 与 tvOS 均支持 gVisor、System 与 Mixed 三种 TUN 协议栈,覆盖启动、 TCP/UDP/DNS、路由、重连、跨栈切换与停止清理。
Mixed 的运行状态当前通过配置回读、切换状态与数据面表现确认;独立运行时栈标识将在后续内核交付中补齐。
不要当成默认能力
本地端口、allow-lan、自定义 listeners、tunnels、服务端配置与外部控制器都可能开放设备上的服务。这些字段由内核识别,不代表适合默认开启。Apple Packet Tunnel 也不支持 interface-name、routing-mark、iptables 和 Linux TPROXY 路由。
83 个字段
| 字段 | 类型 | iOS | macOS | tvOS | 平台说明 |
|---|---|---|---|---|---|
allow-lan | bool | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
authentication | []string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
bind-address | string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
inbound-mptcp | bool | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
inbound-tfo | bool | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
interface-name | string | 不支持 | 不支持 | 不支持 | Apple Packet Tunnel 不提供 Linux 式接口、mark 或 iptables 路由。 |
iptables.bypass | []string | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
iptables.dns-redirect | bool | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
iptables.enable | bool | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
iptables.inbound-interface | string | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
lan-allowed-ips | []netip.Prefix | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
lan-disallowed-ips | []netip.Prefix | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
listeners | []map[string]any | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
mixed-port | int | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
port | int | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
redir-port | int | 不支持 | 不支持 | 不支持 | 在 Apple Packet Tunnel 运行环境中被移除或不会被处理。 |
routing-mark | int | 不支持 | 不支持 | 不支持 | Apple Packet Tunnel 不提供 Linux 式接口、mark 或 iptables 路由。 |
skip-auth-prefixes | []netip.Prefix | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
socks-port | int | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
ss-config | string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tproxy-port | int | 不支持 | 不支持 | 不支持 | 在 Apple Packet Tunnel 运行环境中被移除或不会被处理。 |
tuic-server.alpn | []string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.authentication-timeout | int | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.certificate | string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.congestion-controller | string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.cwnd | int | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.enable | bool | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.listen | string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.max-idle-time | int | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.max-udp-relay-packet-size | int | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.private-key | string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.token | []string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tuic-server.users | map[string]string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
tun.auto-detect-interface | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.auto-redirect | bool | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.auto-redirect-input-mark | uint32 | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.auto-redirect-iproute2-fallback-rule-index | int | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.auto-redirect-output-mark | uint32 | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.auto-route | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.device | string | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.disable-icmp-forwarding | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.dns-hijack | []string | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.enable | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.endpoint-independent-nat | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-dst-port | []uint16 | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-dst-port-range | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-interface | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-mac-address | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-package | []string | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.exclude-src-port | []uint16 | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-src-port-range | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-uid | []uint32 | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.exclude-uid-range | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.file-descriptor | int | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.gso | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.gso-max-size | uint32 | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.icmp-timeout | int64 | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.include-android-user | []int | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.include-interface | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.include-mac-address | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.include-package | []string | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.include-uid | []uint32 | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.include-uid-range | []string | 不支持 | 不支持 | 不支持 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.inet4-route-address | []netip.Prefix | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.inet4-route-exclude-address | []netip.Prefix | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.inet6-address | []netip.Prefix | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.inet6-route-address | []netip.Prefix | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.inet6-route-exclude-address | []netip.Prefix | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.iproute2-rule-index | int | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.iproute2-table-index | int | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.loopback-address | []netip.Addr | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.mtu | uint32 | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.recvmsgx | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.route-address | []netip.Prefix | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.route-address-set | []string | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.route-exclude-address | []netip.Prefix | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.route-exclude-address-set | []string | 不适用 | 不适用 | 不适用 | 属于 Android、Linux 或其他非 Apple 环境。 |
tun.sendmsgx | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.stack | C.TUNStack | 支持 | 支持 | 支持 | iOS、macOS 与 tvOS 均支持 gVisor、System 与 Mixed。Mixed 的独立运行时栈标识将在后续内核交付中补齐。 |
tun.strict-route | bool | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tun.udp-timeout | int64 | 受管理 / 有限制 | 受管理 / 有限制 | 受管理 / 有限制 | 路由和接口由 Apple Network Extension 管理;Hako 可能强制或忽略桌面 TUN 字段。 |
tunnels | []LC.Tunnel | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |
vmess-config | string | 高级功能 | 高级功能 | 高级功能 | 可能开放监听或控制面;仅在明确控制访问并设置强凭据时使用。 |