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 软件包,urlencodeurldecode 工具都是内嵌于该软件包中的:

    1
    sudo apt install gridsite-clients

    ArchLinux 下则可以直接使用 yayparu 等 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 即可。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!