跳到正文
方圆之内22 家机场 · 价格与使用规则

问答

机场订阅转换是什么:什么时候需要、第三方转换服务的风险与替代办法

按意图看,搜「订阅转换」的人多半想找一个能用的转换网址。这里不给公共网址,给的是三样东西:怎么判断要不要转,交给别人转会交出去什么,非转不可时怎么在自己手里转。客户端怎么挑另有一篇,见代理客户端怎么选。

订阅转换解决什么:格式对不上

按格式看,订阅转换只做一件事:把机场返回的订阅内容改写成另一种格式。机场后台给的订阅地址,打开后常见三种样子。

格式 内容 常见叫法
Base64 一串编码字符,解开是 ss://、vmess://、vless:// 开头的分享链接 通用订阅、V2Ray 订阅
YAML 一份配置文本,有节点、分组、分流规则 Clash 订阅
JSON 大括号开头,节点写在 outbounds 里 sing-box 订阅

客户端只认其中一两种。机场只给 YAML,你手上的客户端只读 Base64,导入就会报错或显示 0 个节点。转换器夹在中间,读进一种,吐出另一种。

所以要不要转,先看两头:机场给了哪几种,客户端认哪几种。两头对得上,就用不着转换。词义见词汇:订阅链接。

一次转换经过谁的手

按路径看,用网页版转换站的流程是这样:

  1. 你把机场的订阅地址贴进网页,选目标格式。
  2. 网页拼出一条新地址,形如「转换服务地址/sub?target=clash&url=你的订阅地址」。
  3. 客户端每次更新订阅,都去请求这条新地址。
  4. 转换服务收到请求,拿你的原地址去机场拉节点,改写后返回给客户端。

这里有两处要看清。一是网页和后端常常不是同一方:前端页面谁都能搭,真正拿着你的地址去拉节点的是后端服务器,后端是谁,页面上未必写。二是新地址里原样带着你的原地址,只是做了网址编码,谁拿到新地址,等于拿到原地址。

很多转换页还有「远程配置」一栏,填的是另一个人放在网上的规则模板。分组、分流、DNS 怎么写,由这份模板决定,这又多了一方。

交出订阅地址,等于交出什么

按凭证看,订阅地址就是账号钥匙:不用密码,凭它就能拉到你的全部节点。交给第三方服务器,可能的后果有四类。

后果 怎么发生 你能看到的迹象
地址外流 服务端记录请求日志,日志被保存、转卖或泄露 流量走得比平时快
被统计 服务端汇总经手的订阅,知道你用哪家、什么套餐 看不到
返回内容被改 多插几个节点、改分流规则或 DNS,让部分流量绕到别处 节点列表里出现陌生名字,规则里多出不认识的域名
服务停掉 公共服务关站或被封,客户端更新失败 更新订阅报错,节点停在旧版本

前三类从外面查不出有没有发生,只能按「可能发生」处理。流量被别人用了,扣的是你的套餐;返回内容被改,节点和规则都可能不是机场给的原样。

处理办法只有一条:用过公共转换站,就回机场后台重置订阅。重置会让旧地址作废,代价是每台设备都要重新导入一次。

多数时候不需要转:先查两处

按出处看,转换之前,先把机场和客户端两头各查一遍。

机场这头。登录后台,看订阅区域是不是给了多条地址,或者有格式切换按钮。不少面板会按客户端发来的标识返回不同格式,同一条地址,Clash 系拉到 YAML,v2rayN 拉到 Base64。也有面板支持在地址后面加参数指定格式,参数怎么写看该家帮助文档。

表上 22 家里,资料写到订阅形式的有 6 家:

  • 跨界云官网写给标准订阅链接,常见客户端能直接导入。
  • 闪跃官网写自家客户端之外,通用客户端也能导订阅。
  • 一翻云官网写一键导入用的订阅后台不直接给,要找客服要。
  • 飞猫云、星岛梦的资料写订阅要找在线客服开通。
  • 暮光加速的资料写不给通用订阅链接。

后 4 家,买完先问客服给的是哪种格式、能不能换一种,问清了多半不用转。其余 16 家资料里没写,看该家帮助文档。各家写了什么,可在全表逐家对。

客户端这头。Hiddify、Karing 这类多格式客户端,YAML、Base64、JSON 都能读,转换在应用里就做完了。mihomo 内核的配置里,proxy-providers 也能读部分 Base64 订阅,能读哪些看内核版本说明。换一个认原格式的客户端,往往比找转换器省事。

必须转时:本机、自建、客户端内三条路

