Repository navigation
Release v1.15.0
v1.15.0 — 检测中心与独立自动任务
新增功能
- 检测中心拆分为 检测方案 / 自动任务 / 运行记录 / 节点结果 四个入口,方案支持组合连通性与延迟、下载速度、出口 IP/国家、IP 质量、AI 服务和流媒体模块。
- 自动任务复用检测方案,独立设置全部节点、机场/原分组/标签交集或智能分组候选范围。支持服务时区的五段 Cron,以及机场更新成功后的事件触发。
- 定时任务可先更新指定机场,等待全部成功、自动标签完成后再解析最新范围和检测;前置更新失败/取消就停止,不递归启动更新后检测。
- 同一独立任务防重;检测期间收到的机场事件合并为一批补跑,重新读取启用状态及范围。空候选与空筛选不会回退全库。
- 分页查看最新节点检测状态、原机场、Provider 状态/原因/详情及检测时间;查看当前智能分组入组或排除原因,并可直接重测单个节点。
- 运行记录复用现有任务系统,显示触发来源、执行进度与详情,支持停止任务。
兼容与保护
- 保留节点列表的单节点/选中节点检测,明确传递节点 ID,避免误扫分组或全库。
- 旧检测方案 ID、机场引用、智能分组绑定、旧 API 和 Telegram 定时操作保持兼容;旧策略调度显示为“兼容任务”,不复制、不重复注册。
- 编辑检测方案不清空已有定时配置;删除兼容任务只移除其调度,不删除方案。保护被引用的方案和智能分组,避免悬空任务。
- 切换下载测速模块保留各模式的自定义 URL;兼容空数组、请求乱序、分页越界与运行详情状态刷新,折叠设置支持键盘操作。
- 数据库恢复包含独立任务及关联候选分组,保留原 ID;旧备份恢复时不遗留目标实例的旧任务。
升级注意
- 升级前建议备份数据库:本版本新增自动任务表,首次启动会自动迁移。降级前请保留备份。
- 节点结果页是各检测项目的最新状态,不是某次运行的逐节点历史快照;运行记录保存执行摘要。
- “可供订阅”仅表示符合当前智能分组规则,不等于分组已被订阅选用;最终输出仍受订阅自身过滤影响。
- AI 服务探测与 IP 风险参考不证明账号能登录或模型能调用;AI 检测结果不会自动成为智能分组入组条件。
- OpenClash 在 OpenWrt 独立运行,本应用不控制其订阅刷新;请按节点规模、并发和超时预留检测缓冲。
- 防重按任务隔离,并非全局节点锁。避免为同一批节点同时开启重复的独立任务、智能分组或机场更新后检测。
验证
- 全量 Go 测试、gofmt、golangci-lint(0 issues)、前端 lint(0 errors)和生产构建通过。
- 新增 15 个回归测试函数,覆盖范围、防重/队列、前置更新、旧策略兼容、引用保护、分页与备份恢复。
- 真实 React/MUI 页面配合合成 API 数据验证 11 类交互,覆盖单节点范围、配置保存、任务详情刷新、自定义 URL、键盘操作、中英文及桌面/手机明暗主题;未使用生产节点进行测试。
- 保留既有的非阻塞格式、构建体积及 MUI Grid 弃用警告。
Docker
ghcr.io/linux-jin/sublink-pro:v1.15.0
ghcr.io/linux-jin/sublink-pro:latest
支持 Linux amd64、arm64、arm/v7、386。Release 附 Linux、Windows、macOS 共 8 个二进制安装包。
English summary
- Split the detection center into reusable plans, independent automatic jobs, run history and paginated latest node results.
- Combine latency, optional downloads, exit information, IP quality and metadata-driven AI/streaming checks. Preserve single/selected-node testing and existing profile IDs/references.
- Schedule explicit scopes or react to successful airport updates. Optional synchronous airport pre-updates and auto-tag completion precede scope resolution; failed updates stop checks. Per-job overlap protection coalesces airport follow-ups, and empty scopes never expand to all nodes.
- Map old schedules as compatibility jobs without copying them. Protect referenced plans/groups and preserve independent jobs and candidate-group IDs during restore.
- Inspect source airports, provider evidence, timestamps and current membership reasons. Latest node state is not a run snapshot; membership is not guaranteed subscription inclusion, and probes are not account/model verification or new AI membership rules.
- Back up the database before upgrading: a new automatic-job table is migrated on startup. OpenClash remains independent; allow enough time before its refresh and avoid duplicate automation paths.
- Full Go tests, lint/build and regression/browser checks passed; existing non-blocking warnings remain.