与GFW的斗争
全世界人民,尤其是革命者,都面临着资产阶级国家机器的审查镇压。而中国的GFW因为其高效性(相对伊朗印度朝鲜等)果断性(封!封!封!)著称。
作为一个初三学生,有幸小成功,因而在闲暇时由于自身的兴趣(还算成功,不敢说太多),查找了去多关于GFW的斗争与技术。
然而,由于自己的电脑限制(是普通用户,又无暇配置PE盘,性能极差,celeronCPU和4GRAM,自己不玩3A游戏,但是无法支持linux虚拟机),以及精力所限(需要备战某考试妄想早点脱身中修考试的牢笼),这里希望给同志们分享自己目前得到的信息。希望有较为清闲的同志走下去。
马列毛主义理论部分
与小资产阶级理想主义者不同,我们不渴望找到万能的办法,只需要找到安全且中修封锁代价巨大(越巨大)的办法,毕竟资产阶级是唯利是图的。
有人(想的不够深)认为需要审查可以保护隐私,防止诈骗等,但没有意识到诈骗,涩情,入侵计算机系统等是资产阶级制度制度必定的产物,只有推翻旧制度,彻底消灭资产阶级法权(资本主义已经快承受不住自己的生产力了,事实上,笔者自信的认为黎明不远了。两个社会主义祖国的修正和百年的斗争越发使得继续革命的理论成熟,革命后的次次CR必定成功,先锋队必将完成自己的历史使命自行解散。扯远了……),才能解决这些问题。即使社会主义时期,审查也无须存在,因为真理越辩越明,团结教育群众,不怕牛鬼蛇神。
技术部分
网上也有介绍,同志们也可以上网寻找国内外其他理想主义者文章。
HTTPS协议早已普及,大部分信息是加密的。现在,一次连接的弱点如下:
- DNS查询:需要将域名变成IP连接。
- ClinetHello:服务器打招呼,需要汇报一些信息,比如要访问的网站,这段是明文。
- IP:这个除非代理无法解决,需要知道两端IP才能交流。
所以,GFW有如下手段:
- DNS污染:通过UDP协议漏洞,抢先回答。如果采用HTTPS或TCP协议,见下。导致无法建立连接
- TCP重置:通过SNI的信息判断网站,发送RST包中断连接。
- IP(端口)黑洞:通过BGP协议,利用自身国家机器,使得边境路由对指定包丢包,但是代价过大(如果本身是VPN IP那还行),范围伤害。
VPN
不讲了,作者无希望过度使用此类方式。
这里推荐一个代价较低的方式,使用反代网站。传输是HTTPS,服务器多在国外,是安全的。可以同志们自建Cloudflare反代(CF极有可能被封,原因见下文)或者使用网上公开的(比如croxyproxy)
需要注意Tor网络其实也算VPN。
致命缺点是需要国外服务器第三端。
有些加密的VPN协议,但是GFW在研究破解方法。
就是怕封IP。
DNS处理
有很多工具,网上一搜都是。比如DNScrypt。
方式是加密DNS查询或者UDP时等待正确服务器返回的数据等。
配置文章不少。
ECH
我们提到过,ClinetHello会暴露一些明文信息。
因此,19年的时候Mizilla联合推出了ESNI,加密了要访问的网站。
然后,23年Mozilla联合推出了ECH,加密整个ClinetHello,使得连接只剩个两个IP是明文。
然而,加密方式会留下一些线索显示这个流量是加密的。由于这些技术没有完全普及,直接封锁加密流量代价较小,GFW选择了封锁。目前加密流量被封。
我们接下来要提到的是有三条战线。
1. 科技巨头
比如CloudFlare23年曾经强推免费CDN使用ECH,还有文章说这是对GFW宣战(CFCDN占全球20%流量,封代价大)。但好像因为技术细节暂时停止,24年早些时候会再次推出此政策。
这里需要注意,作者认为比如Mozilla这类公司可能更偏向理想主义者集体。但是无论如何,这些技术客观上安全加密了流量,是不利于资产阶级政府审查的。
2. 还是科技巨头
上面是服务端,还有客户端。这个完全不用担心,现在国外主流浏览器(ChromeEdgeFireFox)都支持了DoH,DoT和ECH。
3. 理想主义者的软件开发者
自然应该有马列毛主义的开发者。我们要开发自己的翻墙软件,可以在软件说明甚至弹窗中宣传自己的理论,写软件也是劳动。
接下来讲细节。
ECH
现在是这样的,要想过GFW,通常需要构造畸形数据使得GFW误认为是正常流量或者欺骗GFW认为连接已经中断。
这里又要分类了。
1. 大网站
有些大网站(主要比如两个P:PixivPornhub等,但是这种网站我们不需要;google IP黑洞,除代理无解 github端口间歇黑洞,同google)不采用CDN(就是缓存,可以缓解服务器压力),所以可以没有SNI(ClinetHello一部分,访问什么网站)或者错误SNI。
这方面成熟的项目有用Go编写的SNIbypassGFW,作者八成是小资产阶级二次元(这里指他想帮助别人上Pixiv,还有通常二次元是小资产阶级(不是也不重要,开源的软件,谁写的不大重要。))。
一般网站
使用了CDN,必须发送SNI才能正常访问,不然CDNserver不知道该返回什么。
首先CDN要支持ECH,这个还行,一般我们马列毛主义者建的站用的都是CloudFlareCDN,而他强推网络安全,之前强制ESNI(加密SNI),这下开ECH。
同样,需要构造畸形ESNI(ECH)包。
早在19年ESNI推出时,GFW不久封锁了ESNI加密流量。然后有一个美帝国安局(还是什么政府机构)支持的项目geneva(开源的,不用过于担心,作者也是恨修正主义者的,只是受美帝国家机器蒙蔽没有意识到修不是社,是纳。)就给出了一定程度上的解决方案,使用Python编写。
他的思路是通过组合一些基本的操作配合遗传算法(就是人工智能)找到漏洞,然后本地代理修改HTTPS包直连。
这个软件严格运行在客户端和服务端之一。
然而,由于不是所有网站都有自己的server(比如我们这个共产国际论坛),跑在客户端可能更好(当然,两端最好。)。
现在问题是,geneva只能运行在linux上,而linux一般是开发人员用的,不适用与群众与大部分非计算机行业人员。所以我们需要将其移植(可能要和解决dns的软件封装)到Windows,Android(IOS太封闭了,国内的Harmony就算了,中帝软件,特有的法西斯)上,同时驱动geneva寻找新的策略。
总得来说,前程是光明的,道路是漫长的。(即使我们写出来了,操纵空头账号上传到github上,GFW可能还会更新,所以道路漫长;但是我们的斗争不会局限在网络上,工人阶级还是最先进的阶级,所以前途光明。)
结语
当然,这些项目都有些年头了,还靠不靠谱由于开头的技术原因作者没有测试,万分抱歉。感谢同志们帮作者把这个活继续下去。
即使特色政府最后彰显自己的法西斯本性,采用了IP白名单,作者坚信,总有一天,甚至是本世纪的一天,工人群众会欢呼着冲进GFW的机房,拔掉分光(从骨干网取出连接包判断是否封锁的物理光纤),把GFW的计算机投入到新的社会主义建设中!!!!
Written with StackEdit+.