Skip to content

Commit b30838f

Browse files
committed
feat: 自动复检失败节点并切换线路
1 parent b5d599e commit b30838f

5 files changed

Lines changed: 716 additions & 61 deletions

File tree

‎GitHub加速应用产品方案.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,8 @@ flowchart TD
188188
- 用户可在托盘菜单点击“重新测速并切换”。
189189
- 应用运行时可按可配置周期做轻量健康检查,并只为下一次 Git 操作更新线路。
190190
- 应用没有运行时不会自动发现节点故障。
191-
- 当前 Git 命令失败后,用户重新测速、切换节点并重试。
191+
- 自动模式下,当前 `clone`、`fetch`、`pull` 或 `ls-remote` 失败后,应用复检实际使用的当前节点;确认节点异常后自动为下一次 Git 操作换线,用户仍需重试原命令。
192+
- 固定节点、GitHub 直连、其他 URL 重写和 `push` 失败不会触发自动换线;关闭使用日志不影响自动故障复检。
192193
- 所有节点均不可用时,应用切到 GitHub 直连;如果应用未运行,则无法自动完成该切换。
193194

194195
产品文案不得使用“实时接管”“自动续传”或“当前 clone 无感切换”等表述。

‎README.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ GitBoost 是一个 macOS / Windows 桌面工具:用户继续使用原始 `http
1515
- 独立 `gitboost.gitconfig`、候选配置验证、原子替换、精确 include 注册与恢复。
1616
- Git 冲突、有效 fetch/push 地址、显式 `pushurl` 的脱敏诊断。
1717
- 基于 Git Trace2 Unix Stream Socket 的实际连接日志,区分加速线路、GitHub 直连和其他重写;不落盘原始参数或凭据。
18+
- 自动模式下,实际 Git 读取失败会触发当前节点的真实 Git 复检;确认节点异常后为下一次命令切换线路,没有候选节点时恢复 GitHub 直连。
1819
- macOS / Windows 托盘控制、定时健康检查、登录时启动。
1920

2021
## 路由清单的匹配边界
@@ -75,4 +76,4 @@ node scripts/encrypt-nodes.mjs /path/to/plain-nodes.json nodes.enc.json
7576

7677
数据保存在系统的应用数据目录 `pro.gitboost.desktop` 下。`system-nodes.json` 保存最近一次有效的系统节点目录,`nodes.json` 只保存用户自定义节点。恢复操作只删除 GitBoost 自己注册的 `include.path` 并清空自己的重写规则,不修改任何仓库的 remote。
7778

78-
“使用日志”要求 GitBoost 正在运行,只保留最近 7 天的脱敏记录。应用退出后加速配置仍然有效,但没有本地 Socket 接收 Trace2 事件,因此退出期间的 Git 操作不会补记;Socket 不可用不会阻断 Git 命令。
79+
“使用日志”要求 GitBoost 正在运行,只保留最近 7 天的脱敏记录。关闭使用日志不会关闭自动故障复检,也不会写入使用记录。应用退出后加速配置仍然有效,但没有本地 Socket 接收 Trace2 事件,因此退出期间的 Git 操作不会补记,也无法根据实际 Git 失败自动换线;Socket 不可用不会阻断 Git 命令。

0 commit comments

Comments
 (0)