适用于订阅更新超时、导入后没有节点、手动更新正常但定时更新不执行等情况。先区分链接、网络与内容格式,再分别设置桌面端和安卓端的刷新任务。排查时保留原分组,每次只改变一个条件;确认手动更新成功后,再开启自动更新。
订阅更新链路:先定位失败环节
订阅是客户端管理节点列表的功能,不是 V2Ray 或 Xray 内核 JSON 的顶层字段。更新时,客户端访问订阅地址,取得响应内容,再把其中的节点转换成本地配置。修改 routing 并不能修复已经失效的订阅令牌;更换内核也不能让登录页面变成有效订阅。
“更新失败”和“节点不可用”是两件事。前者发生在获取或解析列表时;后者发生在节点已经导入、实际建立代理连接时。旧节点仍能使用但更新失败,优先检查订阅地址和更新通道;更新成功但网页打不开,则应另外核对节点参数、本地代理与路由。
- 连接前失败:检查域名解析、当前网络、代理监听端口及超时提示。
- 收到 HTTP 错误:检查令牌、账户状态、服务端限制与响应状态码。
- 下载完成但没有节点:检查返回内容是不是登录页、错误页或不受支持的格式。
- 只在后台失败:检查客户端是否运行、设备是否休眠,以及后台任务限制。
链接过期与状态码:先确认订阅地址有效
从服务方账户页面重新复制“订阅地址”,不要复制账户主页、节点详情页或二维码图片地址。链接中的查询参数通常含有授权令牌,少一个字符、带入换行,或保留已经重置的旧令牌,都可能导致失败。套餐到期是否使订阅失效取决于服务端策略,不能只凭一个状态码下结论。
以上数字是 HTTP 状态码,不是客户端错误编号。403 还可能来自访问策略或防护页面;404 可能表示旧路径已经撤销;200 也不保证内容正确,因为登录页面同样可能返回成功状态。
- 在原分组中核对链接首尾,清除粘贴带入的空格和换行,不手动删改令牌参数。
- 到服务方账户页面确认有效期及订阅是否重置,必要时重新复制地址并覆盖旧地址。
- 收到
429后停止连续点击更新;如响应提供Retry-After,按其要求等待。 - 需要求助时只提供时间、状态码、客户端版本和脱敏日志,不公开完整订阅链接。
结论:授权错误先换链接,不先换网络
连续收到同一授权错误时,先核对账户和令牌。只有确认地址有效后,直连与代理的对照测试才有判断价值。
更新走代理:避免失效节点阻断订阅
“更新订阅走代理”控制的是获取订阅内容的网络通道,不等于把全部应用改为全局代理。v2rayN 的“更新订阅(不通过代理)”与“更新订阅(通过代理)”适合做对照:同一分组、同一地址,依次测试两种通道,并记录各自结果。
| 测试结果 | 优先判断 | 下一步 |
|---|---|---|
| 直连成功,代理失败 | 当前代理链路不可用 | 暂用直连更新,再检查选中节点 |
| 直连失败,代理成功 | 当前网络无法直接访问订阅源 | 保留可用节点,再设置代理更新 |
| 两种通道都返回 401 | 链接凭据需要核对 | 重新取得有效订阅地址 |
| 两种通道都超时 | 订阅源或网络连接异常 | 换网络复测,并确认服务端状态 |
如果更新必须经过代理,而当前分组的节点已经全部失效,就会形成循环依赖。此时可先尝试直连更新,或使用已经验证可用的其他节点获取新列表;反复重启同一失效节点通常不能打破这个循环。
证书、超时与格式错误:按日志处理
日志应围绕一次更新查看。先清楚记录更新时间,再读取对应的错误行,避免把节点测速或网页访问错误混进来。下列是常见底层错误片段,不同系统及版本可能附带更多上下文。
报错:certificate has expired
原因:服务端证书已过期,或本机时间错误导致有效期判断异常。解法:先校准日期、时间和时区;时间正确时联系订阅服务方处理证书,不以关闭证书验证作为长期方案。
报错:Connection refused
原因:目标端口没有接受连接,也可能是本地代理没有启动。解法:先看错误中的目标地址,区分本地代理端口与远端订阅服务器,再检查对应服务。
报错:timeout
原因:请求在规定时间内未完成,可能卡在解析、连接或读取阶段。解法:对照直连与代理,换网络复测;只有响应确实缓慢时才适度增加超时,避免用长等待掩盖错误地址。
报错:Illegal base64 character
原因:解码器收到不符合预期编码的内容,常见于错误页面或不匹配的订阅格式。解法:核对响应正文与客户端支持的格式,不要只对错误内容反复执行解码。
订阅响应可能是节点分享链接组成的文本,也可能采用 Base64 编码。浏览器下载到一段看似随机的文本,不一定代表损坏;出现 <html>、登录表单或访问验证提示,则应回到服务端处理授权或访问限制。浏览器带有登录 Cookie,而客户端通常没有,因此“浏览器能打开”不能单独证明客户端可以订阅。
- VMess、VLESS、Trojan 等协议名称相同,不代表两款客户端支持完全一致的传输参数。
- 优先选择服务方明确标注适用于 v2rayN 或 v2rayNG 的订阅格式,不把其他格式直接粘贴进来。
- 只有部分节点导入失败时,核对客户端版本与具体参数支持情况,不急于删除整个分组。
v2rayN 自动更新订阅:按分组设置间隔
v2rayN 桌面端先完成一次手动更新,再设置定时任务。常见界面的入口是主窗口“订阅分组”→“订阅分组设置”,在目标分组的编辑窗口中设置“自动更新间隔”。不同界面版本的按钮位置和字段单位可能不同,应以当前窗口显示的单位为准。
-
核对目标分组
打开“订阅分组”→“订阅分组设置”,编辑需要刷新的分组,检查订阅地址和启用状态。先保留原有节点,避免排查时丢失可用配置。
-
手动更新验证
保存后回到“订阅分组”,使用“更新订阅(不通过代理)”;如订阅源需要代理,再选择可用节点,测试“更新订阅(通过代理)”。确认日志显示成功且节点列表发生预期变化。
-
填写刷新间隔
回到分组编辑窗口,设置自动更新间隔。建议先按 6 小时安排:字段标注“分钟”时填 360,标注“小时”时填 6;不要把不同版本的数字直接照抄。
-
保存并观察
保存设置,保持程序运行,并在计划时间之后查看日志。若同时存在更新通道选项,使用前一步验证成功的通道;一次手动选择代理更新,不一定会改变后台任务的通道设置。
自动更新不是系统常驻下载服务。退出程序、关闭电脑或进入休眠期间,不能期待它按原计划请求订阅。恢复后是否补执行取决于版本实现,因此应查看日志中的实际更新时间,不凭托盘图标判断任务已经完成。
v2rayNG 自动更新订阅:设置与后台权限一起检查
安卓端先通过侧边菜单“订阅分组设置”核对地址,再回主界面右上角菜单执行“更新订阅”。是否支持定时刷新、间隔能否编辑,应以已安装版本为准;不能把“启动时更新”当作持续运行的定时任务。
-
验证手动更新
进入“订阅分组设置”,保存有效地址;返回主界面,打开右上角菜单→“更新订阅”。确认至少一次更新成功,再进行后台设置。
-
启用自动更新
打开侧边菜单→“设置”,查找“自动更新订阅”并启用。若当前版本提供更新间隔字段,可先设为 6 小时;若字段按分钟计,则填 360。没有间隔字段时保留应用提供的调度方式,不假定存在隐藏开关。
-
允许后台运行
长按应用图标→“应用信息”→“电池”,允许后台活动;部分设备显示为“无限制”。同时检查“移动数据和 WLAN”或“数据使用情况”中的后台数据权限,名称随系统而异。
-
检查锁屏结果
记录手动更新的时间,锁屏后等待一个设定周期,再检查更新日志或时间记录。若版本不显示时间,以日志与节点内容变化辅助判断,不把节点数量没变当作失败。
v2rayNG 使用 Xray 内核,但订阅获取与后台调度由客户端实现。不要为了修复定时任务去修改内核的 policy 或虚构 subscription 字段;这类修改不会替代应用设置。
更新后的验收:列表成功不等于连接成功
订阅更新通常会重建分组内容。节点名称、顺序及数量都可能改变,服务方撤下的旧节点也可能消失。若有手动维护的节点,提前导出或放到独立分组,避免与订阅管理的条目混在一起。
- 第一项:更新时间。确认本次请求确实完成,没有沿用上一次成功记录。
- 第二项:解析结果。检查节点是否进入正确分组;数量为零时核对服务端响应与格式。
- 第三项:实际连接。选择一个新节点测试访问,区分订阅成功与节点服务可用。
- 第四项:后台复测。等待下一轮自动任务,确认没有授权错误、限流或通道依赖。
结论:先稳定一次,再安排周期
把有效链接、可用更新通道和成功日志作为自动刷新的前置条件。一般节点列表不需要每分钟请求;从 6 小时开始,再按服务方规则调整,避免频繁失败触发限流。
排查记录保留四项即可:客户端版本、发生时间、直连或代理、完整错误片段。对外发送前移除订阅令牌和账户信息。这样既能分清本地后台限制与服务端故障,也方便在升级或更换网络后复测。