起因
2022.9.28左右,访问google中国仅剩无几的几个服务中的谷歌翻译中国网站:https://translate.google.cn开始有几率显示与其他被封锁的谷歌服务相同的跳转提示页面。
2022.10.1,谷歌证实停用了中国大陆的谷歌翻译功能。谷歌发言人通过电子邮件告诉 TechCrunch 媒体,该公司“由于使用率低”,已停止在中国大陆使用谷歌翻译。也许是别有用心,但这种说法可能有一定的道理——在中国,谷歌服务的使用与百度和阿里巴巴等本土科技巨头相比只是一小部分。
至此,谷歌翻译中国的网站已经显示为跳转提示页面无法使用,并且谷歌翻译api不再分配中国内地的服务器地址,所以Chrome浏览器内置的 Google 翻译无法使用。
我们使用Chrome很多时候都需要用到自带的翻译,好在谷歌中国的服务器并没有被防火墙封锁,只是无法被自动选择,我们可以通过手动选择的方式使其内置翻译正常使用。
而浏览器内置API不支持扩展配置的socks5代理,所以有可能使用代理(使用魔法)是无效的,除非用系统代理(全局代理之类或部分没被列为直连的规则模式下)。
解决方案
修改 hosts 文件
原理:Chrome浏览器中使用的内置翻译是调用了Google 翻译的API,这个API地址是translate.googleapis.com
,目前这个API地址已经被解析到境外地区(中国台湾台北谷歌云、印度德里谷歌云等位置),这些地址我们在大陆是无法访问的。但是原本留在大陆的谷歌云并没有停止服务,只是无法自动解析了,我们通过修改Hosts的方式让其API解析到中国大陆的谷歌云就可以正常使用了。
Windows 系统
我们首先需要知道离自己最近的谷歌云的IP地址,这样才能让我们的解析更快。我们先打开命令提示符(Win键+R,输入CMD),我们输入下面代码来获取谷歌云IP地址:
nslookup google.cn
我们可以看到如下的结果,接下来我们直接复制最后一行的ip,这个就是离我们最近的谷歌云的IP了
当然你也可以直接ping google.cn
,同样也是得到那个IP地址。
不同地域的IP地址会不一样,请选择你系统得出的IP地址
如果你觉得这太麻烦了,你也可以直接通过下表选择相应的IP地址:
上海/电信:
180.163.150.34
180.163.151.34
180.163.151.162
180.163.150.162
180.163.150.33
上海/移动:
120.253.253.226
120.253.253.98
120.253.250.226
120.253.255.162
120.253.253.34
120.253.255.98
120.253.253.162
120.253.255.34
上海/Google数据中心/电信:
203.208.40.98
203.208.41.98
203.208.41.66
203.208.41.34
203.208.40.66
203.208.41.97
203.208.40.97
203.208.40.65
203.208.40.34
北京/电信:
220.181.174.226
220.181.174.34
220.181.174.98
220.181.174.162
220.181.174.33
203.208.50.162
北京/Google数据中心/电信:
203.208.43.66
203.208.39.194
203.208.50.66
203.208.43.98
203.208.50.34
203.208.39.226
北京/联通:
114.250.64.34
114.250.70.34
114.250.63.34
114.250.66.34
114.250.65.34
广州/电信:
113.108.239.226
58.63.233.98
113.108.239.162
广州/移动:
120.241.147.162
120.232.181.162
广州/联通:
58.254.137.2262022.12.15更新,最新境外地区google服务部分ip,请自行ping等操作确保其正常服务:
172.217.194.90
142.251.8.90
142.251.10.90
142.250.99.90
142.250.141.90
142.250.142.90
142.250.157.90
142.251.2.90
172.253.117.90
PS:如果你得出的IP在表上没有怎么办?你可以去找其他文章分享的,因为我只分享了部分我能用的。
接下来就是修改Hosts文件了,hosts文件位于C:\Windows\System32\drivers\etc\hosts
它没有后缀名,我们直接右键用记事本打开。
然后在文件的最下面一行,根据前面得到的IP地址修改一下,添加上:
172.217.194.90 translate.googleapis.com
保存即可,然后继续在命令提示符中刷新DNS,输入:
ipconfig /flushdns
可能需要重启下浏览器什么的,然后就发现可以使用Chrome内置的谷歌翻译了。
MacOS 系统/Linux 系统
在 macOS 系统中获取可用 IP 的方法为,打开“终端”,输入以下命令并回车:
nslookup google.cn
同样的可以得到和Windows差不多的结果,我们最后一行就是我们要找的IP了。
由于 hosts 文件是系统文件,因此对其进行编辑需要用到管理员身份。这里推荐以管理员身份通过系统自带的 vim 编辑器编辑 hosts 文件。具体方法为,在终端上运行以下命令并回车,在出现密码提示后输入你为当前账户设置的登录密码再按回车即可打开。
sudo vim /etc/hosts
最后像下面这样,将你所获取到的 IP 和 Google 翻译 API 的域名组合成一条 hosts 规则,并将其添加到 hosts 文件中的最后一行,保存文件后插件即可恢复正常使用。
172.217.194.90 translate.googleapis.com
添加的具体方法为,先按住【Shift】键,然后双击字母【G】键,将文本光标定位到最后一行,然后按字母【O】键进入插入模式,将上述规则输入(或粘贴)进来。最后按【Esc】键退出插入模式,输入 :x 保存并推出 vim 编辑器。文件保存成功后,插件即可恢复正常使用。
同样的可能需要重启浏览器才能生效。
Android系统
Android中修改hosts需要root权限,如果你的手机没有root权限或者不知道这是什么那就跳过吧,Android端的Chrome可能得换个插件了,如彩云小译之类的。
同Linux系统修改方式,hosts文件位置:/etc/hosts
将API加入代理
如果你在使用代理(魔法),在全局模式下,Google 翻译 Chrome 插件直接可以正常使用。在规则模式下,我们可以将其加入代理规则,代理的网址是*.translate.googleapis.com
这里展示Clash规则中的相关写法:
"DOMAIN-SUFFIX,*.translate.googleapis.com,[proxy_group name]"
后记
以上便是恢复 Google 翻译 Chrome 插件正常使用的两种方法。修改 hosts 的方法很可能有时效性,如果有一天 Google 不再提供类似的共享 IP 机制,或者可用的 IP 地址越来越少,则可能会像当初 Google 搜索那样最终无法使用。最后,可能只剩下网络代理这一种方法。
references:
Comments NOTHING