剪藏#oisLv 6楼主#剪藏

🚀 Sub-Hub 基于 Cloudflare Worker+D1数据库的简洁订阅管理器,摒弃第三方订阅转换! 🔥

2025 年 5 月 27 日1 分钟
分享Twitter / XTelegram微博
🚀 Sub-Hub 基于 Cloudflare Worker+D1数据库的简洁订阅管理器,摒弃第三方订阅转换! 🔥 封面

Sub-Hub

  • Sub-Hub 是一个基于 Cloudflare Workers 的代理节点订阅管理系统。它提供了一个直观的 Web 界面,让您可以轻松管理多个订阅和节点

  • 基于Cloudflare Worker 搭建,不需要借助VPS进行部署

  • 仅支持原始格式,BASE64格式,Surge格式订阅,别问为什么没有Clash,问就是Clash可以用BASE64

  • 仅支持SS、VMess、VLESS(除Surge)、Trojan、SOCKS5、Snell(仅Surge) 格式节点的托管

  • 本项目不使用任何第三方订阅转换,所以可能有部分协议转换不完整,目前支持的协议经过测试没发现太大问题,如果有不支持的协议可留言

  • 基于Cursor纯AI代码,有问题可以提,但不一定能解决

项目地址:

Sub-Hub

演示画面:

功能特点

  • 🚀 支持多种代理协议

  • SS(Shadowsocks)

  • SS2022(Shadowsocks 2022)

  • VMess

  • Trojan

  • VLESS(除 Surge 外)

  • SOCKS5

  • Snell(仅 Surge)

  • 💼 订阅管理

  • 创建多个独立订阅

  • 自定义订阅路径

  • 支持批量导入节点

  • 节点拖拽排序

  • 🔄 多种订阅格式

  • 原始格式(适用于大多数客户端)

  • Base64 编码格式(/v2ray 路径)

  • Surge 配置格式(/surge 路径)

  • 🔒 安全特性

  • 管理面板登录认证

  • 会话管理

  • 安全的 Cookie 设置

  • 🎨 现代化界面

  • 响应式设计

  • 直观的操作界面

  • 支持移动设备

部署教程

1. 创建项目

  1. 创建名为“sub-hub”新的 Workers 项目

  2. 创建名为“sub-hub”的D1 数据库

  3. 将D1数据库与Cloudflare Workers绑定变量名称 = "DB"数据库名称 = "sub-hub"

2. 初始化数据库

-- 在名为“sub-hub” 的D1 数据库“控制台”中执行如下代码

-- 创建订阅表

JAVASCRIPT
CREATE TABLE IF NOT EXISTS subscriptions (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    path TEXT NOT NULL UNIQUE
);

-- 创建节点表

JAVASCRIPT
CREATE TABLE IF NOT EXISTS nodes (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    subscription_id INTEGER NOT NULL,
    name TEXT NOT NULL,
    original_link TEXT NOT NULL,
    node_order INTEGER NOT NULL DEFAULT 0,
    FOREIGN KEY (subscription_id) REFERENCES subscriptions(id) ON DELETE CASCADE
);

-- 创建会话表

JAVASCRIPT
CREATE TABLE IF NOT EXISTS sessions (
    session_id TEXT PRIMARY KEY,
    username TEXT NOT NULL,
    expires_at INTEGER NOT NULL
);

-- 创建索引

JAVASCRIPT
CREATE INDEX IF NOT EXISTS idx_subscriptions_path ON subscriptions(path);
CREATE INDEX IF NOT EXISTS idx_nodes_subscription_order ON nodes(subscription_id, node_order);
CREATE INDEX IF NOT EXISTS idx_sessions_expires ON sessions(expires_at);

3. 配置环境变量

在 Cloudflare Dashboard 中设置以下环境变量:

  • ADMIN_PATH: 管理面板路径(默认:admin)

  • ADMIN_USERNAME: 管理员用户名(默认:admin)

  • ADMIN_PASSWORD: 管理员密码(默认:password)

4. 部署代码

  1. 将“worker.js”文件内容复制到Cloudflare Workers保存

5. 访问系统

  1. 访问管理面板:https:``//你的域名/ADMIN_PATH

  2. 订阅地址格式:

  3. 原始格式:https://你的域名/订阅路径

  4. Base64 格式:https://你的域名/订阅路径/v2ray

  5. Surge 格式:https://你的域名/订阅路径/surge

使用说明

创建订阅

  1. 登录管理面板

  2. 点击"添加订阅"按钮

  3. 输入订阅名称和路径(路径只能包含小写字母、数字和连字符)

  4. 点击"创建"按钮

管理节点

  1. 在订阅列表中找到目标订阅

  2. 点击"添加节点"按钮添加新节点

  3. 支持以下格式:

  4. 单个节点链接

  5. 多个节点链接(每行一个)

  6. Base64 编码的节点列表

节点排序

  1. 点击"节点列表"按钮查看节点

  2. 拖拽节点行可以调整顺序

  3. 顺序会自动保存

批量操作

  1. 点击"批量删除"按钮进入批量模式

  2. 勾选要删除的节点

  3. 点击"确认删除"执行删除操作

注意事项

  1. 首次部署后请立即修改默认的管理员密码

  2. 定期备份数据库内容

  3. 妥善保管管理面板地址和登录信息

  4. 建议使用强密码提高安全性

技术栈

  • Cloudflare Workers

  • Cloudflare D1 (SQLite)

  • HTML5 + CSS3

  • JavaScript (ES6+)

  • Bootstrap 5

  • Font Awesome

  • SortableJS

原文地址: https://www.nodeseek.com/post-349175-1

相关文章