GoodbyeDPI 完全上手Windows 上绕过运营商 DPI 的完整教程【免费下载链接】GoodbyeDPIGoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)项目地址: https://gitcode.com/GitHub_Trending/go/GoodbyeDPI打开一个网站出来的不是文章而是一页访问受限换成 HTTPS 页面更糟直接转圈。这多半不是电脑的问题而是运营商链路上的深度包检测DPI设备认出了你的请求。GoodbyeDPI 是一款免费开源的 DPI 规避工具读完本文你能在 Windows 上把它跑起来把被拦的页面恢复正常。Windows 三步快速启动系统要求Windows 7 / 8 / 8.1 / 10 / 11管理员权限。从项目 Releases 页下载压缩包并解压得到goodbyedpi.exe和若干.cmd脚本。按地区双击对应脚本俄罗斯用1_russia_blacklist_dnsredir.cmd其他国家用2_any_country_dnsredir.cmd。保持控制台窗口开着打开一个之前被拦的网站能打开就算成功。 如果裸跑goodbyedpi.exe无效、而开启安全 DNSDoH后域名解析正常说明你的运营商会拦截 DNS 请求。此时加--dns-addr把查询改道到非标准端口的公共解析器官方示例是 Yandex DNS77.88.8.8:1253。实现见 src/dnsredir.c。原理白话GoodbyeDPI 对付的两种 DPI程序启动时加载 WinDivert 内核驱动通过 Windows 过滤平台WFP在网卡数据流上设过滤器把数据包引到用户态处理。控制台窗口开着就在跑关窗即停总调度逻辑在 src/goodbyedpi.c。被动 DPI抢答的假窗口被动 DPI 旁路接入光分路器或端口镜像不改你的数据但响应比真网站还快你走 HTTP它先回一个 HTTP 302 把你拐到审查页你走 HTTPS它直接发 TCP Reset 掐断连接。这些假包有个规律——IP 头的 Identification 字段通常是固定的0x0000或0x0001俄罗斯运营商实测。GoodbyeDPI 按这个指纹把假包丢弃真实网站的 IP ID 是变化的不受影响。主动 DPI会开箱的海关主动 DPI 串在链路中间能改包、能分类内容更难糊弄。对付它GoodbyeDPI 对请求做 7 种合规变形——全部符合 TCP 与 HTTP 标准网站照常工作分类器却解析不出内容。下一节逐一说明。7 种让主动 DPI 分类失败的合规变形#变形手段1第一个数据包做 TCP 级分片2keep-alive 持久会话分片3把Host头名替换为hoSt4去掉Host:与值之间的空格5在方法与 URI 之间加额外空格6随机混合 Host 值大小写test.com→tEsT.cOm7发送 TTL/校验和/序列号不正确的假包假包的关键是骗得过大、到不了真服务器。--auto-ttl会先记录真实服务器 SYN/ACK 的 TTL算出你与服务器之间的跳数再发出一个差一跳就过期的假包TTL 追踪逻辑在 src/ttltrack.c--wrong-chksum发校验和错误的包--wrong-seq发序列号落在过去的包两者都会被对端按协议丢弃。生成逻辑见 src/fakepackets.c。常用参数表与默认怎么选常用参数如下参数取值作用-p—拦截被动 DPI丢弃假 302/Reset-q—拦截 QUIC/HTTP3 流量-r/-s/-m—Host 头变形三件套改hoSt/ 去空格 / 混大小写-f 值整数HTTP 首个包的分片大小-e 值整数HTTPS 首个包的分片大小-k 值整数启用 keep-alive 会话分片并设大小-n—配合-k不等首个分片的 ACK-a—方法与 URI 间加额外空格⚠️ 可能弄坏个别网站--blacklist txt文件只对列表内域名规避可多次指定--dns-addr/--dns-portIP / 端口把 DNS 查询改道到指定地址和端口--ip-id 值十进制追加要拦截的 IP ID 指纹可多次指定--max-payload [值]默认 1200跳过超大载荷的包降低 CPU 占用--auto-ttl [a1-a2-m]默认1-4-10假包模式自动探测 TTL 并按距离衰减--wrong-seq/--wrong-chksum—发序列号/校验和错误的假包--reverse-frag—分片倒序发送兼容处理不了分段 ClientHello 的网站默认怎么选不传任何参数即可等价于默认模式-9只知道少量被拦域名时加--blacklist 域名列表.txt限制处理范围黑白名单逻辑见 src/blackwhitelist.c。模式集-1 到 -9 怎么选参数打包成的模式集如下模式实际组成定位-1-p -r -s -f 2 -k 2 -n -e 2兼容性最好的传统模式-2同-1HTTPS 分片加大到 40HTTPS 速度更好的传统模式-3-p -r -s -e 40HTTP/HTTPS 都偏速度-4-p -r -s传统模式里最快-5~-8分片 假包自动 TTL / 错误序列号 / 错误校验和的各种组合更稳更快的现代模式集-9-f 2 -e 2 --wrong-seq --wrong-chksum --reverse-frag --max-payload -q默认模式怎么挑不传参数即-9或直接跑官方.cmd脚本只有-9无效时再按-1→-5~-8逐个替换尝试。想看当前版本的全部参数启动时加-h。源码构建 exe 与注册 Windows 服务用 MinGW 构建构建需要 GNU Make 和 MinGW唯一依赖是 WinDivert需自备头文件与库。源码当前版本为v0.2.3rc3构建配置见 src/Makefilegit clone https://gitcode.com/GitHub_Trending/go/GoodbyeDPI构建 x86 版make CPREFIXi686-w64-mingw32- WINDIVERTHEADERS/path/to/windivert/include WINDIVERTLIBS/path/to/windivert/x86构建 x86_64 版make CPREFIXx86_64-w64-mingw32- BIT641 WINDIVERTHEADERS/path/to/windivert/include WINDIVERTLIBS/path/to/windivert/amd64装成 Windows 服务不想一直开着控制台窗口可以装成服务。发布包里service_install_russia_blacklist.cmd、service_install_russia_blacklist_dnsredir.cmd和service_remove.cmd是现成范例照着自己的网络参数改一下即可。服务的注册与状态处理实现在 src/service.c。排错速查4 个高频故障故障 1很老的 Windows 7 上 WinDivert 驱动加载失败症状程序起不来驱动无法加载根源过时的 Win7 不支持 SHA256 数字签名驱动签不上处置安装 KB3033929分 x86 / x64 版或用 Windows Update 整体更新系统故障 2启动后网速时好时坏症状网络速度异常、时快时慢根源Intel / Qualcomm Killer 网卡的 Advanced Stream Detect 与 GoodbyeDPI 冲突处置进 Killer Control Center 把 Advanced Stream Detect 关掉故障 3加了-a之后个别网站打不开症状特定网站请求失败根源方法与 URI 间的额外空格符合 HTTP/1.1 规范但少数网站解析较真处置去掉-a其余参数保留故障 4与 QUIK 等交易软件互相干扰症状两个软件同开时网络异常根源两者都会触碰数据包处理路径处置先启动 QUIK再启动 GoodbyeDPI一页速查卡与延伸阅读不传参数 默认模式-9第一次使用直接用它IP ID 固定为0x0000/0x0001的假 302 / Reset 是被动 DPI 的马脚按指纹丢弃7 种变形全部符合 TCP / HTTP 标准网站端毫无感觉DNS 污染在解析阶段用--dns-addr改道掐断控制台窗口开着程序才在跑关窗即停延伸阅读WinDivert 过滤器设置与主循环分发逻辑src/goodbyedpi.c假包生成与 TTL 追踪src/fakepackets.c、src/ttltrack.c其他平台Linux / Android / 路由器的同类项目列表README.md 末尾【免费下载链接】GoodbyeDPIGoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)项目地址: https://gitcode.com/GitHub_Trending/go/GoodbyeDPI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考