Ubuntu20.04下代理节点订阅格式转换
1. 简介
由于不同的代理工具的订阅格式不同,当我们切换不同的代理工具时,便需要将原有的代理节点转换为目标代理工具所要求的格式。当然,有些好的机场也会提供好几种主流代理工具的订阅地址,或者提供在线订阅转换工具,这种情况下我们直接使用机场提供的订阅地址/订阅转换工具即可。但如果我们是自建机场,或者使用的机场没有提供相关工具,则便需要我们自己动手了。
注意:非必要不使用除机场官方提供的在线订阅转换,否则有泄露自己的节点信息的风险。
2. subconverter
subconverter 是一个开源的订阅格式转换工具,大多数机场提供的在线转换工具底层也是直接使用的 subconverter。以 V2ray 单节点链接 trojan://xxx
为例,将其转换为 Clash 的订阅:
-
首先将 subconverter 下到本地或者服务器上,解压后运行目录下的
subconverter
工具:1
./subconverter
显示
Startup completed. Serving HTTP @ http://0.0.0.0:25500
即表示运行成功。 -
然后使用
urlencode
工具将节点链接转为 URLEncode 格式,Ubuntu20.04 上默认没有安装urlencode
工具,用户可以手动安装 GridSite 软件包,urlencode
和urldecode
工具都是内嵌于该软件包中的:1
sudo apt install gridsite-clients
ArchLinux 下则可以直接使用
yay
或paru
等 AUR 工具安装urlencode
:1
paru -S urlencode
安装完后使用
urlencode
对节点链接进行转换,以 Ubuntu20.04 下 GridSite 软件包提供的urlencode
为例(不同 URLEnode 工具使用参数可能不尽相同,需要自己先查看其使用方式),在 Shell 下运行以下命令即可得到 URLEncode 格式的节点链接(假设为trojan://yyy
):1
urlencode "trojan://xxx"
-
最后参考 subconverter 配置文档,我们可得到以下的调用地址:
1
http://127.0.0.1:25500/sub?target=clash&url=trojan://yyy
如果
subconverter
是在服务器上跑的,则需要将127.0.0.1
改为你服务器的 IP 地址。然后将该调用地址直接复制到 Clash 中进行订阅即可;或者在浏览器中打开即可得到对应的 Clash 配置,将其保存到本地的
config.yml
文件中再导入到 Clash 即可。
3. sub-web
如果想在自己的服务器上直接搭建一个 GUI 的在线订阅转换工具,则可使用 sub-web 工具。具体搭建方式参考其仓库 README 即可。