# Sub-Store + Shadowrocket 推进方案

目标：手机 VPN 常开，同时让 ChatGPT/Codex 稳定走代理，国内 App、局域网、支付、飞书、个人网关尽量直连。

## 设计结论

采用两级方案：

1. Shadowrocket 继续作为手机 VPN 客户端。
2. Sub-Store 负责把机场订阅、策略组、AI 规则、国内直连规则合成为一个 Shadowrocket 订阅 URL。

这样手机端只需要更新一个订阅；以后改规则不用在手机里手工维护。

## 策略组

建议保留浅层结构：

```text
Proxy  -> 手动选择或少量稳定节点
AI     -> 默认跟随 Proxy，可临时单独切换
Global -> 临时全局代理兜底
DIRECT -> 直连
```

不建议在手机上复制路由器 OpenClash 的复杂多层组。历史经验里，节点组过深会导致实际生效组和你看到的 GLOBAL/Proxy 不一致；当前目标是无感和可控。

## 规则顺序

最终规则顺序应是：

```text
1. AI / ChatGPT / Codex -> AI
2. 局域网 / captive portal / 个人网关 -> DIRECT
3. 国内办公与日常 App -> DIRECT
4. GEOIP,CN -> DIRECT
5. FINAL -> Proxy
```

## DNS 原则

手机侧先保守处理：

```text
ipv6 = false
国内 DNS: 223.5.5.5 / 119.29.29.29
海外 DNS: 1.1.1.1 / 8.8.8.8
```

原因：你之前在 Clash/Mihomo TUN + fake-ip 环境里遇到过 IPv6 no route 重试风暴。手机常开 VPN 的第一版应优先稳定，等规则稳定后再单独评估 IPv6。

## 文件说明

- `shadowrocket-jackson-template.conf`
  - Shadowrocket 基础导入模板。
  - 需要把 `SUBSCRIPTION_URL_PLACEHOLDER` 替换为真实订阅 URL，或通过 Sub-Store 生成最终配置。
- `rules-ai-proxy.list`
  - AI / OpenAI / ChatGPT / Codex 代理规则。
- `rules-direct-cn-mobile.list`
  - 国内、局域网、支付、飞书、个人网关直连规则。

## 下一步

要做成真正“一键导入”，还需要二选一：

1. 提供你的机场订阅 URL，我在本机生成一个不回显密钥的最终配置文件。
2. 提供 Sub-Store 地址或部署位置，我生成 Sub-Store 合成配置和最终 Shadowrocket 订阅入口。

敏感订阅 URL 不应写进 memory、skill、README 或聊天最终答复。
