| 名词 | 大白话 |
|---|---|
| 域名 / IP 地址 | 域名是"名字",IP 是"门牌号"。github.com 是名字,140.82.112.3 是门牌 |
| DNS | 查号台:把名字翻译成门牌。查号台可被投毒(给你假门牌)——本程序不问它,内置了真门牌表 |
| TCP 连接 | 电话拨通。拨不通 = 这个 IP 当下不可用 |
| TLS 握手 / HTTPS | 电话接通后先对暗号、换加密频道,之后通话内容外人听不懂 |
| SNI | 握手第一句里明文写的"我要找 xx 域名"。审查就盯着这一句看 |
| ALPN / h2 | 对暗号时顺便约定讲哪种方言(HTTP/2 还是老的 1.1)。GitHub 边缘要求必须协商出 h2 |
| RST | 掐断电话:连接被中途强制挂断 |
| 黑洞 | 石沉大海:包发出去永远没有回音 |
| CONNECT 隧道 | 浏览器对 HTTPS 站点的方式:代理只负责"接通电话然后搬运加密箱",箱里是什么看不见 |
| MITM(中间人) | 代理持有本地钥匙,把箱子拆开看明文、必要时换条路重发,再重新装箱给浏览器。需要浏览器信任代理自办的 CA 证书 |
| CA 证书 | 自办工作证。ca.crt 装进系统"受信任的根"后,浏览器才认代理现签的证书 |
| 指纹(JA3) | TLS 握手第一句的"笔迹"。本程序用 BoringSSL(Chrome 在用的 TLS 库),笔迹天然是 Chrome 同款 |
| 封锁 | 原理 | 本程序的绕法 |
|---|---|---|
| DNS 污染 | 查号台给假门牌 | 不查号,内置真 IP 表 |
| SNI 阻断 | 盯握手第一句的明文域名 | 伪装 SNI:第一句写 baidu.com,证书按真域名验证。例外:185.199.x.133 边缘伪装会被挂起,只能真名 |
| IP 黑洞 | 门牌本身被断路 | 串发换 IP:按表逐个试,坏的垫底换下一个 |
| 风控 | 服务器故意回拦截页(403 restricted / 400 Whoa) | gh_defuse:本地认出拦截页,该 IP 垫底换下一个 |
| 名词 | 大白话 |
|---|---|
| IP 池 | 某类域名的候选 IP 排队名单,存 plans.json。三池:core(主站)/ api / edge(授权+静态+内容域) |
| 表头 | 名单第一名 = 现在正在用的 |
| 串发 | 排队逐个试,失败换下一个( |
| 置顶 / 垫底 | 排队次序调整:通的升表头,坏的沉表尾 |
| 冷却 | 绕表全灭后 30 秒内快速失败,不反复烧表 |
| 熔断 | 内容域直连失败一次 120 秒内直接走镜像;镜像链全灭 60 秒内同域快速失败 |
| 流式直通 | 大请求体不进内存,边收边泵给上游,响应头一到立即回传 |
| 镜像链 | 每种资源的"复印店优先级名单",串行逐家用;名单完全来自 plans.json,可加自部署镜像(支持拼接即可) |
| 预算 | 一次尝试最多等几秒(拨号 3s、响应 8s、镜像响应头 5s、流式响应头 1800s) |
| 首字节看门狗 | 电话通了但对方 8 秒不吭声 → 判死 |
| gh_defuse | 拦截页化解机制的名字 |