解码后节点数对不上?重复条目是怎么回事
机场页面写着 60 个节点,解码出来却只有 52 个能用。差额通常来自三处:服务器加端口完全相同的重复条目、解析失败的坏行,以及非节点的公告行。本文说明怎么逐项对上账。
一句话结论:差额通常来自三处——服务器加端口完全相同的重复条目、解析失败的坏行、以及混在清单里的公告行。把它们分开数,账就对上了。
先分清两种「重复」
名字重复但服务器不同。 这不是多余的节点,是两条真实线路恰好取了同样的名字。它们都能用,但会在配置里引起引用歧义。
服务器加端口完全相同。 这才是真正的重复——同一个落地被输出了两次,实际可用数量要减掉。
订阅内容解码器把这两种分开标记,因为处理方式完全不同:前者需要改名,后者只需要知道「它不算新增节点」。
三个来源
一、机场模板输出了两次。 最常见。后台配置里同一个节点被归进了两个分组(比如既在「香港」也在「推荐」),生成清单时就出现两遍。这种重复对你没有影响,只是数量看起来更多。
二、解析失败的行。 清单里某几行因为编码问题、截断或格式不标准而解不出来。解码器会把这些行单独列出,不会静默丢弃——这一点很重要:如果工具悄悄跳过坏行,你只会看到「数量少了」而不知道少在哪。
坏行的常见成因和单条链接解析失败是一样的:
→ vmess:// 链接解析失败的两种情况 → ss:// 有两种写法,解析失败通常是混了
三、混在清单里的公告行。 不少机场会往订阅里塞几条「节点」,名字其实是公告:「剩余流量:87.6 GB」「套餐到期:2026-09-01」「官网地址 example.com」。它们通常指向一个无效地址或本地回环。
这类条目在数量上被算成节点,但连不上——这也是「机场说 60 个,实际能用的更少」的一个常见来源。它们不是故障,是机场用来传递信息的一种做法。
怎么逐项对上账
- 把订阅内容粘进订阅内容解码器,先看总条数。
- 减去标记为「服务器+端口重复」的条目。
- 减去解析失败的行——如果这类占比不低(比如超过一两成),那更可能是复制不完整,先回去重新复制一次。
- 扫一眼节点名,把流量、到期、官网这类公告行也减掉。
剩下的才是可用节点数。如果这个数字和机场宣称的仍然差很多,那才值得去问客服。
一个反过来的情况:解码出来比宣称的多
也有这种时候,通常是因为机场把同一批落地按不同的传输方式各输出了一条(同一个服务器、不同端口或不同 network),或者附赠了一批测试节点。
判断方法是看服务器地址:如果一批节点的 server 相同、只有端口或传输参数不同,那它们共享同一个落地,并发用它们并不会得到成倍的带宽。
别做的一件事
不要为了「凑数」把解析失败的行手工改成能解析的样子。那些行本来就是坏的,改成合法格式只是让它们通过校验,连接照样失败,而且你会失去「这条有问题」这个信号。
拿不准的条目保持原样、标记出来,比猜一个值填上更有用——这也是本站工具对未识别字段的一贯处理方式。
相关
相关文章
ss:// 有两种写法,解析失败通常是混了
Shadowsocks 分享链接历史上有两种写法:整段 Base64 的旧格式,和把服务器地址留在明文的 SIP002 新格式。解析器报「既不是 base64 也不是 userinfo@host:port 结构」时,多半是两种格式被拼在了一起或复制不全。
粘进去报「不认识的协议」——这几种链接都不是节点链接
解析器只认节点分享链接。报「不认识的协议」时,粘进去的往往是订阅地址、一键导入链接或网页地址——它们长得像链接,作用却完全不同。本文列出几种常被混淆的链接,并说明各自该怎么处理。
vmess:// 链接解析失败的两种情况,报错不一样
vmess 链接是 Base64 编码的一段 JSON,所以解析可能在两个不同的阶段失败:Base64 本身解不开,或者解开了但内容不是合法 JSON。两种报错指向的原因完全不同,本文说明各自的成因与排查顺序。