
# Ekko Rules
**把机场订阅换成一份能直接导入的完整配置**
节点 · DNS · 策略组 · 分流规则,一个文件全给你
[](LICENSE)
[](https://github.com/ZaunEkko/ekko-rules/actions/workflows/validate.yml)
[](#三步拿到配置)
[](#在自己电脑上跑一份)
[](#三步拿到配置)
**[在线转换](https://sub.boxnook.cc)** · [自己部署](#在自己电脑上跑一份) · [规则说明](#重点分流) · [English](README_EN.md)
---
## 三步拿到配置
**1.** 打开 **[sub.boxnook.cc](https://sub.boxnook.cc)**
**2.** 粘贴机场订阅地址(输入框默认打码)
**3.** 点「一键导入 Clash / Mihomo」(选哪个客户端,按钮就变成哪个)
完了。第一次打开页面会自动带你走一遍这三步,标题旁的「重看引导」可以回放。需要的话在「高级选项」里勾 UDP、XUDP 这类开关,链接会当场跟着变;也可以复制链接或扫码。Shadowrocket 例外:页面会明确给出 **① 节点订阅、② 分流配置** 两个按钮和两张二维码,必须按顺序都导入。第 1 步在首页建立可刷新的节点订阅、名称和流量/到期横幅;第 2 步在「配置」页导入规则、策略组与 `DIRECT` / `REJECT`。`site-v0.4.31` 已通过用户真机验收:配置模式可用,原生 `PROXY` 可调用首页当前节点,策略组也可选择首页节点、`DIRECT` 和嵌套的 `♻️ 手动切换`。
**这个站不保存你的订阅。** 没有账号也没有档案列表,转换用的订阅正文只写进内存、转换完即删,日志里不记录订阅地址。代价是**链接里带着你的订阅凭据**——只导入自己的客户端,不要转发。
规则默认用本仓库的 Ekko Rules,也可以在页面上换成 ACL4SSR 的常用几套,或粘贴自己的远程配置地址。
## 导入或更新失败?按这个顺序查
页面第 3 步下方有同样一份清单,展开即可。
1. **机场后台开启订阅了吗?** 不少机场默认关着订阅功能,换套餐、重置链接之后也会停用;
到期、流量用完同样拉不到节点。这时地址是通的,内容却是空的。去用户中心确认订阅已
启用、链接是当前那一条;重置过就用新地址重新生成链接。
2. **地址复制完整了吗?** 订阅的 token 一般在 `?` 后面,少一截就会被当成无效订阅。
点输入框旁的「显示」核对一遍。
3. **机场挡了转换站吗?** 公开转换站是从站点的服务器去拉你的订阅,机场看到的是一个
陌生 IP,可能直接拒绝,也可能只认特定客户端的 User-Agent。按代价从小到大试:
- 在页面的「高级选项」里填一个自定义 User-Agent,很多机场卡的只是这个;
- **在自己电脑上跑一份**(下面那一节)。这时拉取从你自己的家宽发出,机场看到的是你
本来就在用的 IP。注意部署到 VPS 并不等价:那仍是一个机房 IP,一样可能被挡。
4. **客户端报的是什么?** `400`:拉到了但没有可用节点,看第 1、2 条;`502`:机场拒绝了
站点的拉取,看第 1、3 条;超时:稍后再试,反复超时看第 3 条。
5. **还是不行?** 带上客户端的报错截图(遮住订阅地址)到
[Issues](https://github.com/ZaunEkko/ekko-rules/issues) 反馈。
## 客户端里会改写配置的开关,不懂就别动
导入的是一份完整配置:节点、DNS、策略组、分流规则都在里面,而且互相依赖——规则要
准,靠的就是配套的那套 DNS 和策略组。
客户端普遍提供几个会**改写**这份配置的开关,打开就把对应的部分换成客户端自己的:
| 开关 | 改掉什么 |
|---|---|
| DNS 覆写 / DNS 设置 | 整段 `dns:`——国内外分开解析、fake-ip、加密上游 |
| Smart 内核 / 智能分组 | 策略组的类型与选路方式 |
| 全局扩展脚本 / Merge / Script | 配置的任意部分 |
**不了解它们在做什么,就让它们保持关闭。** 这边已经配好了。确实清楚自己在调什么,
再自己接管。
## 在自己电脑上跑一份
不想让任何第三方经手?同一套代码换个形态:真实订阅只交给本机 Docker,**连链接里都不会出现**,换回一个固定的本地地址,客户端导入一次以后一直刷新它。
```bash
git clone https://github.com/ZaunEkko/ekko-rules.git
cd ekko-rules/selfhost
docker compose up --build -d
```
打开 [http://127.0.0.1:8787](http://127.0.0.1:8787) 创建,得到 `http://127.0.0.1:8787/sub/<随机 ID>`。同一局域网的手机、平板和路由器换成电脑 IP 即可使用。
Windows 首次部署可以改用 `setup.cmd`,它顺带安装一个随登录运行的局域网 IP 助手,换 Wi-Fi 后页面里的地址会自动跟着更新。完整说明、安全边界与故障排查见 [`selfhost/README.md`](selfhost/README.md)。
| | 在线站 | 本地自托管 |
|---|---|---|
| 谁拉取你的订阅 | 站点服务器,转换完即丢 | 你自己的 Docker |
| 订阅是否进 URL | 是(所以别转发链接) | 否 |
| 固定地址 | 链接自带全部参数 | `/sub/<随机 ID>` |
| 需要装什么 | 什么都不用 | Docker + Compose v2 |
两种形态都输出 9 种客户端格式:Clash / Mihomo、Shadowrocket、sing-box、Surge 4+、Loon、Quantumult X、Surfboard、Quantumult、Mellow。Mihomo 与 sing-box 已验证保留 AnyTLS、VLESS Reality、Hysteria2 与 TUIC;其余格式按各自客户端实际支持的协议与字段输出。Shadowrocket 把“节点订阅”和“原生配置”作为两个独立对象,页面因此提供严格有序的两步导入。首页 `.yaml` 负责名称、节点刷新及流量/到期横幅;配置页 `.conf` 不再复制节点,而以原生 `PROXY` 保持配置模式联网,在每个策略组明确引用首页节点的名称,并保留规则、`♻️ 手动切换`、`DIRECT` / `REJECT`、策略组嵌套和默认选择。`site-v0.4.31` 的两步组合已由用户真机确认可在配置模式联网、选择节点、`DIRECT` 和组间手动切换;节点增删或改名后仍需刷新配置。两步缺一不可。内置完整版、精简版、ACL4SSR 等第三方预设及允许的自定义远程配置共用这条转换链路,但本次真机验收不等于每种第三方预设或节点协议均已逐一验证。高级选项涵盖 Emoji、UDP、TFO、TLS 1.3、XUDP、sing-box IPv6、节点筛选/排序/重命名、自定义 User-Agent 与自动更新间隔;上游返回 `Subscription-Userinfo` 时会安全透传流量、容量与到期字段。
## 只要规则,不要转换
### Mihomo 原生模板
```text
https://raw.githubusercontent.com/ZaunEkko/ekko-rules/main/generated/reversed-profile/Mihomo/reversed-template.yaml
```
精简版同样有一份:
```text
https://raw.githubusercontent.com/ZaunEkko/ekko-rules/main/generated/reversed-profile/Mihomo/reversed-template-lite.yaml
```
下载后把 `PUT_YOUR_SUBSCRIPTION_URL_HERE` 换成自己的订阅地址,再由 Clash Verge Rev 等 Mihomo 客户端加载。模板只提供代理 Provider、策略组、Rule Provider 和规则,不接管端口、DNS、TUN、控制器或其他客户端设置。
### 配合其它 Subconverter 前端
规则本身是公开的,也可以在任何支持自定义远程配置的 Subconverter 前端里使用:「生成类型」选 `Clash`,「远程配置」填下面两条之一。
完整版,44 个策略组:
```text
https://raw.githubusercontent.com/ZaunEkko/ekko-rules/main/generated/reversed-profile/config/ekko-rules.ini
```
精简版,10 个策略组,分流行为与完整版完全一致:
```text
https://raw.githubusercontent.com/ZaunEkko/ekko-rules/main/generated/reversed-profile/config/ekko-rules-lite.ini
```
> **转换后端能看到完整的真实订阅地址,包括其中的 token。** 这是所有在线转换的共性:后端必须拿到完整地址才能拉取节点。Ekko Rules 只提供公开规则,不接收也看不到任何人提交给别处的订阅;只自托管前端而仍调用公共后端,同样藏不住这个地址。介意这一点就用上面的两种形态之一。不要在 Issue、PR、日志或公开聊天里粘贴带 token 的订阅链接。