强大的节点管理工具:Sub-Store!多机场订阅、自建节点的节点整理工具!VPS部署教程

强大的节点管理工具:Sub-Store!多机场订阅、自建节点的节点整理工具!VPS部署教程

 次点击
33 分钟阅读

强大的节点管理工具:Sub-Store!多机场订阅、自建节点的节点整理工具!VPS部署教程

一. 前言

Sub-Store!这是一款高级订阅管理工具

主要用于管理和优化各类在线订阅的内容,它提供了高度定制化的功能

方便用户对自建节点、订阅链接等进行全面的控制和优化。比如订阅的合并、过滤、去重、更新等,节点的排序、分类、emoi旗帜添加等。

二. 准备工作

  1. VPS 一台,重置好主流的操作系统(演示为 Debian 13,VPS来自Oracle,vps可以自由选择)
  2. 域名一个,托管到 Cloudflare,并解析到 VPS(如果无域名可以直接使用ip,更安全方式需要搭配域名使用)

三. Sub-Store 服务搭建

项目地址
前端:GitHub 地址
后端:GitHub 地址

  1. 更新系统
apt update -y   #Debian 命令
  1. 安装所需组件
apt install unzip curl wget git sudo -y   #Debian 命令
  1. 安装 FNM 版本管理器
curl -fsSL https://fnm.vercel.app/install | bash
  1. 按照回显的图示,运行命令保存生效
source /root/.bashrc


5. FNM 安装 Node

fnm install v24.11.1
node -v  # 回显返回版本号即为安装成功


6. 安装 PNPM 软件包管理器

curl -fsSL https://get.pnpm.io/install.sh | sh -
  1. 按照回显的图示,运行命令
source /root/.bashrc

四. 安装 Sub-Store

  1. 创建文件夹并拉取项目
mkdir -p /opt/sub-store #在 opt 目录下面创建 sub-store 文件夹
cd /opt/sub-store   #进入 sub-store 文件夹
  1. 拉取项目并解压
# 拉取后端项目
curl -fsSL https://github.com/sub-store-org/Sub-Store/releases/latest/download/sub-store.bundle.js -o sub-store.bundle.js
 
# 拉取前端项目
curl -fsSL https://github.com/sub-store-org/Sub-Store-Front-End/releases/latest/download/dist.zip -o dist.zip
  1. 解压前端文件,并改名为 frontend,而后删除源压缩文件
unzip dist.zip && mv dist frontend && rm dist.zip
  1. 创建系统服务
    采用服务进程的方式来启动
    进入 VPS 目录 /etc/systemd/system/,在里面创建一个文件 sub-store.service
# 安装vim
apt install vim

# 编辑sub-store.service
vim /etc/systemd/system/sub-store.service
  1. 写入以下服务信息
[Unit]
Description=Sub-Store
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/sub-store
LimitNOFILE=51200

# 环境变量
Environment="SUB_STORE_FRONTEND_BACKEND_PATH=/kxcZCwk483VwqzpKpEWC"
Environment="SUB_STORE_BACKEND_SYNC_CRON=0 0 * * *"
Environment="SUB_STORE_FRONTEND_PATH=/opt/sub-store/frontend"
Environment="SUB_STORE_FRONTEND_HOST=0.0.0.0"
Environment="SUB_STORE_FRONTEND_PORT=3001"
Environment="SUB_STORE_DATA_BASE_PATH=/opt/sub-store"
Environment="SUB_STORE_BACKEND_API_HOST=127.0.0.1"
Environment="SUB_STORE_BACKEND_API_PORT=3000"

# 启动命令:直接使用 fnm 可执行文件切换 Node 版本再启动
ExecStart=/root/.local/share/fnm/node-versions/v24.11.1/installation/bin/node /opt/sub-store/sub-store.bundle.js

Restart=on-failure
RestartSec=5s
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

  1. 上面服务代码中的 kxcZCwk483VwqzpKpEWC 为API请求密钥,请自行修改,推荐自动生成地址:点击访问
    后端服务相关命令
