自建订阅转换 – Subconverter+Subweb+MyUrls

前言:

之前一直使用的网络上的订阅转换,还是有泄漏的风险,正好最近没什么折腾的就折腾了下Subconverter+Subweb+MyUrls,不了解的自行百度,这里反向代理我使用的traefik。其他反向代理工具自行研究使用。

开始:

搭建后端Subconverter

docker-compose部署

version: '3.3'
services:
    subconverter:
        container_name: subcon
        restart: always
        ports:
            - '25500:25500'
        image: 'tindy2013/subconverter:latest'

反向代理

traefik:
dynamic.yml增加如下:

http:
  routers:
    sub:
      service: sub
      middlewares:
      rule: "Host(`sub.你的顶级域名`)"
  services:
    suba:
      loadBalancer:
        servers:
          - url: "http://ip:25500"

访问显示File not found.,说明成功了

搭建前端Subweb

# Clone项目

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

# 编辑.env配置文件

nano .env

# 修改后端地址、短链接地址
# API 后端
# 这里填写刚刚部署的sub后端
VUE_APP_SUBCONVERTER_DEFAULT_BACKEND = "https://sub.你的顶级域名"
# 短链接后端
#这里是短链接,下面有教程,先设置你想要的短链接地址
VUE_APP_MYURLS_DEFAULT_BACKEND = "https://s.你的顶级域名w"
# 文本托管后端
VUE_APP_CONFIG_UPLOAD_BACKEND = "https://sub.你的顶级域名"

# 编辑.
cd src/views
nano Subconverter.vue

#39行
# 这里是备注,随意填写
placeholder="Herozmy |  https://www.herozmy.com/sub?"
#299行
# 填写的后端地址
backendOptions: [{ value: "https://sub.顶级域名/sub?" }],

增加远程地址

在大约300行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"
              }
            ]
          },

docker build

docker build -t subweb-local:latest .

构建完成,以后在本地就会有subweb-local:latest镜像
我们直接在上面的docker-compose文件增加就行

version: '3.3'
services:
    subconverter:
        container_name: subcon
        restart: always
        ports:
            - '25500:25500'
        image: 'tindy2013/subconverter:latest'

        
    subweb-local:
        ports:
            - '58080:80'
        restart: always
        container_name: subweb
        image: 'subweb-local:latest'

反向代理

dynamic.yml文件增加如下:

http:
  routers:
    subweb:
      service: swbweb
      middlewares:
      rule: "Host(`subweb.顶级域名`)"
  services:
    subweb:
      loadBalancer:
        servers:
          - url: "http://10.10.10.139:58080"

短域名Myurls

#clone项目
git clone https://github.com/CareyWang/MyUrls.git MyUrls
cd MyUrls
cp .env.example .env
nano .env
# 修改短链接
MYURLS_DOMAIN=s.顶级域名

nano public/index.html
# #修改短链接域名
const backend = 'https://s.顶级域名' 


#部署服务
docker-compose up -d

反向代理

这里折腾了好久,用traefik添加反代一直无法使用,翻看lusse发现还需要设置跨域Access-Control-Allow-Origin *

dynamic.yml增加如下配置:

http:
  routers:
    s:
      service: s
      middlewares:
        - add-cors
      rule: "Host(`s.顶级域名`)"
  services:
    s:
      loadBalancer:
        servers:
          - url: "http://ip:8002"
  middlewares:
    add-cors:
      headers:
        customResponseHeaders:
          Access-Control-Allow-Origin: "*"

enjoy

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容