2023.9
想下一个libheif开源库,VCPKG安装,VCPKG是要从github下载文件:
https://github.com/strukturag/libde265/archive/8aed7472df0af25b811828fa14f2f169dc34d35a.tar.gz
发现,下载失败。
EDGE下载这个链接,不行,网页无法打开!
EDGE访问github.com,不行,网页无法打开!
分析发现,github的DNS正常,不是DNS的原因。
用curl -v连接分析,发现github.com 的https TLS V1.3握手正常,然后数据传送就中断了。
错误是:OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
是github被墙?或专门针对中国用户封锁了?或github拒绝了传送数据?
“科学爬梯上网”太麻烦了,咱还不会。
百度一下errno 10054,有人说git命令行程序增大缓存大小,有人说“没有一个能解决你的问题,那么可以考虑使用GitHub提供的客户端工具——GitHub Desktop”。
看来要用软件desktop版来试下。
网页desktop.github.com 正常访问和下载!! 难道github.com是故意的,强行让你用desktop版?
下载desktop版,运行,居然要注册用户(我还没有注册用户,以前都是白嫖),注册是跳出EDGE访问github.com,不行,网页打不开。
于是软件选跳过,然后随便填用户名、邮箱,就可以用了!
选Clone...\clone进行下载这个文件,然后要输入用户名和密码!
没办法了,于是随便选Clone...\Github.com标签,点sign in。
跳出EDGE访问github.com进行sign in,居然网页可以打开了!注册用户,居然可以了!
注册成功,EDGE里邮箱也验证完了,然后浏览器edge要授权desktop版,提示You are being redirected to the authorized application. 然后就卡了。
重新打开desktop版,选Clone...\Github.com标签,sign in,会跳出EDGE访问github.com进行sign in,结果不行了,无法打开网页。
重新打开desktop版,选Clone...\clone这个文件,要输入用户名和密码,输入后,不行,说无法授权之类的。点上面一个链接,跳出EDGE出现github.com的“https://github.com/desktop/desktop/tree/development/docs/integrations”
重新打开desktop版,菜单在FILE\OPTIONS\ACCOUNTS里,有个sign in,点它,EDGE跳了一下,居然可以了,desktop版sign in成功!!
再选Clone...\clone这个文件,还是要输入用户名和密码!
算了,从EDGE试下,这时居然github.com首页可以访问了!! 用EDGE下载这个文件,居然可以了! 而且速度飞快! 莫名其妙啊!
github就跟抽风了一样,可能是国内就这样,可能“科学上网”的就没问题。
然后,再VCPKG试,不行,VCPKG仍是无法下载这个链接文件。看来是github没有被墙,是加入了验证机制,访客不能浏览、也不能随便下载了?
于是只能自己手动edge下载文件,再放到VCPKG目录了。
然后,再EDGE访问时,又抽风了,“无法访问此页面”,desktop版也出错,看来最终原因是:github时好时坏、间歇性抽风!
然后,过一会又好了。感觉是给一个IP的时间有限,所以要抢着某个时间间隙去下载,只能多尝试了。
额。
网上大多人说DNS解析问题,改hosts。 但其实不是,不是DNS原因!
后来看了油猴脚本网站(https://greasyfork.org/zh-CN/scripts/412245-github-%E5%A2%9E%E5%BC%BA-%E9%AB%98%E9%80%9F%E4%B8%8B%E8%BD%BD)介绍,才知道是原来是间歇性墙了。
无法访问 Github ?
该脚本只能提高 Github 文件下载速度,但是大家可能发现了自从 2021 年 3 月初某会开始,很多地区已经间歇性无法访问 Github 了。这种情况无论是改 DNS 还是改 Hosts 都没用,因为是蔷对 Github 域名 SNI 干扰/封锁,任意 IP 指向 Github 去访问时,该 IP 的 443 端口就会超时 3 分钟!因为是随机干扰的,所以有时候会碰到 “短暂” 可用的 IP(模拟丢包、伪装为网站自身网络问题)。
有兴趣可以看看这篇详细讲解分析的文章: https://www.v2ex.com/t/758568
因此目前只有三种方法可以访问 Github 了:
梯子
镜像站( https://kgithub.com / https://hub.fgit.gq / https://hub.fgit.ml / 访问 Github 自动重定向至镜像站的方法)
肉身出国
本地代理直连加速,绕过 SNI 干扰( https://github.com/docmirror/dev-sidecar / https://gitee.com/docmirror/dev-sidecar )
所以,没办法了,属于国家管控,可能是为了避免国内的代码外漏,故意抽风的。
因为咱只是下载一下,所以用第三方镜像站kgithub.com就行!