订阅管理
订阅由 ZNet Sink 拉取、解析并转换成本地代理配置。订阅记录和生成的配置都保存在客户端本地。
支持的格式
编辑器使用三个规范选项:
自动检测ZeroClash
其中:
Zero只接受 Base64 编码的 Zero JSON;- 明文 Zero JSON 不再属于外部订阅格式,即使选择自动检测也会明确拒绝;
Clash可以识别当前支持的 YAML 或 Base64 YAML 表示;zero-base64-json、base64-json、znet-sink、clash-yaml等历史名称会在本地归一化,不再作为界面中的独立格式。
Clash 内容会转换为 Zero 配置。转换能力不等同于完整兼容所有 Clash 扩展字段;同步完成后仍应检查生成的节点、策略组和规则。
添加订阅

- 打开“订阅”。
- 点击新增订阅,填写名称和订阅 URL。
- 通常保留“自动检测”;只有服务端格式固定且检测失败时再手动指定。
- 根据需要选择手动更新或 30 分钟、1 小时、6 小时、12 小时、24 小时的更新周期。
- 保存并执行同步。
“自动检测”会作为真实源格式保存,不会根据当前本地生成配置被强制改写为 Zero 或 Clash。同步成功后,订阅会创建或更新一份本地代理配置;新生成的配置不会无条件抢占当前配置,需要时请在“配置”页确认并启用。

订阅卡片右侧依次提供同步、编辑和删除操作。批量更新前先确认需要参与同步的订阅处于启用状态;同步完成后再到“配置”和“节点”页检查转换结果及当前启用配置。
User-Agent
User-Agent 留空时,客户端发送:
ZNet-Sink/<当前版本>例如 ZNet-Sink/0.0.1。填写自定义值后,该值会完全覆盖默认 User-Agent,不会在末尾追加 ZNet-Sink 标识。
Zboard 的公开订阅接口要求严格的 ZNet-Sink/<版本> 格式。使用 Zboard 链接时通常应保持留空;只有其他订阅服务明确要求特定 User-Agent 时才覆盖。历史版本曾在自定义值末尾追加客户端标识,现有记录会在迁移时清理该旧格式。
本地代理入口
订阅配置需要包含可供桌面应用连接的本地入站。同步时 ZNet Sink 会:
- 保留完整可用的自定义
mixed、http或socks5入站; - 补全不完整的本地代理入站;
- 对只有 TUN 或没有本地入站的配置添加受管 Mixed 入站;
- 新建受管入口时默认使用
127.0.0.1:7890。
受管入口的端口可以在“设置 → 常规”中修改。完整行为见本地代理、系统代理与节点测速。
同步语义
- 禁用订阅后,不参与批量和定时同步。
- 手动同步会立即拉取远端内容。
- 同步失败会保留错误信息,原有可用配置不会因为一次网络失败被当作成功结果覆盖。
- Clash
rule-providers和引用它们的规则会按客户端当前支持边界转换为本地规则集。 - Zero 配置中的当前支持字段会尽量保留,包括 Mieru 等协议的原生字段。
- 旧版本生成的订阅配置会在同步时串行迁移,避免同一记录被多个更新任务同时改写。
- 曾被旧逻辑从
auto强制保存为明文zero-json、且没有自定义 User-Agent 的记录,会迁回真实的自动检测语义。
Base64 响应
Zero 订阅必须以 Base64 文本返回。Base64 不是加密;解码后仍可能包含节点地址和订阅凭据。
如果同步得到网页、跳转页、明文 Zero JSON 或其他非订阅内容,自动检测会失败。此时检查 HTTP 状态、最终 URL、User-Agent、订阅令牌和服务端输出格式,而不是反复切换旧的 JSON/YAML 别名。
安全提示
订阅 URL 可能包含访问凭据。不要把完整 URL 放进公开问题、截图或普通日志。导出的诊断包会排除订阅地址,但发送前仍应自行复核内容。

