MCPcopy Index your code
hub / github.com/ZeroDeng01/sublinkPro

github.com/ZeroDeng01/sublinkPro @v1.2.14

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.14 ↗ · + Follow
4,364 symbols 15,037 edges 549 files 1,472 documented · 34%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

✨ 强大的代理订阅管理与转换工具 ✨

<img src="https://img.shields.io/github/go-mod/go-version/ZeroDeng01/sublinkPro?style=flat-square&logo=go&logoColor=white" alt="Go Version"/>
<img src="https://img.shields.io/github/package-json/dependency-version/ZeroDeng01/sublinkPro/react?filename=webs%2Fpackage.json&style=flat-square&logo=react&logoColor=white&color=61DAFB" alt="React Version"/>
<img src="https://img.shields.io/github/package-json/dependency-version/ZeroDeng01/sublinkPro/@mui/material?filename=webs%2Fpackage.json&style=flat-square&logo=mui&logoColor=white&label=MUI&color=007FFF" alt="MUI Version"/>
<img src="https://img.shields.io/github/package-json/dependency-version/ZeroDeng01/sublinkPro/vite?filename=webs%2Fpackage.json&style=flat-square&logo=vite&logoColor=white&color=646CFF" alt="Vite Version"/>






<img src="https://img.shields.io/github/v/release/ZeroDeng01/sublinkPro?style=flat-square&logo=github&label=Latest" alt="Latest Release"/>
<img src="https://img.shields.io/github/release-date/ZeroDeng01/sublinkPro?style=flat-square&logo=github&label=Release%20Date" alt="Release Date"/>






<img src="https://img.shields.io/docker/v/zerodeng/sublink-pro/latest?style=flat-square&logo=docker&logoColor=white&label=Docker%20Stable" alt="Docker Stable Version"/>
<img src="https://img.shields.io/docker/pulls/zerodeng/sublink-pro?style=flat-square&logo=docker&logoColor=white&label=Docker%20Pulls" alt="Docker Pulls"/>
<img src="https://img.shields.io/docker/image-size/zerodeng/sublink-pro/latest?style=flat-square&logo=docker&logoColor=white&label=Image%20Size" alt="Docker Image Size"/>






<img src="https://img.shields.io/github/stars/ZeroDeng01/sublinkPro?style=flat-square&logo=github&label=Stars" alt="GitHub Stars"/>
<img src="https://img.shields.io/github/forks/ZeroDeng01/sublinkPro?style=flat-square&logo=github&label=Forks" alt="GitHub Forks"/>
<img src="https://img.shields.io/github/issues/ZeroDeng01/sublinkPro?style=flat-square&logo=github&label=Issues" alt="GitHub Issues"/>
<img src="https://img.shields.io/github/license/ZeroDeng01/sublinkPro?style=flat-square&label=License" alt="License"/>






<a href="https://github.com/ZeroDeng01/sublinkPro/issues">
  <img src="https://img.shields.io/badge/问题反馈-Issues-blue?style=flat-square&logo=github" alt="Issues"/>
</a>
<a href="https://github.com/ZeroDeng01/sublinkPro/releases">
  <img src="https://img.shields.io/badge/版本下载-Releases-green?style=flat-square&logo=github" alt="Releases"/>
</a>

English | 简体中文


📖 项目简介

SublinkPro 是基于优秀的开源项目 sublinkX / sublinkE 进行二次开发,在原项目基础上做了彻底的重构与优化,并添加了更多功能。感谢原作者的付出与贡献。

[!WARNING] ⚠️ 本项目和原项目数据库不兼容,请不要混用。

⚠️ 请不要使用本项目以及任何本项目的衍生项目进行违反您以及您所服务用户的所在地法律法规的活动。本项目仅供个人开发和学习交流使用。


✨ 功能亮点

功能 说明 详情
🏷️ 智能标签系统 自动规则打标签、零代码筛选、支持 IP 质量条件 📖
专业测速系统 双阶段测试、智能延迟测量、支持 IP 质量检测与解锁检测 📖
🔗 链式代理 Dialer-Proxy 原生支持、可视化配置、支持按 IP 质量选节点 📖
🤖 AI 模板编辑 用自然语言生成操作式预览,审阅只读对比,接受到编辑器后再正常保存 📖
✈️ 机场管理 多格式导入、定时更新、流量监控、一键全量拉取 📖
🗂️ 分组排序 分组内机场优先级拖拽排序,控制订阅输出中的节点顺序 📖
📋 订阅分享 多链接管理、过期策略、访问统计 📖
🌐 Host 管理 域名映射、DNS 配置、CDN 优选 📖
☁️ Cloudflare Tunnel 无公网 IP 暴露管理界面、页面托管 cloudflared 📖
🤖 Telegram Bot 远程测速、订阅管理、系统监控 📖
📜 脚本系统 节点过滤、内容后处理、多脚本链式执行 📖
🔔 Webhooks 支持 PushDeer、Bark、钉钉、方糖等多平台通知 📖
🔐 安全特性 Token 授权、API Key、IP 黑/白名单、访问日志 📖
🦾 AI agent 技能 通过 REST API 用自然语言驱动整个系统——添加节点、创建与分享订阅、管理机场与模板。采用可移植的 SKILL.md 格式,任何兼容的 AI agent 均可使用 📖

