Subweb搭建

效果

创建镜像

docker-compose.yml文件

services:
subconverter:
image: stilleshan/sub
container_name: sub
ports:
- 18080:80
# volumes:
# - /www/dk_project/sub/nginx:/usr/share/nginx
restart: always

myurls:
image: stilleshan/myurls:latest
container_name: myurls
environment:
- MYURLS_DOMAIN=s.lqq.ai
- MYURLS_PROTO=https
# volumes:
# - /www/dk_project/myurls/app:/app
ports:
- "28080:8080"
depends_on:
- redis
restart: always

redis:
image: redis:latest
volumes:
- ./data/redis:/data
restart: always

复制镜像内文件到宿主机

docker cp sub:/usr/share/nginx /www/dk_project/sub/
docker cp myurls:/app /www/dk_project/myurls/

编辑/www/dk_project/sub/nginx/conf/config.js文件如下所示,可自定义需求

window.config = {
// 网站标题
siteName: "Subconverter Web",
// API 地址
apiUrl: "https://sub.lqq.ai",
// 短域名服务地址
shortUrl: "https://s.lqq.ai",
// 首页菜单
menuItem: [
{
title: "首页",
link: "/",
target: "",
},
],
// 远程配置地址,可以自行按照格式添加。
remoteConfigOptions: [
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_NoAuto.ini",
text: "默认",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_AdblockPlus.ini",
text: "默认(自动测速)",
},
{
value:
"https://raw.githubusercontent.com/youshandefeiyang/webcdn/main/SONY.ini",
text: "默认(索尼电视专用)",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/default_with_clash_adg.yml",
text: "默认(附带用于 Clash 的 AdGuard DNS)",
},
{
value:
"https://raw.githubusercontent.com/WC-Dream/ACL4SSR/WD/Clash/config/ACL4SSR_Online_Full_Dream.ini",
text: "ACL_全分组 Dream 修改版",
},
{
value:
"https://raw.githubusercontent.com/WC-Dream/ACL4SSR/WD/Clash/config/ACL4SSR_Mini_Dream.ini",
text: "ACL_精简分组 Dream 修改版",
},
{
value:
"https://raw.githubusercontent.com/justdoiting/ClashRule/main/GeneralClashRule.ini",
text: "emby-TikTok-流媒体分组-去广告加强版",
},
{
value:
"https://raw.githubusercontent.com/cutethotw/ClashRule/main/GeneralClashRule.ini",
text: "流媒体通用分组",
},

/* ----- ACL 规则(全部有效) ----- */
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online.ini",
text: "ACL_默认版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_NoAuto.ini",
text: "ACL_无测速版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_AdblockPlus.ini",
text: "ACL_去广告版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_MultiCountry.ini",
text: "ACL_多国家版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_NoReject.ini",
text: "ACL_无 Reject 版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_NoAuto.ini",
text: "ACL_无测速精简版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full.ini",
text: "ACL_全分组版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_Google.ini",
text: "ACL_全分组谷歌版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_MultiMode.ini",
text: "ACL_全分组多模式版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Full_Netflix.ini",
text: "ACL_全分组奈飞版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini.ini",
text: "ACL_精简版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_AdblockPlus.ini",
text: "ACL_去广告精简版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_Fallback.ini",
text: "ACL_Fallback 精简版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_MultiCountry.ini",
text: "ACL_多国家精简版",
},
{
value:
"https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/config/ACL4SSR_Online_Mini_MultiMode.ini",
text: "ACL_多模式精简版",
},

