Skip to content

[BUG][iOS] 规则中包含 GEOSITE,geolocation-!cn 或任意非 CN 国家的 GEOIP 时,连接报"内部错误"(单条 GEOIP,HK 即可复现,GEOSITE,cn 等均正常) #477

@SomeoneKong

Description

@SomeoneKong

操作系统/Operating System

iOS

系统版本/Operating System Version

iOS 26.5

App版本/App Version

1.0.24.1006

描述/Description

在同一份原本可以正常连接的配置上,仅添加以下任意一条规则,点击连接即报"内部错误",VPN 无法启动;删掉该行立即恢复正常:

  1. - GEOSITE,geolocation-!cn,PROXY
  2. 任意非 CN 国家的 GEOIP,例如单条 - GEOIP,HK,DIRECT

而同一份配置中的以下内容一直正常

  • GEOSITE,cn(11 万+ 条记录的大类别)、GEOSITE,gfwGEOSITE,category-ntp 规则
  • GEOIP,CN 规则
  • dns.nameserver-policy 中引用 geosite:gfw / geosite:geolocation-!cn(另一份正常使用的配置在用,无问题——同样的类别在 DNS policy 里没事,写进 rules 就触发)
  • http 类型 rule-provider(RULE-SET

我们通过 12 轮逐项二分(每轮只改一个变量、真机验证)确认上述两类规则是唯一触发条件,与节点数量/协议、proxy-groups 结构、DNS 段写法均无关。

与 FAQ"iOS 50M 内存上限"归因不符的证据

#437 中社区把同类"内部错误"归因为 iOS VPN 扩展 50M 内存上限,但本案数据与内存解释矛盾:

  • 携带 GEOSITE,cn(11 万条记录)的配置正常加载,添加一条数据量只有几 KB 的 GEOIP,HK 即失败;
  • 用官方 mihomo v1.19.19(与 App 内核同版本)在桌面实测:所有失败配置 -t 校验与真实启动均正常;且失败配置的内存占用(71–82MB)反而低于可正常加载配置(86MB)。

其他观察

  • App 内尝试更新 geo 时,调用 /configs/geo 返回 not support
  • (猜测,仅供参考,未取得内核日志证实):注意到 App 的 geo 资源按类别管理,下载基址为 https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/refs/heads/meta/geo/...(设置页可见),该域名在中国大陆无代理时不可达。怀疑与设备上 geo 资源的状态有关:历史配置长期引用过的类别(geosite 的 cn/gfw/private/category-ntp、geoip 的 cn)正常,新引用的类别即失败。仅为推测,期待维护者从内核侧确认实际失败点。

复现步骤/Reproduction steps

  1. 准备一份可正常连接的配置(rules 含 GEOSITE,cn,DIRECTGEOIP,CN,DIRECT 等,正常使用);
  2. 在 rules 中添加单行 - GEOIP,HK,DIRECT(或 - GEOSITE,geolocation-!cn,PROXY);
  3. 更新配置并点击连接 → 报"内部错误";
  4. 删除该行重新连接 → 恢复正常。

(注:若问题确与设备上 geo 资源状态有关,全新安装环境下可能无法复现;本设备上 100% 必现。)

日志/Log

未能在 App 中找到内核错误日志的入口;如有获取路径请告知,可立即补充。

网络环境/Network Check Results

中国大陆(中国移动蜂窝 / 家庭宽带),冷启动时无其他可用代理。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions