ACL4SSR 教程

subconverter 搭建教程:用 Docker 部署自己的订阅转换后端

分类:订阅转换更新于 约 2 分钟读完2 份官方资料
本文目录
  1. 用 docker run 部署
  2. 用 docker compose 部署
  3. 调用方式
  4. 部署公开服务时注意
  5. 常见问题

subconverter 是开源的订阅转换后端。在线转换时,订阅链接和其中的节点信息都会发给后端服务器,所以自己部署一个后端是最稳妥的做法。官方提供了 Docker 镜像 tindy2013/subconverter。

用 docker run 部署#

官方 Docker 文档给出的命令:

# 后台运行容器,把容器内的 25500 端口映射到主机的 25500 端口
docker run -d --restart=always -p 25500:25500 tindy2013/subconverter:latest

# 检查运行状态
curl http://localhost:25500/version

如果返回 subconverter vx.x.x backend 这样的版本信息,说明容器已经正常运行。

用 docker compose 部署#

services:
  subconverter:
    image: tindy2013/subconverter:latest
    container_name: subconverter
    ports:
      - "15051:25500"
    restart: always

这个例子把容器的 25500 端口映射到主机的 15051 端口,访问时要用 15051。

调用方式#

subconverter 默认监听 25500 端口。基本调用格式:

http://127.0.0.1:25500/sub?target=clash&url=订阅链接&config=外部配置地址
参数说明
target必填,目标客户端类型,如 clash、surge&ver=4、quanx、loon
url机场订阅或节点分享链接,需要 URLEncode,多个用 | 分隔
config外部配置地址,需要 URLEncode,例如 ACL4SSR 的 ACL4SSR_Online.ini
emoji节点名是否加 Emoji,默认 true
udp是否开启 UDP,默认 false
scv是否关闭 TLS 证书检查,默认 false

部署公开服务时注意#

文档中 pref 配置的 [common] 部分有两个和安全相关的选项:

  • api_mode:设为 true 时,防止直接加载本地订阅或直接提供本地文件,访问这些内容需要带上 &token=。文档说明它多用于部署公共订阅转换服务。
  • api_access_token:访问 /getprofile 等相对隐私接口时使用的 token。

要修改 Docker 里的 pref 配置,官方文档给出的方法是通过 /updateconf 接口上传,或者基于官方镜像写一个 Dockerfile,把自己的文件复制到容器内的 /base/ 目录。

把后端开放到公网之前,建议在前面加一层 HTTPS 反向代理,并设置好上述 token。

常见问题

subconverter 用 Docker 怎么部署?
运行 docker run -d --restart=always -p 25500:25500 tindy2013/subconverter:latest,再用 curl http://localhost:25500/version 检查,返回版本信息即表示运行正常。
subconverter 默认端口是多少?
默认监听 25500 端口。

本站是非官方的学习笔记站,与 ACL4SSR 原项目维护者无隶属关系。文中引用的规则与文档版权归原作者所有。