🚀 快速开始

Docker Compose(推荐)

[!IMPORTANT] 运行时数据默认保存在以下目录中,请在升级和迁移时保留:

  • ./db:数据库、配置文件、GeoIP 等本地数据
  • ./template:模板文件
  • ./logs:运行日志

创建 docker-compose.yml

services:
  sublinkpro:
    image: zerodeng/sublink-pro
    container_name: sublinkpro
    ports:
      - "8000:8000"
    volumes:
      - "./db:/app/db"
      - "./template:/app/template"
      - "./logs:/app/logs"
    restart: unless-stopped

启动服务:

docker-compose up -d

访问 http://localhost:8000,使用默认账号 admin / 123456 登录。

默认使用 SQLite;如需切换到 MySQL 或 PostgreSQL,可通过 SUBLINK_DSN、配置文件 dsn: 或命令行 --dsn 指定数据库连接,示例见 ⚙️ 配置说明

[!NOTE] 即使配置了 SUBLINK_WEB_BASE_PATH 隐藏管理界面入口,API (/api/*) 与订阅/分享访问路径 (/c/*) 仍保持在根路径下,这是本项目特有的前后端集成行为。

[!TIP] 更多安装方式(Docker、一键脚本、更新升级等)请参阅 📦 安装部署指南

[!TIP] Docker 镜像已内置 cloudflared。登录后可在 用户中心 -> Cloudflare Tunnel 填写 token 并启动;启用自动连接后会随服务启动连接 Tunnel。

从 SQLite 迁移到 MySQL / PostgreSQL

如果您早期使用的是 SQLite,现在希望迁移到 MySQL 或 PostgreSQL,建议按以下流程操作:

  1. 在旧的 SQLite 实例中登录后台,点击右上角头像菜单中的 系统备份,导出 backup.zip
  2. 在新实例中配置好 MySQL 或 PostgreSQL 的 DSN,并确保目标库是一个全新的空库
  3. 启动新实例后,进入 设置 -> 数据迁移
  4. 上传旧实例导出的 backup.zip
  5. 根据需要选择是否迁移 AccessKey、订阅访问日志,然后开始迁移
  6. 迁移完成后,请手动重启项目实例,再重新登录检查数据

[!IMPORTANT] 推荐使用 backup.zip 迁移。直接上传 .db 只会迁移数据库记录,不会恢复模板目录。

[!NOTE] 如果迁移了 AccessKey,请确保新旧实例使用相同的 API 加密密钥;否则旧 API Key 可能无法继续使用。

[!TIP] 如果迁移完成后提示“有 N 条警告”,可以到 任务中心 打开对应的“数据库迁移”任务查看详细警告内容。


📖 文档导航

🔧 安装与配置

文档 说明
📦 安装部署 Docker、一键脚本、更新升级、Watchtower 自动更新
⚙️ 配置说明 环境变量、命令行参数、验证码配置

✨ 功能详解

文档 说明
🏷️ 智能标签系统 自动规则打标签、零代码筛选、IP 质量规则
⚡ 测速系统 测速原理、IP 质量检测、解锁检测、参数配置
🌍 解锁检测 流媒体 / AI 可用区检测、Provider 架构、扩展方式
🔗 链式代理 Dialer-Proxy、条件选节点、配置流程
🤖 AI 模板编辑 操作式预览、只读对比审阅、接受到编辑器、正常保存
✈️ 机场管理 订阅导入、定时更新、流量监控
📋 订阅分享 多链接管理、过期策略、访问统计
🌐 Host 管理 域名映射、DNS 配置、测速持久化
☁️ Cloudflare Tunnel 创建 Tunnel、获取 token、配置公网访问
🤖 Telegram 机器人 命令列表、配置指南
📜 脚本功能 节点过滤、内容后处理、函数参考
🔐 双重验证(MFA) TOTP 设置、恢复码、应急重置流程

👨‍💻 开发者

文档 说明
🛠️ 开发指南 项目结构、本地开发、定时任务开发
🔌 协议扩展指南 如何新增协议、注册能力、字段元数据、ProtocolDemo 示例

📡 多协议支持

客户端 支持协议
v2ray base64 通用格式(不输出 Clash/mihomo 专属协议,如 Mieru)
clash / mihomo ss, ssr, trojan, vmess, vless, hy, hy2, tuic, AnyTLS, Socks5, HTTP, HTTPS, Mieru
surge ss, trojan, vmess, hy2, tuic, AnyTLS

[!NOTE] Mieru 当前仅支持 Clash/mihomo YAML 导入与导出。Mieru 官方存在 mieru:// / mierus:// 分享链接,但未定义适合逐字段编辑的通用 URL schema;SublinkPro 为原始编辑与 Clash/mihomo 导入回写使用内部可编辑形态:mieru://username:password@server:port?...#name,端口范围使用 portRange=2090-2099。v2ray 与 Surge 当前不支持 Mieru,订阅输出会跳过该协议而不是降级转换。


🖼️ 项目预览

点击展开/收起预览图

预览1 预览2
预览3 预览4
预览5 预览6
预览7 预览8
预览9 预览10
预览11 预览12

📊 项目统计

Star History Chart


🤝 贡献与支持

如果这个项目对您有帮助,欢迎:

  • Star 这个项目表示支持
  • 🐛 提交 Issue 反馈问题或建议
  • 🔧 提交 Pull Request 贡献代码
  • 📖 完善文档和使用教程

🌟 优质推荐

如果需要购买服务器,可以通过以下链接支持维护者。请注意,点击购买可能会为维护者带来佣金奖励;具体价格、活动资格、线路表现与续费规则请以官方页面为准。

  • BandwagonHost (搬瓦工):精品线路,提供多机房与 CN2 GIA 等线路方案,适合优质线路机。也可以当作稳定落地机结合打野节点使用。亮点:多机房 VPS 方案、可关注 CN2 GIA 优化线路、高质量线路机。
  • Vultr:海量机房可选,按小时结算收费,IP随时更换、地区可随时更换,最低$2.5/月,适合建站和 AI 服务托管等,也可作为线路机和落地机使用。亮点:多机房地区可选、按小时计费、低价稳定、有纯 V6 机器。
  • 阿里云 (Aliyun):99 元/年服务器新购续费同价,适合日常建站和测试,可部署 newapi 和 sublinkPro 等服务,通过链接注册可享受优惠(AI 等均可使用折扣)。亮点:适合国内部署与开发测试、99 元/年服务器新购续费同价、可领折扣券。

🙏 致谢

感谢以下项目的开源贡献:


Made with ❤️ by ZeroDeng01

Extension points exported contracts — how you extend this code

CommandHandler (Interface)
CommandHandler 命令处理器接口 [10 implementers]
services/telegram/handlers.go
UnlockCheckerMeta (Interface)
(no doc) [7 implementers]
services/unlock/meta.go
TaskManagerInterface (Interface)
TaskManagerInterface TaskManager 接口 用于管理后台任务的生命周期和进度报告 [2 implementers]
services/scheduler/bridge.go
TaskReporter (Interface)
TaskReporter 任务报告接口,用于解耦任务管理 由 scheduler 传入实现,避免 node 包导入 services 包导致的循环依赖 [2 implementers]
node/sub.go
Protocol (Interface)
Protocol 定义一个可注册协议需要提供的基础编解码与元数据能力。 同一实现返回的 Prototype、DecodeLink、EncodeLink 和 ExtractIdentity 应使用一致的具体类型语义。 [1 implementers]
node/protocol/protocol_meta.go
EntityCache (Interface)
EntityCache 实体缓存接口
cache/cache.go
TagGroupTagsFn (FuncType)
TagGroupTagsFn 标签组标签查询函数类型 参数:标签组名称 返回:该标签组下所有标签名称列表
utils/node_renamer.go
AsyncDispatcher (FuncType)
AsyncDispatcher 负责异步处理单个通知事件(如 webhook、telegram 推送)。
services/notifications/publish.go

Core symbols most depended-on inside this repo

withAlpha
called by 881
webs/src/utils/colorUtils.js
FailWithMsg
called by 383
utils/response.go
Set
called by 298
cache/cache.go
Error
called by 267
utils/log.go
Info
called by 240
utils/log.go
Error
called by 229
api/webhook.go
Get
called by 214
cache/cache.go
showMessage
called by 136
webs/src/views/scripts/index.jsx

Shape

Function 3,482
Method 516
Struct 329
TypeAlias 20
Interface 12
FuncType 5

Languages

Go67%
TypeScript33%
Python1%

Modules by API surface

models/node.go135 symbols
node/protocol/protocol_meta.go83 symbols
services/telegram/handlers.go79 symbols
services/database_migration.go57 symbols
models/tag.go50 symbols
node/sub.go47 symbols
api/rule_converter.go46 symbols
api/clients.go46 symbols
api/clients_test.go45 symbols
services/monitor/monitor.go43 symbols
models/subcription.go43 symbols
webs/src/views/templates/index.jsx42 symbols

Datastores touched

(mysql)Database · 1 repos
sublinkDatabase · 1 repos
sublinkDatabase · 1 repos
dbnameDatabase · 1 repos

For agents

$ claude mcp add sublinkPro \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact