常见问题
编写高效配置

编写高效的配置文件

由于 iOS Network Extension 在 iOS 14 限制使用 15 MB 内存,在 iOS 15+ 限制使用 50 MB 内存,不合理的配置文件可能会导致 Stash 被 iOS 关闭。以下是一些建议,帮助您编写高效的配置文件。

配置合理的 DNS 服务器

Stash 会同时向所有的 DNS 服务器发起查询,然后通过 LRU 算法缓存 DNS 查询结果。在移动设备上,配置 1 到 2 个 DNS 服务器即可满足您的需求。

  • 使用 DoH、DoT、DoQ 比传统基于 UDP 的查询更消耗资源,延迟一般也更高
  • Stash 会使用 Fake IP 来避免需要代理的请求进行本地 DNS 查询。对于中国用户,建议使用国内 DNS,配置 8.8.8.8 / 1.1.1.1 等国外 DNS 服务没有任何意义。

使用规则集合

对于去广告、按 IP 地理信息分流等需要大量规则的场景,使用 domain / ipcidr 规则集合 可以降低内存占用,同时提高匹配速度。

⚠️

不建议使用大量 classical 规则集合,这会显著增加 Stash 的内存占用。

禁用 QUIC 协议

HTTP3 / QUIC 协议基于 UDP,在目前的网络环境下效率较低,建议通过 Script Shortcuts 来禁用。

script:
  shortcuts:
    quic: network == 'udp' and dst_port == 443
 
rules:
  - SCRIPT,quic,REJECT