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 配置密鑰,以防他人獲取您的訂閱信息。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。