一个基于 Cloudflare Workers 的订阅中转工具,支持 安全模式(IP + Key) 与 分享模式(仅 Key)。
SubBridge Worker 通过 Cloudflare 边缘网络,将真实订阅进行安全中转,实现:
- 🔐 限制访问来源(IP 白名单)
- 🔑 Key 鉴权访问(隐藏订阅结构)
- 📦 多订阅统一管理(JSON 映射)
- 🛡 防止订阅泄露
- ⚡ 全球加速访问
适用于:
- Sub-Store
- Clash / Clash Meta
- sing-box
- v2rayN / v2rayNG 等客户端
本项目提供两种 Worker 版本:
- ✔ IP 白名单 + Key 鉴权
- ✔ 安全性最高
- ✔ 推荐自用
- ✔ 仅 Key 鉴权
- ❌ 无 IP 限制
- ⚠ 适合临时分享,不建议长期公开
subbridge-worker/
├── workers/
│ ├── secure.js
│ └── share.js
├── README.md
├── example.env
├── .gitignore
└── LICENSE
登录 Cloudflare:
👉 Workers & Pages → Create Worker
上传:
workers/secure.js
上传:
workers/share.js
打开控制台执行:
async function hashIP(ip) {
const data = new TextEncoder().encode(ip);
const hash = await crypto.subtle.digest("SHA-256", data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, "0"))
.join("");
}
hashIP("你的公网IP").then(console.log);echo -n "你的公网IP" | sha256sum[System.BitConverter]::ToString(
[System.Security.Cryptography.SHA256]::Create().ComputeHash(
[System.Text.Encoding]::UTF8.GetBytes("你的公网IP")
)
).Replace("-", "").ToLower()在 Cloudflare → Worker → Settings → Variables 添加:
ALLOWED_IPS=hash1,hash2
SUB_MAP={"key1":"订阅1","key2":"订阅2"}
SUB_MAP={"a8f3k2x":"https://example.com/sub1","9dj2kq1":"https://example.com/sub2"}
https://your-worker.workers.dev/?key=a8f3k2x
内置简易日志(console.log)
[2026-03-24T15:00:00Z] [IP:1.2.3.4] [KEY:a8f3k2x] 🚀 Fetching subscription
[2026-03-24T15:00:00Z] [IP:1.2.3.4] [KEY:a8f3k2x] ✅ Success: 200
Cloudflare → Workers → Logs
- IP 白名单(secure.js)
- Key 鉴权
- 环境变量隔离
- 不要公开 Worker URL
- 不要泄露 key
- 分享版请定期更换 key
- IP 不在白名单(安全版)
- key 错误
- SUB_MAP 未配置
- key 不存在
- 源站限制访问
- 订阅地址失效
- 多订阅统一管理
- Sub-Store 中转
- 防止订阅泄露
- 临时分享订阅
客户端(Clash / Sub-Store)
↓
SubBridge Worker
↓
原始订阅服务器
MIT License
如果这个项目对你有帮助,欢迎:
- Star ⭐
- Fork 🍴
本项目仅供学习与技术研究使用,请遵守当地法律法规。