已隐藏

7
分享 2020-03-31

25 个评论

已隐藏
已隐藏
可以用 iptables 防火墙丢弃 RST 数据包,但由于服务器也会断开连接,仍然会超时打不开。
用途极为有限,,,
而且千万不要用此法上品葱,和墙内网站冲塔没什么区别,,,
Accesser似乎无法访问使用亚马逊Cloudfront的网站


企业版cloudfront,企业版cloudflare可以有。
可以用 iptables 防火墙丢弃 RST 数据包,但由于服务器也会断开连接,仍然会超时打不开。


你可以自己搞两个国内国外中转服务器,两台服务器之间丢弃rst。

当然,效率不如直接翻墙。
已隐藏
霏艺Faye 图书管理员 回复 币圈奇葩8964
用途极为有限,,,而且千万不要用此法上品葱,和墙内网站冲塔没什么区别,,,

这种方法无法上品葱。。。

【SNI科普,同一个IP上托管了多个域名地址,客户端发起TLS连接,服务器不知道返回哪个域名的证书,所以增加了SNI,来表示向服务器要哪个域名的证书。】

我看代码是这样的, 这个脚本作为中间人攻击,收到敏感的TLS请求以后,把SNI信息删除,转发给了服务器,来规避GFW对SNI的审查。

但是品葱使用CF的CDN,所以DNS得到的品葱地址是CDN的地址,上面托管了很多域名,却没有SNI,导致不知道你想访问哪个网站,最后就什么都打不开了。。。
能不能对Accesser稍微做出一些修改,导致其在收到敏感的TLS请求以后,不会把SNI信息【全部】删除,而是保留【第一和第二级别】DNS域名段,并且只把【第一和第二级别】DNS域名段转发给服务器。这样做的好处是很多镜像网站,比如program-think-mirror.github.io,其第一和第二级别DNS域名段不能被封杀,就可以使用【依附的自由】原理了。
已隐藏
已隐藏
我感觉它并不是这么工作的,我也没看代码,但我试过把一些被SNI RST的github.io域名加到p...


哦,那就是我搞错了。所以说program-think-mirror.github.io和program-think-mirrors.github.io也可以通过Accesser访问了?
这个镜像站是你搭建的吗?


这个镜像不是我搭建的。但是现在由我来维护。
先前这个镜像已经爬到了百度(你没读错,是百度)的头版里了,也被很多墙内网友所使用。但是到了2019年1月不知由于什么原因被墙了。
最近品葱上的一个关于DoH和ESNI的长教程里提到了这个镜像,所以我决定继续把这个镜像维护下去。
这个镜像是由一名Github网名叫“program-think-mirror”的网友/热心读者搭建的。里面的readme.md就是他写的,一直保留至今未加任何改变。
而第二个镜像站,program-think-mirrors.github.io,就既不是我搭建的,也不是我维护的了。这个Github网名叫“program-think-mirrors”的网友/热心读者很牛,把编程随想的【所有】BTSync/Resilio分享文件夹/目录都在Github上做了【完整】的镜像。是一项很宝贵的资源。
霏艺Faye 图书管理员 回复 印度梦 ?
我没仔细看代码,但我感觉你说的不对,我用Accesser成功访问了使用cloudflare且被SNI...

代码201-204行

if self.host in setting.config['alert_hostname']:
server_hostname = setting.config['alert_hostname'][self.host]
else:
server_hostname = None

会强制删掉SNI信息,在204行
但是,有一写特殊情况,如果域名在alert_host里,则替换成其他域名
我才你说的这个网站,应该替换成其他域名了。。。
https://github.com/URenko/Accesser/blob/master/config.json.default

我没有细读代码,但是核心就这4行了。。。


update:
为了你,我专门去看了下那个网站。。。
那个网站没有使用CDN的反向代理功能【橙色云图标没亮,是灰色的】,DNS返回的IP地址是网站自己的真实IP,而不是CF的CDN地址,所以这个IP只有一个证书,不需要SNI是正常的
如果IP地址遭到GFW的封杀,此工具不再有效。
霏艺Faye 图书管理员 回复 posclegom
https://pincong.rocks/article/item_id-348059可以自己改下...


非常非常感谢!对这就是我要找到的关键代码!
代码201-204行会强制删掉SNI信息,在204行但是,有一写特殊情况,如果域名在alert_ho...


也就是说在"alert_hostname": {"www.quora.com": "fs.quoracdn.net","sketch.pixiv.net": "pixivsketch.net","cdn1-smallimg.phncdn.com": "pabbp.com"}里面填上一对比如"program-think-mirror.github.io":"github.io"或者"www.program-think.workers.dev":"workers.dev"就可以了,对吧。
霏艺Faye 图书管理员 回复 posclegom
也就是说在"alert_hostname": {"www.quora.com": "fs.quora...


是的,这样会替换掉SNI,应该可以满足你的需求
是的,这样会替换掉SNI,应该可以满足你的需求


非常非常感谢你的解答。我会再仔细阅读一遍Accesser的源代码来试图理解其工作原理。

要发言请先登录注册

要发言请先登录注册