本项目是一个关于GFW 的半研究性项目,尝试提供可用的翻墙方案,并找出关于GFW 的一些统计数据.
西厢代理,目前已经推出了多个平台的代理工具。
服务器、客户端同时丢掉GFW 的干扰包。服务器上脚本 server.sh ,客户端脚本 client.sh. 如果路由器可以设置 iptables 防火墙(如Tomato 或 OpenWRT),直接在路由器上设置即可:
iptables -I FORWARD -p tcp -m tcp --tcp-flags RST RST -j DROP
目前这种方法还有问题。第一次丢包可以成功,第二次会被GFW发的SYN+ACK 干扰,而且这个非RESET的干扰包似乎不太好丢, 因为iptables 没有针对SEQ 错乱的丢包规则。 学术上, 这种攻击被定义为 Off-Path TCP Sequence Number Inference Attack PDF
这种方式暂时不能翻墙,但是,理论上可以增加GFW的负载。期望是,攻击者达到一定数量之后,能够降低GFW 的reset 判断精度,或者迫使其放弃对CRLF 注入的reset。 使用方法: cd west-chamber-proxy; python dos.py
修改本地的 hosts 文件,并使用https 方式访问。参考smarthosts项目。
修改hosts 文件部分解决了污染问题, 但是很可能不全. 有两个办法可以实现反DNS污染
-
自建DNS 服务器。
系统要求:Linux 或 Mac。
可以用dnsmasq 做本地的DNS服务器。如果在国内有Linux服务器,建议做一个DNS服务小范围共享。
-
设置国外的DNS 服务器,并本机丢弃GFW的 DNS伪包。
a) 国外DNS服务器。大家比较熟悉的可能是Google Public DNS。但是最近测试发现针对 Google DNS 的丢包很严重。先推荐两个,**中华电信的168.95.1.1 和 OpenDNS。
b) 丢弃DNS伪包。
首先说明一下,这东西很不靠谱,容易受GFW 的更新而影响。感觉是,目前就kernet 项目效果还行。西厢的原始项目和Windows 移植现在都不好用。
icefox 原理跟西厢代理类似,但是此软件可以直接修改系统代理的设置,更方便.目测没解决IP封锁问题.