systemctl start sub-store.service     #启动服务
systemctl enable sub-store.service    #设置为开机自启
systemctl status sub-store.service    #查看服务状态
systemctl stop sub-store.service      #停止服务
systemctl restart sub-store.service   #重启服务
  1. 正常情况下,运行服务状态,应该类似下图:( active:running )

  2. 若是出现错误,你也是可以通过下面的命令来查看日志,来排除相关的错误

# 个命令用于实时查看 sub-store 服务的最新 100 行日志,并继续跟踪后续的日志输出。
journalctl -f -u sub-store -o cat -n 100

至此,sub-store 服务搭建完毕,若是不想绑定域名,你目前可以通过如下的IP+API的方式进行请求(当然,还是强烈的建议使用域名,并开启 CDN 的小云朵,用于隐藏真实 IP)

若是确定不使用域名,到这里就结束了。以下的内容可以不用再看!

# kxcZCwk483VwqzpKpEWC 为你的 API 请求密钥
 
http://IP:3001/?api=http://IP:3001/kxcZCwk483VwqzpKpEWC

五. 解析域名及caddy反向代理

  1. 解析域名,类型 A ,名称:随意 ,内容:VPS IP ,代理状态:关闭,TTL:自动

全部安装完成后,在开启代理状态

  1. 安装caddy
# 准备(确保已安装 curl、gnupg、ca-certificates)
sudo apt update
sudo apt install -y curl gnupg ca-certificates

# 导入官方仓库 GPG(命令仅示范,若报错按官网步骤调整)
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

# 添加仓库(命令示例,any-version 可替换或保留)
echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/ubuntu any-version main" | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install -y caddy
  1. Caddyfile 基础位置
    在 /etc/caddy/Caddyfile。修改这个文件后重载 Caddy 即可
    创建及编辑Caddyfile文件
vim /etc/caddy/Caddyfile
sub.xxx.xx {
    reverse_proxy 45.xxx.xx.xx:3001
}

#sub.xxx.xx 为自己解析的域名
#45.xxx.xx.xx:3001 自己的IP及端口

按esc健,输入“:"及wq 回车退出

4. 创建日志目录并授权(Caddy 默认运行用户通常是 caddy):

sudo mkdir -p /var/log/caddy
sudo chown -R caddy:caddy /var/log/caddy
sudo chmod 750 /var/log/caddy
  1. 校验 Caddyfile 语法
sudo caddy validate --config /etc/caddy/Caddyfile
  • 如果返回 valid 则继续下一步;若报错,caddy validate 会给出位置信息,按提示修正。
  1. 让 Caddy 重新加载配置(无停机):
sudo systemctl reload caddy

或(若需要完全重启):

sudo systemctl restart caddy

查看实时日志(定位证书或代理错误):

sudo journalctl -u caddy -f
# 或查看你配置的访问日志
sudo tail -F /var/log/caddy/flux_access.log

重载caddy 服务,若是不报错,caddy 反代成功,目前可以访问如下网址(自行替换域名)到达订阅页面

https://sub.xxx.xx/?api=https://sub.xxx.xx/kxcZCwk483VwqzpKpEWC 
#sub.xxx.xx 为自己解析的域名

六. 创建订阅

点击立即添加

选择单条订阅

机场使用远程订阅,在链接处输入自己的远程订阅链接
自建节点使用本地订阅

组合订阅



复制链接到入代理软件

七.Sub-Store 服务更新

systemctl stop sub-store.service  # 停止服务
cd /opt/sub-store            # 进入 sub-store 文件夹
# 更新项目脚本
curl -fsSL https://github.com/sub-store-org/Sub-Store/releases/latest/download/sub-store.bundle.js -o sub-store.bundle.js
systemctl daemon-reload      # 重载服务
systemctl start sub-store.service  # 启动服务
systemctl status sub-store.service  # 查看服务状态
© 本文著作权归作者所有,未经许可不得转载使用。