/* ----- 全网搜集规则(失效源已移除) ----- */
{
value:
"https://raw.githubusercontent.com/flyhigherpi/merlinclash_clash_related/master/Rule_config/ZHANG.ini",
text: "常规规则",
},
{
value:
"https://raw.githubusercontent.com/xiaoshenxian233/cool/rule/complex.ini",
text: "酷酷自用",
},
{
value:
"https://raw.githubusercontent.com/flyhigherpi/merlinclash_clash_related/master/Rule_config/ZHANG_Area_Fallback.ini",
text: "分区域故障转移",
},
{
value:
"https://raw.githubusercontent.com/flyhigherpi/merlinclash_clash_related/master/Rule_config/ZHANG_Area_Urltest.ini",
text: "分区域自动测速",
},
{
value:
"https://raw.githubusercontent.com/flyhigherpi/merlinclash_clash_related/master/Rule_config/ZHANG_Area_NoAuto.ini",
text: "分区域无自动测速",
},
{
value:
"https://raw.githubusercontent.com/OoHHHHHHH/ini/master/config.ini",
text: "OoHHHHHHH",
},
{
value:
"https://raw.githubusercontent.com/OoHHHHHHH/ini/master/cfw-tap.ini",
text: "CFW-TAP",
},
{
value:
"https://raw.githubusercontent.com/lhl77/sub-ini/main/tsutsu-full.ini",
text: "lhl77 全分组",
},
{
value:
"https://raw.githubusercontent.com/lhl77/sub-ini/main/tsutsu-mini-gfw.ini",
text: "lhl77 简易版",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/connershua_new.ini",
text: "ConnersHua Outbound",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/connershua_backtocn.ini",
text: "ConnersHua 回国专用",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/lhie1_clash.ini",
text: "lhie1 洞主规则(Clash)",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/lhie1_dler.ini",
text: "lhie1 洞主完整版",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/ehpo1_main.ini",
text: "eHpo1 规则",
},
{
value: "https://raw.nameless13.com/api/public/dl/ROzQqi2S/white.ini",
text: "多策略白名单",
},
{
value: "https://raw.nameless13.com/api/public/dl/ptLeiO3S/mayinggfw.ini",
text: "多策略减少审计触发",
},
{
value: "https://raw.nameless13.com/api/public/dl/FWSh3dXz/easy3.ini",
text: "精简策略白名单",
},
{
value: "https://raw.nameless13.com/api/public/dl/L_-vxO7I/youtube.ini",
text: "多策略 SMTP 增强",
},
{
value: "https://raw.nameless13.com/api/public/dl/zKF9vFbb/easy.ini",
text: "无策略入门推荐",
},
{
value: "https://raw.nameless13.com/api/public/dl/E69bzCaE/easy2.ini",
text: "无策略国家分组",
},
{
value: "https://raw.nameless13.com/api/public/dl/XHr0miMg/ipip.ini",
text: "无策略 IPIP CN + Final",
},
{
value: "https://raw.nameless13.com/api/public/dl/BBnfb5lD/MAYINGVIP.ini",
text: "无策略魅影 VIP",
},
{
value:
"https://raw.githubusercontent.com/Mazeorz/airports/master/Clash/Examine.ini",
text: "品云(香港)",
},
{
value:
"https://raw.githubusercontent.com/Mazeorz/airports/master/Clash/Examine_Full.ini",
text: "品云(全地域)",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/nzw9314_custom.ini",
text: "nzw9314 规则",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/maicoo-l_custom.ini",
text: "maicoo-l 规则",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/dlercloud_lige_platinum.ini",
text: "DlerCloud Platinum",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/dlercloud_lige_gold.ini",
text: "DlerCloud Gold",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/dlercloud_lige_silver.ini",
text: "DlerCloud Silver",
},
{
value: "https://unpkg.com/proxy-script/config/Clash/clash.ini",
text: "ProxyStorage 自用",
},
{
value:
"https://github.com/UlinoyaPed/ShellClash/raw/master/rules/ShellClash.ini",
text: "ShellClash 修改版",
},

/* ----- 各大机场规则(仅保留可用源) ----- */
{
value:
"https://raw.githubusercontent.com/Mazeorz/airports/master/Clash/SSRcloud.ini",
text: "CNIX",
},
{
value:
"https://raw.githubusercontent.com/Mazetsz/ACL4SSR/master/Clash/config/V2rayPro.ini",
text: "Nirvana",
},
{
value:
"https://raw.githubusercontent.com/Mazeorz/airports/master/Clash/V2Pro.ini",
text: "V2Pro",
},
{
value:
"https://raw.githubusercontent.com/Mazeorz/airports/master/Clash/Stitch.ini",
text: "史迪仔-自动测速",
},
{
value:
"https://raw.githubusercontent.com/Mazeorz/airports/master/Clash/Stitch-Balance.ini",
text: "史迪仔-负载均衡",
},
{
value:
"https://raw.githubusercontent.com/SleepyHeeead/subconverter-config/master/remote-config/customized/maying.ini",
text: "Maying",
},
{
value:
"https://raw.githubusercontent.com/SleepyHeeead/subconverter-config/master/remote-config/customized/xianyu.ini",
text: "咸鱼",
},
{
value:
"https://raw.githubusercontent.com/SleepyHeeead/subconverter-config/master/remote-config/customized/nyancat.ini",
text: "NyanCAT",
},
{
value:
"https://raw.githubusercontent.com/SleepyHeeead/subconverter-config/master/remote-config/customized/socloud.ini",
text: "SoCloud",
},
{
value:
"https://raw.githubusercontent.com/SleepyHeeead/subconverter-config/master/remote-config/customized/ark.ini",
text: "ARK",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/n3ro_optimized.ini",
text: "N3RO",
},
{
value:
"https://gist.githubusercontent.com/tindy2013/1fa08640a9088ac8652dbd40c5d2715b/raw/scholar_optimized.ini",
text: "Scholar",
},
],
};

放开注释

services:
subconverter:
image: stilleshan/sub
container_name: sub
ports:
- "18080:80"
volumes:
- /www/dk_project/sub/nginx:/usr/share/nginx
restart: always

myurls:
image: stilleshan/myurls:latest
container_name: myurls
environment:
- MYURLS_DOMAIN=s.lqq.ai
- MYURLS_PROTO=https
volumes:
- /www/dk_project/myurls/app:/app
ports:
- "28080:8080"
depends_on:
- redis
restart: always

redis:
image: redis:latest
volumes:
- ./data/redis:/data
restart: always

重建docker镜像

myurls反向代理

在myurls反向代理配置中加入允许跨域配置,否则短链生成因跨域问题会不生效

  add_header Access-Control-Allow-Origin      '*';
  add_header Access-Control-Allow-Credentials true           always;
  add_header Access-Control-Allow-Methods     "GET, POST, PUT, PATCH, DELETE, OPTIONS" always;
  add_header Access-Control-Allow-Headers     "Authorization, Content-Type, X-Requested-With" always;
  add_header Access-Control-Max-Age           1728000        always;