搭建订阅转换网站

项目地址

前端:

https://github.com/CareyWang/sub-web

后端:

https://github.com/tindy2013/subconverter

安装前端

安装 node.js 和 yarn

需要先更新系统并安装 Node.js 和 Yarn (ubuntu/debina 为例,安装的是 14.x 版本,其他版本自行替换)

apt update -y
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install –g yarn

然后查看版本号,如果安装成功即会返回版本号

node -v
yarn -version

安装程序

先 git clone 拉取项目(我放在了 /home 路径下)

cd /home
git clone https://github.com/CareyWang/sub-web.git
cd sub-web

然后开始构建,时间较长,耐性等待

yarn install

然后

yarn serve

浏览器访问 http:// 你的 ip:8080/ 就可以看到前端预览了,宝塔要记得在安全里放行 8080 端口

然后 ctrl+c 停止程序

我们需要找到 Subconverter.vue 文件修改一下默认后端地址

cd /home/sub-web/src/views

然后打开 Subconverter.vue (用 vi 打开,宝塔打开,finalshell 等带 ftp 功能的打开均可)

修改第 258 行的 backendOptions,将其改为你刚刚解析的后端的地址,需要加上 https

此外你还可以修改并添加更多的后端地址,格式如下比如:

		customBackend: {
          "自用后端": "https://127.0.0.1/sub?",
        },
        backendOptions: [
          { value: "https://127.0.0.1/sub?" },
   
        ],

然后修改下面的 remoteConfig 为以下内容(这个订阅转换比默认更好用)

          {
            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"
                },
                {
                label: "ACL4SSR_NoMicrosoft 本地 无微软分流",
                value: "config/ACL4SSR_NoMicrosoft.ini"
                },
                {
                label: "ACL4SSR_WithGFW 本地 GFW列表",
                value: "config/ACL4SSR_WithGFW.ini"
                }
            ]
          },

替换到哪里呢,到 334 行这里

全部替换掉

然后替换完成后可以看看效果

yarn serve

然后还是访问之前的 ip + 端口页面

然后还是 ctrl+c 停止调试页面,然后打包程序

yarn build

然后就会在 /home/sub-web 下生成一个 dist 目录,网页信息就都在里面了。如果需要修改配置可以直接在该文件下改,或者删除改目录,然后 build 重建

宝塔安装网站

这里是用的 aapanel,已经安装了 lnmp 环境

添加网站,输入你的域名,然后最下面的 ssl 和 https 强制跳转打勾

注意!申请 ssl 证书的时候需要先关闭一下 cloudflare 里的小云朵 cdn 再申请

然后等待片刻网站创建完毕后,进入网站根目录,删除所有文件,user.ini 的防跨站文件不用管他

然后去 /home/sub-web/dist 目录下复制所有文件粘贴到网站根目录

这个时候访问你的前端地址就有刚刚调试的一样的内容了

后端反代

然后同样的添加一个网站,输入你的后端地址,然后开启 ssl 和 https 跳转

加一个反代,填 http://127.0.0.1:25500 ,下面的 $host 默认不用动,name 名字随便输一个即可

安装后端

也是放在了 /home 目录下 (这里是 v0.6.4 版本的,最新版本自行去项目 releases 获取)

cd /home
wget https://github.com/tindy2013/subconverter/releases/download/v0.6.4/subconverter_linux64.tar.gz
tar -zxvf subconverter_linux64.tar.gz

然后用 vi\ 宝塔 \finashell 等文本编辑功能打开 /home/subconverter/pref.ini 文件

修改 api_access_tokenmanaged_config_prefixlisten

应该在第 6 行和第 130 行和 249 行

改为

api_access_token = 随意,自己知道就行,数字字母
managed_config_prefix=https://subsc.ednovas.me (后端地址)
listen=127.0.0.1

启动

这里用 vi 了,创建一个后台一直运行的程序,用 screen 也可

CODE
vi /etc/systemd/system/sub.service

然后 i 输入,黏贴下面内容,然后按 esc,输入:wq 保存并退出

CODE
[Unit]
Description=A API For Subscription Convert
After=network.target
 
[Service]
Type=simple
ExecStart=/home/subconverter/subconverter
WorkingDirectory=/home/subconverter
Restart=always
RestartSec=10
 
[Install]
WantedBy=multi-user.target

然后开启

CODE
systemctl daemon–reload
systemctl start sub
systemctl enable sub
systemctl status sub

如果显示 active 即表示成功

参考文章

https://399699.xyz/sub-web-ding-yue-zhuan-huan-mian-ban-de-da-jian-jiao-cheng
https://ednovas.xyz/2021/06/06/subs/#DEMO
https://www.dgpyy.com/archives/64/
posted @ 2023-12-01 12:40  xututu6  阅读(1414)  评论(0编辑  收藏  举报