中文用户访问 GitHub 时提示 Access has been restricted 的解决办法。

情况介绍

最近不少人在访问 GitHub 时遇到了「对本网站的访问受到限制」 (access to this site has been restricted) 、「访问已被限制」(Access has been restricted)的提示。
最常见表现是项目页出现大量破图,请求raw被限制,但其他github功能都正常。

如果之前那次是失误,那现在肯定就是故意的了,这次如果你使用代理访问,并且使用的是中文 (仅限 zh_CN),那么你就有可能被 GitHub 阻止访问。

目前大家反映最常被限制的就是
https://raw.githubusercontent.com/XXXXXhttps://camo.githubusercontent.com/XXXXX
这两个域名是干啥的大家都知道。


以 RSSHub的项目页为例,页面上有大量在https://camo.githubusercontent.com/下的图片,当中文用户请求时,会有部分图片HTTP429,导致破图。

目前看起来是这样的判断逻辑

  1. 基于IP或者UA(比如是不是机房IP,代理IP,是不是常见爬虫UA)
  2. 流量模型判断(比如单IP访问频率过高,访问范围过广)
  3. 是不是请求头的语言部分包含 zh_CN
  4. 只有上边每一层检测,都是“是”,那么才会触发HTTP429。

所以解决办法也很简单:
直接修改请求头,将请求头语言部分改成 accept-language = en_US,en;q=0.9,zh;q=0.8 (英语优先,中文备选)。

以Header Editor 4.1.1 为例,修改请求头
Header Editor 修改请求头
项目图片显示恢复正常

1 个赞

部分浏览器可以在“设置”页面里面找到这个选项,然后做出调整。
图片.png

可以是可以,但是所有网页都会被影响……有些网站是基于这个判断返回页面的,直接改这个,一堆网站就默认给我英文网页了

总算知道原因了…影响不大,但是看着糟心

这只能处理浏览器上的吧,一些其他app也会有类似托管在github上的资源,也G了。
例如,obsidian的插件市场,触发后直接打不开了。
另外,能把那条正则放出来给复制吗? 正则苦手
不会写正则昨天直接分成三条规则给header editor.

https://(www.|raw.|camo.)?(github|githubusercontent).com/.*

这种东西,让AI给你写嘛
给几个域名的例子,让AI给你写一个正则就好了。

LD论坛上说,可以把浏览器语言的中文提到最前,现在不是简体中文最前就可以

不匹配Manifest V3

我这里直连从上月开始,已经访问不通了……

你可以试试这个,这个支持MV3:

1 个赞