搜索 K
深色模式
深色模式
直接答案:自建 Subconverter 订阅转换服务是彻底解决节点 Token 泄露、规则被恶意篡改、公开后端频繁宕机的终极解决方案。利用 Docker 容器化技术,只需一台 512MB 内存的轻量级 Linux VPS 即可在 5 分钟内构建包含 Subconverter (高性能 C++ 后端)、Sub-Web (现代化前端面板) 以及 Nginx (SSL 加密与鉴权网关) 的全闭环私有订阅转换中心。实测常驻内存不足 20MB,转换延迟低于 50ms。
[用户浏览器/Clash客户端]
|
| (HTTPS 加密流量,携带私有 Access Token)
v
+-------------------------------------------------------+
| Nginx 反向代理网关 (443 端口,强制 TLS 1.3 + 限流防爆破) |
+-------------------------------------------------------+
|
+-----+-----+
| |
v v
[Sub-Web 前端] [Subconverter 后端]
(Web 交互面板) (25500 端口,C++ 核心解析引擎,日志脱敏)在服务器上创建工作目录并编写 docker-compose.yml 文件:
version: '3.8'
services:
# 1. Subconverter C++ 后端服务
subconverter:
image: tindy2013/subconverter:latest
container_name: subconverter-backend
restart: always
ports:
- "127.0.0.1:25500:25500" # 仅监听本地回环,防止公网未授权直连
environment:
- SUB_TOKEN=MySecretToken2026 # 设置私有鉴权 Token
volumes:
- ./base/pref.ini:/base/pref.ini:ro # 挂载自定义优化配置文件
- ./rules:/base/rules:ro # 挂载本地私有规则集
# 2. Sub-Web 现代化前端操作界面
sub-web:
image: careywong/subweb:latest
container_name: subweb-frontend
restart: always
ports:
- "127.0.0.1:8080:80"执行启动命令:
docker-compose up -d检查容器运行状态:
docker ps
# 确认两个容器状态均为 Up 即可pref.ini 核心配置文件深度调优 Subconverter 强大的核心在于其配置引擎 pref.ini。通过修改关键参数,可实现绝对隐私安全与性能最大化:
[common]
; API 访问密钥,必须与 docker-compose 中的 SUB_TOKEN 保持一致
api_access_token=MySecretToken2026
; 默认目标客户端格式
default_target=clash.meta
; 允许被下载的配置最大体积 (字节)
max_allowed_rulesets=1000
; 日志输出控制 (生产环境强烈建议设置为 0 彻底关闭明文 URL 记录)
log_level=0
print_ruleset_log=false
[managed_config]
; 自动在生成的配置中追加 profile-update-interval 提示
write_managed_config=true
managed_config_prefix=http
[node_pref]
; 默认启用 UDP 支持
udp=true
; 自动跳过证书校验 (视需求开启)
skip_cert_verify=false
; 排除垃圾宣传节点正则
exclude_remarks=(?i)(到期|剩余|流量|官网|通知|客服|高倍)为了防止运营商中间人窃听你的订阅内容,必须通过 Nginx 配合 Let's Encrypt 证书提供强制 SSL 加密:
server {
listen 80;
server_name sub.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name sub.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/sub.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sub.yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# 安全响应头
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
# 前端面板反代
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 后端转换 API 反代
location /sub {
proxy_pass http://127.0.0.1:25500/sub;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 客户端请求超时与重试优化
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
}
}部署完毕后,你的转换 API 地址将为:
https://sub.yourdomain.com/sub?target=clash.meta&url=https%3A%2F%2Fairport.com%2Fsub%3Ftoken%3Dxxx&token=MySecretToken2026https://sub.yourdomain.com/sub?target=clash,返回 403 Forbidden 或 Invalid token,说明公网拦截机制完全生效,外人无法蹭用你的服务器带宽。&token=MySecretToken2026,成功下载格式规整的 Clash YAML 文件。A: 经常会失败。由于国内服务器访问部分托管在 GitHub Raw 或 Cloudflare 保护下的海外机场订阅时容易遭遇网络阻断,强烈建议将 Subconverter 部署在香港、日本或新加坡等海外轻量 VPS 上,既能极速拉取海外订阅,国内用户访问也能秒级响应。
A: 不会。在我们的 docker-compose.yml 中,已经将 pref.ini 和本地规则目录以持久化数据卷(volumes)的形式映射到了宿主机。无论容器如何升级或重启,你的配置文件都安全地保存在宿主机磁盘上。