按控制权看,转换在谁的机器上跑,订阅地址就在谁手里。下面三条路,地址都不出你自己的设备或服务器。

本机跑转换器。subconverter 是开源转换后端,网页转换站多半用它。从项目仓库的发布页下载对应系统的版本,解压后运行,默认端口 25500。启动前在 pref 配置文件的 server 段把监听地址改成 127.0.0.1,只让本机访问。然后在客户端里填:

http://127.0.0.1:25500/sub?target=clash&url=网址编码后的订阅地址

target 换成别的取值,就输出别的格式,取值表在项目文档里。局限是:客户端更新订阅时,这台电脑上的转换器得开着;手机连不到电脑的 127.0.0.1。只想转一次的,把返回内容存成文件,以本地配置导入,代价是不再自动更新。

自建服务。有 VPS 或 NAS 的,可用 Docker 跑同一个后端:

docker run -d --restart=always -p 25500:25500 tindy2013/subconverter:latest

两点要守住:不直接开放到公网,只在内网用,或在前面加访问控制;不加载来路不明的远程配置,规则模板放在自己机器上。

客户端内转换。iOS 上可用 Sub-Store,它以脚本模块的形式跑在 Loon、Surge、Stash 这类付费应用里,订阅在手机上处理;也有 Node.js 版,可在自己的机器上跑。安卓和电脑上,直接用上一节说的多格式客户端。

三条路共有的两件事:只从项目主页、官方仓库的发布页下载,不用网盘转存版;转换器版本跟不上新协议时,及时更新。之前用过公共转换站的,换到自己手里之后,先重置一次订阅。

转换后导入失败怎么查

按现象看,先把转换后的地址拿到浏览器打开,看它返回什么,再对下表。

现象 常见原因 先查哪里
0 个节点 转换器拉不到原订阅:原地址已重置、网址没编码、机场拒绝了服务器的请求 浏览器打开原地址,看能不能拉到内容
节点少了几个 转换器不认某种协议或传输层写法,直接跳过 对照原订阅数节点,换新版转换器
提示配置解析失败 返回的是报错页,或 target 写错 看返回内容是不是配置文本
能导入,连不上 节点参数转丢,如 Reality 公钥、传输层设置 用原生客户端连同一节点对比
过一阵就失效 本机转换器没开,或公共服务停了 看更新报错的时间点

协议和传输层的写法见词汇:协议。原生客户端连得上、转换后连不上,问题在转换这一步,不在机场。两边都连不上,再去问机场客服。

客户端 × 订阅格式对照

按客户端看,下表列常见几款能直接导入的格式。这里没有逐款导入测过,表中「看版本」的,翻该客户端的版本说明。

客户端 Base64 YAML JSON
Clash Verge Rev、FlClash(mihomo 内核) 看版本 认 不认
v2rayN、v2rayNG 认 不认 看版本
sing-box 官方客户端 不认 不认 认
Hiddify、Karing 认 认 认
Shadowrocket 认 看版本 不认
Stash 看版本 认 不认

表里「认」的一格,就不需要转换。一个格式在你用的几台设备上都「认」,就统一用这一种。手机、电脑一起换的,订阅怎么重新导入见换手机、换电脑后怎么搬。

一句话收尾:先找原生格式,再找原生客户端,两样都没有,才在自己手里转换。

本文提到的机场

佣金怎么分 「方圆之外」页另一头的 22 家官网,都和方圆之内有佣金约定:你在那边付了款,这里分到一笔;没经这一页的,这里分不到。圆心和内圈七家是手定的,和佣金多少无关。

常见问题

用了公共转换站,要不要重置订阅?
要。公共转换站拿到过你的订阅地址,它存没存、给没给别人,从外面看不出来。回机场后台点重置订阅(各家叫法不同,有的叫更换订阅、重置链接),旧地址随之作废,再把新地址导进客户端。重置后旧设备会断开,每台都要重新导入。
转换后节点少了几个,正常吗?
常见,原因多在转换器一侧。转换器版本旧、不认某种协议或传输层写法,就会把那几个节点跳过,不报错。拿原订阅在能直接读它的客户端里数一遍节点,两边数目对不上,就换新版转换器,或改用能原生读这种格式的客户端。
机场给的「通用订阅」和「Clash 订阅」有什么区别?
节点通常是同一批,差在写法。通用订阅多是 Base64 编码的一串分享链接,只有节点;Clash 订阅是一份 YAML 配置,节点之外还带分组和分流规则。用哪条看客户端认哪种,具体各家给了哪几种,看该家后台或帮助文档。

接着读

全部 22 家机场在全表;圆心与内圈几家的逐项对照在两家比。