一、Sub-Web 简介与使用场景
Sub-Web 简介: Sub-Web 是一个用于转换 Clash 订阅链接的开源项目,它允许你将不同格式的订阅链接(如 V2Ray、Shadowsocks、Trojan 等)转换成 Clash 格式的订阅链接,从而在使用 Clash 代理工具时更加方便地管理和切换代理节点。Sub-Web 提供了一个简单易用的 Web 界面,使用户能够快速进行订阅链接的转换和管理。
使用场景:
- Clash 用户: Sub-Web 适用于使用 Clash 代理工具的用户。如果你经常需要切换不同的代理节点,但这些节点的订阅格式不同,你可以使用 Sub-Web 将它们转换成 Clash 格式的订阅链接,方便在 Clash 中管理。
- 多协议混用: 如果你使用多种代理协议(如 V2Ray、Shadowsocks、Trojan 等),Sub-Web 可以帮助你将不同协议的节点统一管理,转换成 Clash 格式的链接,避免多个代理工具的切换和管理
文章来源(Source):https://dqzboy.com 复杂性。 - 提高效率: 使用 Sub-Web 可以大大提高切换代理节点的效率,减少手动编辑 Clash 配置文件的繁琐步骤,使代理节点的切换更加便捷。
二、搭建Sub-Web前端
注:部署Sub-Web前端和后端需要安装node环境以及Yarn,安装node和Yarn请自行查阅部署教程。
1、下载并安装 Sub-Web
- 拉取 sub-web 程序,并进入 sub-web
文章来源(Source):https://dqzboy.com 文件夹
cd /usr/local/
git clone https://github.com/CareyWang/sub-web.git
cd sub-web
# 在项目目录中安装构建依赖项,构建的过程稍微有点长
yarn install
# 使用 webpack 运行 Web 客户端以进行本地开发。
yarn serve
2、浏览器访问前端页面
到目前为止,浏览器访问 http://服务器ip:8080/ 应该可以进行前端 sub-web 的预览了
注意:防护墙需要放通8080端口

3、修改默认后端地址
- 打开下面的文件,并搜索关键词 backendOptions
[root@localhost ~]# cd /usr/local/sub-web/src/views/
# 备份默认的配置
[root@localhost views]# cp Subconverter.vue{,_bak}
[root@localhost views]# vim src/views/Subconverter.vue

