Repository navigation
GitPort GitHub v0.3.0
GitPort GitHub v0.3.0 —— sni 纯透传 · 镜像链全数据驱动
v0.2.0 之后的第三个公开版本:这一版把"文件里写什么,代理就跑什么"落到了底。
2026-10-22 资产随代码更新(仍为 v0.3.0,75 个提交),以下补全发布后的全部改动。
sni 纯透传
- plans.json 的
sni原样进 TLS 握手,写什么传什么:写域名 = 伪装,写 host 真名 = 真名,写""= 无 SNI - 删掉全部形态解释层(MODE/plan_mode/shape_for_ip),试不同 SNI 形态 = 改一行文件重启,没有隐藏规则
⚠️ 升级注意:旧写法sni/real/nosni/fake:关键字不再有特殊含义,请改写成实际域名或空串
镜像链全数据驱动
- 删内置镜像白名单与默认链表:任何支持拼接的 https 镜像都能用,自部署的一样,坏镜像运行期自然失败沉底
- 缺链 host 无镜像腿,数据说了算
- 全新安装的引导快照自带校准过的镜像链序,开箱即当前最优
内容边缘复活
- 185.199.108/109/111.133 判死属封锁窗口假死,回归内容族(纵深 +3)
连接复用 2.0
- 高频 host(github.com / api / raw / avatars / githubassets)每 host 最多开 两条 h2 连接:单连接 24 并发被服务端按连接限流(p50 1036ms),两条压到 332ms,四条不再改善
- 第二条连接自动落到不同 IP,避开边缘对同 IP 复用的降权
- 按每条连接的 EWMA 实测耗时择优取用,每 8 次留一次探索——两条连接质量差 3.6 倍时不再把一半请求喂给慢连接
- 修三个回归:GOAWAY 后在途请求排队拨号 10s+(恢复锁内连接重查);keepalive 失败摘错连接(按连接 id 精确摘除);响应预算被烧两遍
- 实测:github.com p90 3591→530ms、max 5860→920ms
前端遥测拦截
- api.github.com 75% 的请求是
/_private/browser/*前端遥测(Datadog RUM),外加 alive / collector 心跳——全部本地读掉回 204,一个字节不发往 GitHub(作用域:MITM 模式;透传模式下这些域名照常走隧道) - 拦截后搜索历史等真 API 不再被遥测挤队列(搜索 count 请求 300~450ms)
配置与状态收敛
- 拨号轮换改游标制:IP 表顺序固定零写盘,驻留记号入 settings.json
- settings.json 固定 6 键 schema:缺键/坏字段按默认补齐,不再整份作废;原子写(tmp+rename)+ 每次落盘重收紧 ACL
- 删 IP 退役名单:IP 死活全凭串发实测,代码零 IP 名单
- 修 TTFB 镜像校准排序 bug:旧版会把最慢镜像排到链头写回 plans.json
绿化与瘦身
- 退出/收托盘即清 WebView2 数据目录,启动兜底——绿色零残留
- 整轮审计净删数百行:ourPAC 持久化、ProxyGuard、交付字节计数、
image依赖(lockfile -42 行)、自建系统调用、重复包装层;托盘图标改 exe 内嵌资源 - MITM 下不做 WebSocket(确认无使用场景后删除):ws 请求按普通 GET 走上游,浏览器快速失败
- 自动化测试 46 → 51 个
稳健性与隧道分片
- 整轮审计修复:明文 http 转发头/体切分(请求体不再被当头转发)、h2 SETTINGS 握手限时 5s(防"TLS 通但装死"的 IP 持锁拖死整域)、WebUI 启动失败留痕、accept 错误退避
- 隧道握手分片(随机化):CONNECT 透传把 ClientHello 拆成 2~3 段(切点/间隔每连接随机)再发,DPI 拼不齐 SNI——真名腿免于 RST 的掩体(纯用户态,不装证书)
- 已知边界:透传遇会话级风控页时,垫底轮换会加速"会话-IP 漂移"放大风控信号——此时切 MITM(连接池驻留)或等风控过期
- 自动化测试 51 个
下载:Assets 里的 gitport-github.exe(8.9MB,2026-10-22 构建,v0.3.0 代码线),单文件,直接替换旧版即可。