banner
🔥𝓢𝓲𝓰𝓮!𝓢𝓱𝓾𝓸

🔥𝓢𝓲𝓰𝓮!𝓢𝓱𝓾𝓸

tg_channel
telegram
discord server
x
github
medium
threads
instagram
phaver
warpcast
debank

Clash 节点聚合管理

对于使用科学上网的用户来说,购买的机场可能不止一个,因此他们通常会拥有多个订阅地址。如下图所示:

image

一个机场对应一个订阅地址会带来以下弊端:

  1. 订阅地址变更成本高
    当机场更改订阅地址时,Clash 客户端需要手动更新订阅地址。如果同时使用多个订阅地址,修改的工作量会成倍增加。尤其当订阅在多个设备上使用时,每台设备都需要单独修改,操作更加繁琐。

  2. 订阅切换不便
    Clash 客户端每次只能选择一个订阅,尽管不同订阅可能有更优质的节点,但需要切换订阅才能使用,过程较为麻烦且效率低下。

针对以上问题,我们迫切需要一种方案,能够将多个订阅中的节点合并到一个订阅中。这样,用户只需面对一个统一的订阅地址即可使用,极大简化操作。

Sub-Store#

Sub-Store 正是为了解决这一问题而设计的一款工具。它可以将多个订阅中的节点合并到一个统一的订阅中,用户只需使用这个统一的订阅地址即可方便地管理和使用所有节点。通过 Sub-Store,大幅降低了订阅地址变更的复杂性,同时无需频繁切换订阅,轻松实现最优节点的灵活使用。

搭建#

准备目录结构#

.
├── docker-compose.yaml
├── .env
└── redis
    └── redis.conf

.env

#容器名称前缀
COMPOSE_PROJECT_NAME=sub-store
#容器数据根目录
PROJECT_HOME=/opt/sub-store
#订阅定时更新周期
SUB_STORE_BACKEND_SYNC_CRON='55 23 * * *'
#安全密钥(勿泄露)
SUB_STORE_FRONTEND_BACKEND_PATH=/h1j2k3l4m5n6o7p8q9r0s1t2u3v

.redis.conf

# Redis configuration file example

# Enable RDB persistence
save 900 1
save 300 10
save 60 10000

# Enable AOF persistence
appendonly yes

docker-compose.yaml
假设我们的服务器 IP 为:198.22.145.117

services:
 # 订阅转换服务
  sub:
    image: stilleshan/sub
    restart: always
    environment:
      - API_URL=http://198.22.145.117:13001
      - SHORT_URL=http://198.22.145.117:13003
      - SITE_NAME=SigeShuo
    ports:
      - "13001:80"
  # Sub-Store 订阅管理服务
  app:
    image: xream/sub-store
    restart: always
    environment:
      - SUB_STORE_BACKEND_SYNC_CRON=${SUB_STORE_BACKEND_SYNC_CRON}
      - SUB_STORE_FRONTEND_BACKEND_PATH=${SUB_STORE_FRONTEND_BACKEND_PATH}
    ports:
      - "13002:3001"
    volumes:
      - ${PROJECT_HOME}/data:/opt/app/data
  # 短链服务
  myurls:
    image: stilleshan/myurls:latest
    restart: always
    environment:
      - MYURLS_DOMAIN=198.22.145.117:13003
      - MYURLS_PROTO=http
    volumes:
      - ${PROJECT_HOME}/myurls/logs:/app/logs
    ports:
      - "13003:8080"
    depends_on:
      - redis
  # 短链缓存服务
  redis:
    image: redis:latest
    restart: always
    volumes:
      - ${PROJECT_HOME}/redis:/data
      - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
    command: [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
  # 容器自己更新监听服务
  watchtower:
    image: containrrr/watchtower
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

# docker-compose.yaml 同级目录下执行以下命令即可部署
docker compose up -d

如果使用域名或 nginx 反代,仅需要变更以上配置中的 IP 调整为域名即可。

使用#

Sub-Store#

Sub-Store 访问地址:

http://198.22.145.117:13002?api=http://198.22.145.117:13002/h1j2k3l4m5n6o7p8q9r0s1t2u3v
  • h1j2k3l4m5n6o7p8q9r0s1t2u3v 这是在 .env 文件中配置的安全密钥,您可以随意修改。当密钥更新后,以上地址中的密钥需要替换为更新后的值。

添加单条订阅#

image

image

添加组合订阅#

image

image

Subconverter 订阅转换#

image

首先拷贝 Sub-Store 中的聚合订阅地址

image

通过 Subconverter 转换成含分组的订阅地址

Clash 导入订阅转换地址#

image

导入 Subconverter 转换后的订阅地址,也可以使用短地址生成的短链接

总结:

在使用 Sub-Store 管理多个订阅地址时,您只需在 Sub-Store 后台进行增、删、改操作,或在聚合订阅管理中修改包含的单个订阅信息,即可轻松管理 Clash 客户端的节点信息。Clash 客户端只需在需要时进行刷新,变更即可生效,无需手动调整 Clash 配置。

请注意,当 Sub-Store 部署在公网时,务必保护 .env 文件中的 SUB_STORE_FRONTEND_BACKEND_PATH 配置密钥,以防他人获取您的订阅信息。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。