客户端、内核、节点各自做什么
打开界面、选节点的是客户端;处理协议连接和转发的是内核。节点记录远端地址与认证参数,订阅则让客户端获取或更新这些资料。一款软件可以把界面和内核装在一起。
| 名词 | 主要含义 | 遇到问题先检查 |
|---|---|---|
| 客户端 | 管理配置、选择连接、设置接管并展示状态的程序 | 操作系统支持、安装来源、当前启用的配置 |
| 内核 | 执行协议连接、DNS、路由或流量转发的组件 | 版本、协议能力、配置校验和启动日志 |
| 节点 | 某个远端连接所需的地址、协议与认证等参数 | 参数是否完整、远端是否可达 |
| 订阅 | 从指定来源获取节点信息或配置,并按需更新 | 地址能否获取、返回格式是否受支持 |
例如Clash Verge Rev提供图形界面并内置mihomo。sing-box既可以作为其他客户端的组件,也可以用命令行直接运行。一个安装包同时包含界面和内核,不会让这两项职责变成同一个概念。
装好软件之后,还需要连接配置
客户端第一次打开时没有节点,并不奇怪。先导入连接配置,启用其中一项,再检查内核和目标应用;单独安装一个内核不会补齐服务器地址和凭据。
检查连接参数时,核对主机、端口、协议和认证信息。列表里已有节点,就继续看当前选中项、启动错误和应用请求,先不用重装软件。
内核也不一定需要单独安装。v2rayN官方发布文件说明指出发布包已包含部分内核,其他内核才需要另行获取。下载独立内核不能替代正确的连接信息。新手可先按v2rayN指南或对应工具文章完成第一次连接,再添加其他配置。
订阅、分享链接与本地文件
先辨认拿到的材料:订阅 URL 用来下载内容,分享链接把连接参数放在链接里,本地文件则已经保存了配置。导入入口选错,常会把正常内容读成无效配置。
v2rayN订阅说明列出标准分享格式与其内部格式。Clash类订阅也可能返回含节点、分组和规则的配置,而不仅是单个节点。因此,“同样是一个链接”不能成为选用同一导入功能的依据。
更新与本地副本
远程订阅可以重新获取内容,具体是否自动更新由客户端设置决定;导入一个本地文件并不自然形成远程更新关系。例如Clash Verge Rev导入说明区分远程订阅和本地配置,导入文件时会保存一份副本。
拿到内容后,先确认它的类型与目标工具支持的格式,再选导入方式。把网页地址、分享链接或返回HTML错误页面的URL当成完整配置,往往会产生解析错误。
换客户端时的格式和版本兼容
同一个订阅能否换客户端使用,要看返回内容、内核和版本。JSON、YAML 只是写数据的方式,两个程序采用相同格式,也可能要求完全不同的字段。
例如sing-box配置文档定义了JSON中的入站、出站、DNS和路由结构。另一个内核即使也用JSON,也可能采用不同字段。图形客户端可能先解析节点列表,再生成自己的运行配置;能识别分享链接,不等于能原样运行完整配置文件。
版本也影响兼容。sing-box迁移文档记录了DNS、路由等字段的演变,旧示例可能需要迁移。遇到字段不识别,先确认实际运行版本,再查对应文档,不要把所有报错都归为“订阅坏了”。
跨格式迁移后,挑几个常用目标检查策略组、规则和 DNS。字段与格式的区别见YAML 与 JSON 配置说明。
三种更新,改变的是不同内容
客户端更新改变界面或管理功能,内核更新改变运行组件,订阅更新重新取回来源内容。某些软件把前两项一起打包,排查时仍值得分别记下版本。
| 更新对象 | 可能变化 | 更新后的验证 |
|---|---|---|
| 客户端 | 界面、导入逻辑、系统集成与随包组件 | 原配置能否打开、接管与退出恢复是否正常 |
| 内核 | 协议实现、运行行为、配置字段支持 | 配置校验、启动日志与实际请求 |
| 订阅 | 远程返回的节点或配置内容 | 导入结果、当前选择和规则是否符合预期 |
| 规则数据 | 被引用的规则集合或分类数据 | 测试目标命中的规则与最终出口 |
v2rayN界面说明分别描述订阅更新与规则数据相关设置,体现了这种区别。实际工具可能把部分更新打包完成,因此应以安装包说明和版本显示为准。升级前留存备份,升级后重复原来的可用请求,便于判断变化来自哪一项。
保存订阅与配置备份
订阅地址里的令牌可能允许别人取回你的连接配置。把它和密码一起保管,备份时也要保存自定义规则、应用设置及版本信息。
公开排查时保留协议类型、客户端与内核版本、错误阶段和脱敏日志即可。订阅URL的查询参数、UUID、密码、密钥和不必要的地址信息应删除;只遮住截图中的链接,却在二维码或日志里保留完整内容,仍可能泄露。
备份要兼顾可恢复性:保存客户端提供的配置与设置导出、本地自定义规则、必要的原始配置,以及对应版本信息。如果工具区分“只备份配置”和“全部备份”,先确认范围,不能把一个节点链接当成完整环境备份。
远程订阅重新获取后,手工改动是否保留取决于客户端。重要的本地调整宜使用工具支持的独立规则或覆盖方式,并保存原稿。恢复到新设备后再验证一次,尤其检查本机端口、平台权限和局域网相关设置。
导入成功后仍连不上,按顺序检查
先找哪一步没有完成:取回内容、解析配置、启动内核、接收应用请求,还是连接目标。这样可以把订阅错误和网络错误分开处理。
- 内容获取失败:记录订阅请求的错误类型、HTTP状态或TLS错误,确认地址完整且返回的是预期内容。此时先不修改内核出站参数。
- 解析或校验失败:确认输入类型、选用的导入功能、格式与版本,按字段错误查文档;能下载到内容不代表内容受支持。
- 内核启动失败:查看启动日志,检查监听端口冲突、权限和配置校验。界面存在不代表后台服务已经运行。
- 显式代理可用、应用不可用:检查应用代理设置、系统代理或TUN接管,不必立即重导入所有节点。
- 请求已进入内核但目标失败:对照DNS、分流规则、协议连接与目标服务结果,逐一比较。
记录当前客户端和内核版本、可复现的目标与脱敏报错,比只说“连不上”更有帮助。可以用本地验证命令确认入口,再按网络故障分层排查继续排查。
常见问题
安装客户端时,必须另外下载内核吗?
不一定。很多客户端已经内置或随包提供内核,部分特殊内核才需要单独获取。以当前官方发布说明和客户端显示的运行版本为准,不要因为看到“内核”这个词就重复安装。
订阅导入成功,为什么还是没有想要的规则?
订阅可能只提供节点信息,规则也可能由客户端另行生成或管理。先查看来源返回内容与客户端的实际运行配置,不能仅根据节点已出现就判断规则已导入。
排查问题时,可以把订阅链接和配置完整发出来吗?
不宜。链接和配置可能包含令牌、密码、UUID或密钥。提供版本、配置类型、错误阶段和脱敏日志通常更适合排查,并注意二维码与日志里的重复敏感内容。
参考资料
原理和协议定义可查以下标准与官方文档。文中的流程图由 AFQKit 绘制。