pkuanvil
    • 版块
    • 标签
    • 帮助
    • 注册
    • 登录

    使用 chrome 浏览器 SNI 伪装免代理上部分 GFW 被墙网站(更新规则文件和启动脚本)

    Networking
    5
    22
    3.5k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • test1T
      test1
      最后由 admin 编辑

      前文:#224 - 使用 chromium 浏览器的 host-rules 命令行(目前)免翻墙上 pkuanvil.com 以及部分 SNI 阻断的网站

      搞了一个简单的启动脚本,只需要浏览器和规则文件就可以使用,不需要代理等上网方式,可以在中国大陆直连一小部分网站(包括 github,reddit,web.archive.org,wikipedia.org,torproject.org 等等,至少目前能上)
      这个方法使用的网站不多,需要网站本身不严格校验SNI,而且一般网站的不同子域名不一定部署在同一个CDN上。而且即使能直连,IP地址本身能否连上如何也是问题。不过对于能连上的那些就很有用了,对环境要求很低,只需要一个基于 Chromium 的浏览器

      https://github.com/pkuanvil-uid1/GFWSNIRules

      1 条回复 最后回复 回复 引用 3
      • test1T
        test1
        最后由 admin 编辑

        上述 Github 仓库里脚本的备份
        新建一个文件夹(比如名称就叫做 GFWSNIRules),解压以后在这个文件夹启动 start.py 即可(需要手动修改里面 chrome 的文件路径);rules.json 是规则文件。第一次访问某个网站记得加上 https:// 前缀

        GFWSNIRules.zip

        Enjoy!

        1 条回复 最后回复 回复 引用 0
        • test1T
          test1
          最后由 编辑

          这个方案其实很早就有人提过了,但是网上找了一圈很少有人总结一个 SNI 伪装(SNI 前置?)的规则列表,大部分都是 gfwlist,只是被墙网站的列表

          ? 1 条回复 最后回复 回复 引用 0
          • wumingshiW
            wumingshi
            最后由 编辑

            不懂技术,但是手动点赞一波

            1 条回复 最后回复 回复 引用 0
            • butterbotB
              butterbot
              最后由 butterbot 编辑

              windows机器,shell不能处理有空格的路径

              return r"C:\Program Files\Google\Chrome\Application\chrome.exe"
              

              会报错
              'C:'Program' 不是内部或外部命令,也不是可运行的程序
              或批处理文件。

              不用shell的话,

              subprocess.run(command_line, shell=False)
              
              

              试了一下,似乎没翻墙功能,连不上reddit。

              A test1T 2 条回复 最后回复 回复 引用 0
              • A
                admin @butterbot
                最后由 test1 编辑

                @butterbot 试试不加规则直接连 https://fastly.com?reddit 用的 fastly CDN

                butterbotB 1 条回复 最后回复 回复 引用 0
                • butterbotB
                  butterbot @admin
                  最后由 butterbot 编辑

                  @admin 没有脚本也可以连上的。
                  另外不用shell后,不止是reddit连不上,维基百科和web.archive.org也不行😢

                  test1T 1 条回复 最后回复 回复 引用 0
                  • butterbotB
                    butterbot
                    最后由 编辑

                    把chrome的路径直接改了,强行改成没空格的,试了一下,也没翻墙功能,唯一能连上的github也不确定是不是脚本的作用😥

                    test1T 1 条回复 最后回复 回复 引用 0
                    • test1T
                      test1 @butterbot
                      最后由 test1 编辑

                      @butterbot 可以试试把 rules.json 里面和 fastly.com 那一栏对应的 IP 地址,那个会在整个文件里面重复很多遍,都替换成本地使用的 IP 地址,比如 Powershell 查询 fastly.com 的 IP 地址:Resolve-DnsName -Name fastly.com

                      如果 fastly.com 本身能连上的话,用 fastly CDN 的网站都应该能连上,比如 reddit
                      netlify CDN 也是同理,应该能连上 https://docs.rsshub.app

                      其他的网站我就不太好说了

                      1 条回复 最后回复 回复 引用 0
                      • test1T
                        test1 @butterbot
                        最后由 编辑

                        @butterbot 加双引号就行,前面忘记改了
                        return r'"C:\Program Files\Google\Chrome\Application\chrome.exe"'

                        1 条回复 最后回复 回复 引用 0
                        • ?
                          游客 @test1
                          最后由 编辑

                          @test1 机场等其他翻墙手段能够实现的体验远超您的方法,而且现在最新的翻墙手段甚至可以突破白名单的限制,免费节点也已经泛滥,无论是技术、经济还是使用体验,似乎没有什么理由需要使用您的方法。并且每个地区的墙也不一样(例如白名单),一个方法可能在您所在的地区可以用,不代表其他地区的人也可以用。我并不否认任何探索新方法的努力,如果您愿意深入交流,希望您能够列举哪些网站可用,以及可用性如何(您也提到了有的网站通过您的方法连接,可能无法浏览全部的网站功能),如果您的方法缺乏意义,无论这种方法是否有效,似乎并不值得继续探索。

                          wumingshiW test1T 2 条回复 最后回复 回复 引用 0
                          • wumingshiW
                            wumingshi @游客
                            最后由 编辑

                            我想问一下,你所说的免费节点已经泛滥,还符合网上流传的「免费,好用,安全」的不可能三角吗

                            ? 1 条回复 最后回复 回复 引用 0
                            • ?
                              游客 @wumingshi
                              最后由 编辑

                              @wumingshi 你好,当然不符合,但是我个人认为追求完全的免费并没有意义,如果您有更好的想法欢迎一起讨论。

                              1 条回复 最后回复 回复 引用 0
                              • test1T
                                test1 @游客
                                最后由 test1 编辑

                                感谢回复。

                                免费节点也已经泛滥,无论是技术、经济还是使用体验,似乎没有什么理由需要使用您的方法。

                                这个我部分程度同意,但是总有场合(或者说总有一部分用户)是缺少好的翻墙手段的。而本贴介绍的方法只需要下载这些文件然后加到 chrome 命令行里面就行,我觉得至少算是一种低门槛的备选方案

                                希望您能够列举哪些网站可用,以及可用性如何

                                可用的网站都写在 rules.json 文件里面了。

                                使用 fastly CDN 的几个(reddit, pinterest, twitch)应该一定可用,只要你能直连 https://fastly.com 本身。就像前面说的,如果 rules.json 给出的 IP 地址 151.101.1.57 连不上,但是 https://fastly.com 能直连的话,只要把 151.101.1.57 替换成任何一个 fastly 的 IP 地址就行,比如换本地 DNS 解析 fastly.com 的 IP 地址。
                                本质上是一个优选 CDN IP 地址的问题,可能需要开新话题讨论+参考更多的文献,我也不太懂。

                                使用 netlify CDN (https://docs.rsshub.app)和 gcore CDN(https://pkuanvil.com)的同理,

                                用这几个 CDN 的网站的可用性很高,只要你能直连这些 CDN 的官网,可以做到无缝连接。

                                wikipedia.org, web.archive.org 和 torproject.org 就只能随缘了,因为这几个不走 CDN 而且 IP 地址本身速度很慢(限速甚至断流)。

                                github 也是不走 CDN 的,但是它的 IP 限速情况会好一些,有些地区 IP 地址本身没限速只是检测 SNI 以后做限速。此外使用脚本做 SNI 伪装以后也可以正常访问被墙的 https://raw.githubusercontent.com/ 和 https://gist.github.com/

                                总结:从能连上的角度来说,可用性 (fastly, netlify, gcore) CDN > github > wikipedia.org, web.archive.org, torproject.org (and others)

                                从使用角度来说,我简单做了测试,写到 rules.json 里面的常见功能应该都没问题。(有些网站没加是因为它们的子域名都用的不同的CDN,还没逐一调试)

                                一个方法可能在您所在的地区可以用,不代表其他地区的人也可以用

                                这个也是 IP 地址能否连上的问题,这就只能依靠大家反馈了。但是这种反馈也很粗略(用户为了保护自己隐私,能说到道省一级的那个运营商就不错了),难以测试。
                                作为我 pkuanvil-uid1 来说,可能可以做的是给一堆 IP 地址然后逐一尝试,现在的话能连上 rules.json 里面的 IP 地址就能连上,不能就不能……

                                1 条回复 最后回复 回复 引用 0
                                • test1T
                                  test1 @butterbot
                                  最后由 编辑

                                  @butterbot

                                  把chrome的路径直接改了,强行改成没空格的,试了一下,也没翻墙功能,唯一能连上的github也不确定是不是脚本的作用😥

                                  试试访问这两个链接,能访问 https://gist.github.com 和 https://raw.githubusercontent.com 就表示脚本有效,因为这两个域名都被墙了
                                  git ssh 代理设置
                                  cloudflare反向代理

                                  1 条回复 最后回复 回复 引用 0
                                  • ?
                                    游客
                                    最后由 编辑

                                    Cleanbrowsing doh没被墙,使用后可以访问duckduckgo和github

                                    1 条回复 最后回复 回复 引用 0
                                    • ?
                                      游客
                                      最后由 编辑

                                      经过我的修改,现在可以访问google,facebook等了

                                      ? 1 条回复 最后回复 回复 引用 0
                                      • ?
                                        游客
                                        最后由 编辑

                                        还有一个方案是强制使用QUIC,见此文。支持可以用QUIC的网站(目前有用CLoudFlareCDN的网站和GoogleCloud的网站)
                                        具体来讲,这么写,命令行参数:--host-resolver-rules="MAP zh.z-library.se 172.64.145.17:443" -origin-to-force-quic-on=zh.z-library.se:443,而且漏掉443,漏掉resolver一下子就不行。貌似有没有resolver这两条参数不是一个命令,见Electron文档。
                                        在上海,我试了版主github上的工具,pixiv可以(好像直连的pixiv服务器,没走cloudFlare,但是如果只是改host会重置),wikipedia不行(连接已重置)。
                                        实在令人搞不懂发生了什么。

                                        1 条回复 最后回复 回复 引用 0
                                        • ?
                                          游客
                                          最后由 编辑

                                          但是上上面那位是怎么解决Google和Facebook的IP黑洞的?

                                          1 条回复 最后回复 回复 引用 0
                                          • ?
                                            游客 @游客
                                            最后由 编辑

                                            能否简单提供您绕过IP黑洞的方法

                                            ? 1 条回复 最后回复 回复 引用 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • 第一个帖子
                                              最后一个帖子