4、更换远程规则
因为这个版本更新以后,规则方面很少,经常用到的一些经典的 ACL4SSR 的规则并没有集成,大家可以看看,若是有,就不需要这样操作。
- 编辑
/usr/local/sub-web/src/views/Subconverter.vue文件,找到关键词remoteConfig: [下面然后添加下面的内容
[root@localhost views]# vim src/views/Subconverter.vue
{
label: "ACL4SSR",
options: [
{
label: "ACL4SSR_Online 默认版 分组比较全 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online.ini"
},
{
label: "ACL4SSR_Online_AdblockPlus 更多去广告 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_AdblockPlus.ini"
},
{
label: "ACL4SSR_Online_NoAuto 无自动测速 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_NoAuto.ini"
},
{
label: "ACL4SSR_Online_NoReject 无广告拦截规则 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_NoReject.ini"
},
{
label: "ACL4SSR_Online_Mini 精简版 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini.ini"
},
{
label: "ACL4SSR_Online_Mini_AdblockPlus.ini 精简版 更多去广告 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_AdblockPlus.ini"
},
{
label: "ACL4SSR_Online_Mini_NoAuto.ini 精简版 不带自动测速 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_NoAuto.ini"
},
{
label: "ACL4SSR_Online_Mini_Fallback.ini 精简版 带故障转移 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_Fallback.ini"
},
{
label: "ACL4SSR_Online_Mini_MultiMode.ini 精简版 自动测速、故障转移、负载均衡 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_MultiMode.ini"
},
{
label: "ACL4SSR_Online_Full 全分组 重度用户使用 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full.ini"
},
{
label: "ACL4SSR_Online_Full_NoAuto.ini 全分组 无自动测速 重度用户使用 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_NoAuto.ini"
},
{
label: "ACL4SSR_Online_Full_AdblockPlus 全分组 重度用户使用 更多去广告 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_AdblockPlus.ini"
},
{
label: "ACL4SSR_Online_Full_Netflix 全分组 重度用户使用 奈飞全量 (与Github同步)",
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_Netflix.ini"
},
{
label: "ACL4SSR 本地 默认版 分组比较全",
value: "config/ACL4SSR.ini"
},
{
label: "ACL4SSR_Mini 本地 精简版",
value: "config/ACL4SSR_Mini.ini"
},
{
label: "ACL4SSR_Mini_NoAuto.ini 本地 精简版+无自动测速",
value: "config/ACL4SSR_Mini_NoAuto.ini"
},
{
label: "ACL4SSR_Mini_Fallback.ini 本地 精简版+fallback",
value: "config/ACL4SSR_Mini_Fallback.ini"
},
{
label: "ACL4SSR_BackCN 本地 回国",
value: "config/ACL4SSR_BackCN.ini"
},
{
label: "ACL4SSR_NoApple 本地 无苹果分流",
value: "config/ACL4SSR_NoApple.ini"
},
{
label: "ACL4SSR_NoAuto 本地 无自动测速 ",
value: "config/ACL4SSR_NoAuto.ini"
},
{
label: "ACL4SSR_NoAuto_NoApple 本地 无自动测速&无苹果分流",
value: "config/ACL4SSR_NoAuto_NoApple.ini"
}
]
},

- 配置完毕以后,程序会自动更新,再次刷新前端网页,会出现刚才添加的相关规则,如图所示

5、以后台进程运行
如果不想安装nginx,可以直接写个脚本,以后台进程方式运行也可以
[root@localhost script]# vim start_subweb.sh
#!/usr/bin/env bash
#===============================================================================
#
# FILE: start_subweb.sh
#
# USAGE: start_subweb.sh
#
# DESCRIPTION: Sub WEB启动脚本
#
# ORGANIZATION: dqzboy.com
# CREATED: 2020
#===============================================================================
SETCOLOR_SKYBLUE="echo -en \\E[1;36m"
SETCOLOR_SUCCESS="echo -en \\E[1;32m"
SETCOLOR_NORMAL="echo -en \\E[0;39m"
# 检查是否已启动进程
SUB_WEB_PID=$(lsof -i:8080 | awk -F " " '{print $2}' | grep -v "PID")
SUB_WEB=$(lsof -i:8080 | awk -F " " '{print $2}' | grep -v "PID" | wc -l)
if [ ${SUB_WEB} == 0 ];then
${SETCOLOR_SKYBLUE} && echo "=====================================START====================================="
cd /usr/local/sub-web/
echo "启动程序..."
nohup yarn serve > $PWD/sub-web.log 2>&1 &
${SETCOLOR_SUCCESS} && echo "====================================SUCCESS===================================="
# 清除颜色
${SETCOLOR_NORMAL}
else
echo "服务已启动,重启服务..."
kill -9 ${SUB_WEB_PID}
sleep 3
${SETCOLOR_SKYBLUE} && echo "=====================================START====================================="
cd /usr/local/sub-web/
echo "启动程序..."
nohup yarn serve > $PWD/sub-web.log 2>&1 &
${SETCOLOR_SUCCESS} && echo "====================================SUCCESS===================================="
# 清除颜色
${SETCOLOR_NORMAL}
fi
[root@localhost script]# chmod +x start_subweb.sh
[root@localhost script]# ./start_subweb.sh
6、打包前端项目
如果只是偶尔使用,无需打包,直接使用本地开发者模式即可
[root@localhost ~]# cd sub-web/
[root@localhost sub-web]# yarn build
在
/root/sub-web下面会生成一个dist目录,这个目录即为网页的构建好的目录,然后通过nginx托管即可
三、SubConverter后台搭建
1、下载并解压后端程序
[root@localhost ~]# wget https://github.com/tindy2013/subconverter/relearel/download/v0.7.2/subconverter_linux64.tar.gz
[root@localhost ~]# tar -xf subconverter_linux64.tar.gz -C /usr/local
2、修改配置文件参数
现在我们需要修改后端配置文件中的一些参数;拷贝一份pref的配置模板,然后找到如下参数进行修改
注意:如果通过nginx代理到25500端口,无需放通防火墙;如果没有nginx代理那么则需要防火墙放通25500端口,并且后端程序的listen监听地址必须为主机公网IP或者0.0.0.0(默认),不然设置成127.0.0.1外部无法访问
[root@localhost ~]# cd /usr/local/subconverter/
[root@localhost subconverter]# cp pref.example.ini pref.ini
[root@localhost subconverter]# vim pref.ini
api_access_token=1234567890 #随意设置,自己知道就行
managed_config_prefix=http://xxx.dqzboy.com:25500 #后端域名或者写你当前服务器的公网IP

3、创建服务进程并启动
[root@localhost ~]# vim /etc/systemd/system/sub.service
[Unit]
Description=A API For Subscription Convert
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/subconverter/subconverter
WorkingDirectory=/usr/local/subconverter
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
# 启动服务并设置开机自启,检查运行状态
systemctl daemon-reload
systemctl restart sub
systemctl enable sub
systemctl status sub
四、clash订阅转换教程

复制生成的订阅链接在浏览器打开,如果打开显示的是clash的节点订阅相关的配置信息,则说明转换没问题

声明
免责声明:本站内容仅供个人学习与研究,严禁用于商业或非法目的。继续浏览或下载即表明您接受上述条件,任何后果由用户自行承担。
版权声明:未经本站作者允许不得转载本文内容,否则将视为侵权。
