Skip to content

GitPort GitHub v0.4.3

Choose a tag to compare

@zhidian-cmd zhidian-cmd released this 28 Oct 03:43
· 101 commits to main since this release

GitPort GitHub v0.4.3

相对 v0.4.2:一个主题贯穿始终——把实测数字摆上桌,哪里慢修哪里。全部改动来自与同类工具的同机交替实测和日志证据。

⚡ API 池提速:中位 330ms → 135ms(快 2.4 倍)

与同类工具 20 轮交替实测发现:api 池 6 条 IP 全是 140.82.11x 段(TCP 中位 257-280ms),没有 Azure GLB 段。

  • 补入实测 91ms 的 20.27.177.116 等地址,8 条候选按实测延迟重排——新用户首次启动从表头起步,最快的 IP 不能埋在末尾
  • 效果:api 上游侧中位 330ms → 135ms,复用连接 95ms

🔀 双通道重做:从两条碰运气的连接到有分工的系统

双通道的目的回归本位:HTTP/2 单连接有流控窗口与队头阻塞,大响应占着窗口时后续请求只能排队——两条连接让新请求不排队(浏览器同款思路)。

  • 游标分键:每族两把游标钥匙(主键 + ~2),两条通道各记各的最优 IP,互不覆盖;副键提前写入 settings.json 固定键位,重启即有记忆
  • 冷启动并行竞速:两个建连任务同时发射,同组认领互避(对方试过/正在试/已建成的 IP 一律绕行);先成者立即服务请求,晚成者建成直接上岗接走排队请求
  • 拨号永远避开池中活连接:修掉一个暗坑——旧代码重拨会撞上池里还活着的连接,无意间造出同 IP 双连
  • 实测:冷启动 1-2 秒建成两通道且不同 IP;真实流量中一条连接被 GitHub 正常 GOAWAY 时,另一条无感接管

🔍 搜索链路稳定化:翻页与退出全部秒回

搜索是 GitHub 反爬最敏感的接口,v0.4.3 拆掉了四层问题:

  • 搜索请求固定走主通道:同会话的搜索流量在两个 IP 间漂移会触发 GitHub blackbird 反爬降级(症状:结果数巨大、列表却是空的)
  • 限流骨架不入缓存:GitHub 降级返回的无结果骨架页不再被缓存固化——降级是一次性的,配额恢复即自愈,不再"一直坏"
  • 翻页页入缓存 + 内容分钥匙:GitHub 翻页是 React 软导航(不是页面跳转),且同一 URL 按 Accept 协商出 JSON/HTML 两种正文——分钥匙各存各取,不会拿错
  • 查询串归一化:?p=1 与无 p 同键、参数重排同键——从第二页回第一页直接命中

效果:翻页、从仓库退出回列表,第二次起全部本地秒回(实测文档命中 0 上游)。

🖼️ 头像入口 302 记忆:来回归零

GitHub 的头像入口 github.com/<user>.png 是「302 跳转 + no-cache」设计:浏览器每次渲染页面都必须重问一遍跳转,260-310ms × 十几个并行——这是列表页内容"逐渐蹦出来"的最大一块。代理现在记住跳转目标、本地直答:浏览器行为完全不变,那个来回归零。

🖥️ 系统代理修复:开机自动接管

修复"界面开关开着、日志说已同步、浏览器却没走代理":改用 Windows 连接级接口写入「启用自动配置脚本」标志位。现在开机自动接管、退出自动还原,不再需要手动关开一次开关。

🧹 其他

  • 产物体积 9.43 → 8.79 MB(codegen-units = 1)
  • 建连日志降噪(每站冷启动 4-6 行 → 3 行);浏览器自我校验的 304 不再刷日志
  • 双通道正确性核心补齐单元测试(认领互斥/槽位过滤/骨架三态)

验证:81 项测试通过;api 上游 2.4× 提速与双通道竞速均为同机交替实测数据。
升级提示:settings.json 的 lastIp 键位从 10 → 20(双通道游标),旧配置自动补空,无需手动处理。