先确认拿到的是订阅地址还是单条节点链接,再进入客户端的订阅分组设置。保存地址只会建立分组,还要更新订阅才会生成节点列表。本文按桌面与安卓分别操作,再对照 URI、Base64 和更新报错,适合首次导入或遇到“保存成功却没有节点”的读者。
先区分订阅地址、节点链接与配置文件
订阅地址通常是一条 HTTPS URL。客户端访问它,取得一组节点配置,再把这些配置归入指定分组。地址可能包含身份令牌和查询参数,应从服务提供方的订阅入口完整复制,不要复制浏览器里的账户首页,也不要删去问号后面的内容。
以 vmess:// 或 vless:// 开头的文本通常是单条节点分享链接。它描述一个节点,并不是用于定期拉取节点列表的 HTTPS 地址。把它粘进订阅地址栏,往往会出现地址无效或下载失败;应改用主界面的剪贴板导入入口。
订阅地址
推荐填入订阅分组的 URL 字段,再执行更新。节点增删与参数调整可以随之后续更新进入客户端。
适合:首次配置、长期维护一组节点。
单条 URI 链接
使用“从剪贴板导入”或扫描节点二维码。导入的是当时那条配置,通常不会与订阅来源建立更新关系。
适合:临时添加、单节点排查。
完整配置文件
可能包含入站、出站、DNS 与路由。完整配置和订阅列表不是同一种数据,不应直接填入订阅 URL 字段。
适合:明确了解配置结构与对应导入入口的用户。
在 v2rayN 添加地址并更新订阅
打开桌面主界面,从顶部“订阅分组”进入。不同界面框架与版本的按钮位置可能略有变化,下列步骤以“订阅分组设置”为定位点;不要把“从剪贴板导入分享链接”当成添加订阅地址的入口。
-
打开分组设置
点击「订阅分组」→「订阅分组设置」。先查看是否已经存在相同来源的分组,避免重复添加后出现两套相似节点。
-
填写订阅地址
在设置窗口使用新增按钮,填写便于辨认的别名,再把完整订阅地址粘贴到「可选地址(Url)」或对应 URL 字段。别名可自行命名,地址必须保持原样。
-
保存并选分组
确认保存,返回主界面并选中刚建立的订阅分组。此时列表为空并不代表失败:保存动作尚未向服务器获取节点。
-
执行订阅更新
进入「订阅分组」菜单,选择当前订阅的更新命令。菜单可能区分“通过代理”与“不通过代理”;首次没有可用代理时,先尝试不通过代理更新。
-
核对导入结果
查看底部信息或日志,确认更新完成,再检查当前分组里的节点名称与协议。选定一个节点后,按实际需要设置系统代理或 TUN;导入本身不会保证所有程序都走代理。
在 v2rayNG 建立订阅分组
v2rayNG 是使用 Xray 内核的安卓客户端。订阅管理位于侧边菜单,主界面右上角的“+”则常用于导入分享链接、扫描二维码或手动添加配置。两类入口都能产生节点,但维护方式不同。
-
进入订阅设置
在主界面点击左上角菜单,进入「订阅分组设置」。如果当前版本显示为「订阅分组」,进入后确认页面具有分组名称与订阅 URL 编辑项。
-
新增订阅分组
点击右上角「+」,填写备注与订阅 URL。粘贴后检查地址首尾,去掉复制时带入的空格、换行或聊天软件附加的说明文字,再保存。
-
返回并更新
回到主界面,在右上角更多菜单中执行订阅更新。若界面提供「更新当前组订阅」,先切换到目标组再执行;需要更新全部分组时使用对应的全部更新命令。
-
选择并连接
确认节点列表出现,点选要使用的配置,再点击连接按钮。首次连接时按 Android 提示允许建立 VPN 连接;该授权发生在接管流量时,不是保存订阅时。
如果节点导入成功但应用不能联网,应把“订阅更新成功”和“节点连接成功”分开判断。前者只说明订阅响应已被解析,后者还取决于服务器状态、协议参数、设备时间与本地网络。不要为了修复连接而连续删除并重建订阅。
理解 URI 与 Base64 订阅内容
订阅地址是获取入口,订阅格式是入口返回的内容。常见内容是一行一条的分享 URI,或者把整段 URI 列表进行 Base64 编码后的文本。客户端会按支持的格式进行识别;返回内容能在浏览器里显示,不等于它一定是有效订阅。
逐行 URI 列表
- 外层形式
- 多行纯文本
- 常见前缀
vmess://、vless://- 节点边界
- 通常以换行分隔
- 解析重点
- 每条链接的协议与参数
VMess 分享链接的常见形式还会在协议前缀后编码一段 JSON;不要把链接内部编码与整份订阅编码混为一谈。
Base64 包装列表
- 外层形式
- 编码后的文本串
- 解码结果
- 通常为逐行 URI 列表
- 常见变体
- 标准与 URL 安全字符表
- 隐私属性
- 可逆编码,不是加密
不要为了“修复格式”手工给订阅地址编码。客户端需要的是原始获取地址,而非该地址的 Base64 文本。
这些数字用于理解格式与请求入口,不代表节点端口或连接速度。订阅下载使用的 HTTPS 端口,与导入后各个节点的服务器端口可以完全不同。标准 Base64 末尾可能出现 = 填充符,但仅凭是否包含这个符号,不能判断内容是否有效。
按失败阶段排查空列表与更新报错
先保留原有可用节点,再更新目标分组。看到“没有节点”时,依次确认分组筛选、请求结果和返回格式。不要直接把现象归因于 Base64,也不要用订阅转换替代基本排查。
| 表现 | 优先检查 | 下一步操作 |
|---|---|---|
| 保存后列表为空 | 是否真正执行更新、是否选错分组 | 选中目标分组,更新一次,再取消不必要的搜索筛选。 |
| 连接超时或域名解析失败 | 订阅域名能否访问、当前网络与更新方式 | 分别检查直连与已有代理路径,不要先改节点协议参数。 |
| HTTP 401 或 403 | 令牌是否失效、账户权限或服务端访问限制 | 回到服务提供方确认订阅状态,重新复制地址;403 不一定只是账户过期。 |
| HTTP 404 | 路径是否被截断、旧地址是否已变更 | 重新获取完整链接,不要自行猜测路径或删除查询参数。 |
| 请求成功但解析失败 | 是否返回登录页、错误页或不兼容的配置格式 | 查看日志提示,并获取面向 v2rayN 或 v2rayNG 的订阅输出。 |
| 只有部分节点出现 | 协议支持、订阅过滤条件与客户端兼容性 | 先取消分组过滤,再核对缺失节点的协议和参数,必要时更新客户端。 |
服务端有时返回 HTTP 200,却把登录页面或访问拦截页面放进响应正文。此时网络请求已经完成,但客户端找不到可识别的 URI。应修正订阅入口或联系来源方,而不是反复对页面内容做 Base64 编码。
如果来源只提供某种完整配置格式,要求它提供兼容的分享 URI 订阅更直接。格式转换还涉及协议字段映射,不能假定换一个文本包装就能补齐客户端不支持的参数。
在电脑与安卓共用订阅时保留独立设置
同一订阅可以分别添加到 v2rayN 与 v2rayNG,但先确认服务提供方允许的设备数与同时连接数。两端只是各自访问同一个地址,并不会互相推送配置;一端更新后,另一端仍需自行更新。
共用订阅来源,分别管理本地设置
桌面端:v2rayN
- 在「订阅分组设置」保存同一条有效地址。
- 更新后独立选择当前节点。
- 单独设置系统代理、TUN、DNS 与路由。
安卓端:v2rayNG
- 在「订阅分组设置」建立自己的分组。
- 回到主界面执行订阅更新。
- 单独管理 VPN 连接与分应用代理范围。
共用的是节点来源,不是设备全部设置;返回内容还可能因请求参数或客户端识别而有所不同。
普通节点订阅通常不会同步本地监听端口、路由规则、DNS 策略和分应用列表,也不能代替完整备份。手动修改订阅节点后,再次更新可能覆盖这些修改;需要长期保留的自定义配置,应另建手动配置,并清楚标注用途。
- 保留一份分组:同一来源尽量只建一个常用分组,减少重复节点与误选。
- 谨慎安排更新:需要定期更新时,先确认客户端对应选项、更新间隔和网络条件,不假定默认已经开启。
- 处理凭据泄露:若完整订阅地址被公开,去来源方重置订阅令牌,再替换两端地址;只改备注不能撤销旧地址。
- 完成连接验证:更新完成后选择节点,再验证实际应用访问。订阅获取、节点连接与流量接管是三个独立环节。