Closed yinxufeng closed 9 years ago
之前有遇到过这类问题。我的建议打开 chrome://net-internals/#events 这个页面。保持那个页面开启,再用一下翻译功能,就知道请求了哪些URL。如果能找到 URL 的话就当然也可以添加到自动切换之类的。如果找不到,说明翻译功能不经过这套内部实现,如果是那样估计就没办法了。
在不设代理的情况,看到了一些跟translate有关的url,但是这方面信息我看不太懂,我上图帮忙看下,是否有办法
我用熟悉的Filddler试过了,SO切换到我自己的ss代理,这时候google,youtube都能正常打开,这时候点翻译,发现Fildder抓到了一些chrome进程的包。按道理如果走ss代理,Fiddler是不应该再抓到包的,但是有translate相关的url。这是否能说明chrome自带的翻译功能是不走SO的呢?如果这样是不是就没办法了?
我用的360极速浏览器,可以直接走SS通道翻译网页。
@yinxufeng 请给出 chrome://net-internals/#proxy
页面显示的代理设置。复制粘贴过来就可以。
这是使用ss代理的设置 Proxy server for everything else: socks5://127.0.0.1:1080 Bypass list:
不知道跟chrome版本是否有关, 40.0.2214.94 m (64-bit),我找个32位的试试
32位的也试过了,还是一样,必须要设置系统全局代理才能翻译 Effective proxy settings
Proxy server for everything else: socks5://127.0.0.1:1080 Bypass list:
@simonsww我试了360极速浏览器最新版,也是需要我shadowsocks-csharp设置为全局系统代理,才能正常用谷歌翻译的。不知道你怎么设置的呢?
代理设置显然是对的,也就是说这已经是 SwitchyOmega 能做到的极限了吧。 如果真的是有些浏览器(或版本)走的网络请求流程,而另一些不走,那倒是挺令人吃惊的……
所以我先关闭这个 issue 了,但大家仍然可以继续讨论的。评论功能仍然可用。
感谢作者的贡献。同时希望作者能把这个问题解决了。
正遇到这个问题,如何解决呢
此问题和 SO 无关,真正的问题是 Chrome 在请求翻译的时候不使用代理。
遇到此问题的各位,请到 Chromium 项目相关的 Issue 加星☆以获取最新消息。
此外, Chromium 项目维护者之一的 toyoshim@chromium.org 建议提供以下信息以供分析:
Otherwise, please provide information to reproduce your problems. In addition, following information will help us to investigate your problem.
- Any error or warning messages in Tools > JavaScript Console > Console window
- Network log file which is generated from chrome://net-internals/#export. Please open this page in another tab before you reproduce the problem, and press 'Save to file' button after reproducing the problem.
(无责任翻译:)
chrome://net-internals/#export
的导出文件(但注意是导出文件,不是截图。Chromium项目可以上传附件的)。需用内置翻译的朋友请开启这个 chrome://flags/#v8-pac-mojo-out-of-process 改默认为已启用。
ublock可拦截后台请求!SwitchyOmega不能代理后台请求吗?
@xinggsf adblock, ublock可以和SO一起使用,所以应该没有改变浏览器的代理设置而是用js注入。内置的翻译工具很有可能是忽略代理的。
有人解决了吗 ?
这是chrome自身的问题,除非chrome在源码上有变化,否则就无法解决
有人解决了吗 ?
已经可以了, chrome版本59.0.3071.115
google translation of chrome 和 google chrome update 都是养尊处优,不知道天朝墙壁有多不要脸的傻冒美国人想当然的设计: 尤其是前者,更容易引起误会,已经内建在 chrome 浏览器的谷歌翻译,怎么不走我设置好的 socks5 代理?
因为重点:这两个货(在windows上)是开独立进程(线程)的,相当于独立chrome之外,都是走的系统代理,并不通过 chrome 内置 proxy 设置。
因此,给中国(和所有使用http,socks代理的)用户留下两个超恶心的大bug: 1,chrome 自带升级(三个... -> 帮助 -> 关于Google Chrome) 2,chrome 内置 google 翻译 都必须开 windows 系统代理,在SSR上就是 “全局代理”,或者你手动修改windows 的 Internet 设置。
此问题也困扰我过,欢迎传播,如果 google 能因此修正更好。
在 bugs.chromium.org 跟帖了,相当于请愿的回复 @FelisCatus : https://bugs.chromium.org/p/chromium/issues/detail?id=118074#c32
还是没能彻底解决这个问题,去找了资料,看完,被微软和 Google 这俩大企业恶心了半天。 只能画图来说了:
通过 chrome (需要)上网形式分三种: 1,chrome 访问 surfing webpage 2,chrome://help 内升级浏览器,实际是运行独立程序 GoogleUpdate.exe 3,chrome 内置 build-in google translate
这三个方式,在windows 10 上,还分别不完整的对应三种代理: 1,可以操纵 chrome 访问的 pac 代理,比如 switchyomega,autoproxy -> pac proxy 2,windows 系统的 WinINET 代理,也就是 -> ie proxy 3,windows 系统下 WinHTTP 代理,这个可以用 netsh winhttp show proxy 查看 -> winhttp proxy
面对如此令人头脑发昏的迷宫,我只能说,你们这些大企业一个萝卜一个坑,牛头萝卜不管马面红薯的活儿,还能拿美金过舒服日子,能也给我来一打!
参考资料:https://blogs.msdn.microsoft.com/ieinternals/2013/10/11/understanding-web-proxy-configuration/ ping: https://github.com/FelisCatus/SwitchyOmega/issues/476
老外回复了 https://bugs.chromium.org/p/chromium/issues/detail?id=827478#c2 各位有啥想法,赶紧抓住这个老外,诉苦!哈哈 我正在写回复。。。。
我以为这问题早已经解决了呢,我现在chrome版本 65.0.3325.181(正式版本) (64 位) 已经有很长一段时间可以用翻译了,SwitchyOmega走自动切换模式,shadowsocks也不用设全局代理
很明显,chrome 内置的 google translate 是不走 SO 的 pac 模式的啊,否则就不会有这么多人喊不好用了。
@yinxufeng 你可能是系统里开了 winhttp 代理,而你并不知道。
你可以试一下这个命令看看:
netsh winhttp show proxy
但我测下来,以及google到的信息是,chrome很早就不支持 winhttp 代理,现在好用或不好用,非常难说,也许依赖你系统其他未知设置。
酸酸 和酸酸乳 的 “系统代理”,其实是 winINET代理,那个是写注册表的。 在这里
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer
补充一下:你说的不是 网页访问google translate吧? 我这里说的可都是 chrome内置,鼠标右键 “T” 的,和这个是两回事。
Chrome 版本 65.0.3325.181(正式版本) (64 位) 也是这样……
@Justsoos 能确定系统没有开代理,IE无法打开google
是用右键菜单的翻译网页,我还特地在隐身模式(未启用SwitchyOmega)下试了翻译,发现也能翻译。貌似翻译功能不需要翻墙了
翻译不需要翻墙是不可能的,Google 现在是 tls 证书都被墙的待遇,这个问题的复杂性还多的很。 也许是你恰好 dns 幸运的给你碰上了一个漏网的Google QUIC 服务器 -- 大概有3%左右几率,不到。 所以说,Google 和 微软这帮人是无法体会中国人的遭遇的。各种不同状况混杂在一起,相当混乱
说白了,真的要改一个 build-in 的 Google 翻译走 pac 代理,只要不到10行 javascipt 就够了。但Google 那个大摊子,一个萝卜一个坑,大企业病的厉害,很难遇到一个负责开发的愿意搭理你。
chrome 的老外们,把这个问题又分到 Labels: Needs-Triage-M65
去了,。。。你们谁知道这是个什么去处么?
https://bugs.chromium.org/p/chromium/issues/detail?id=827478#c4
Needs-Triage是需要归类、判定分流,决定交给哪个团队/个人来进一步处理。 M=milestone,65是当前Chrome稳定版,没被忘记。
又测了一次,这次把winhttp和winInet设置都关掉,只留下SwithyOmega的pac代理。 然后,用proxifier拦截所有流量,测chrome内置Google translate,当然,这个好用。 然后关掉了proxifier,发现chrome内置Google translate 选择了SO的pac代理!!也好用了!! 但没有这个过程,直接打开chrome就死活无法使用内置Google translate!
这与楼上几位遇到情况一致,也就是说chrome内置有一个访问代理的选择过程,它其实是可以使用pac代理的,但这个机制不透明,有些人遇到的,就是直接可用。我遇到的就需要激活一次。
说实话,chrome这个google团队,真是太复杂了。提了半天问题,只是在不同的开发人员之间转来转去,没一个了解机理的人出来。就这么个访问网络代理的小破事儿,里面不知道用了多少层网络接口选择颠来倒去的折腾。
实测,内置翻译的服务器,已经落地上海,目前不需要翻墙即可使用。。。。chrome ver 70.0.3538.102
Google Chrome 70.0.3538.102 ShadowsocksR PAC代理下可以翻译,全局不行
74版本依旧是这个问题 我还一直奇怪呢 为何ssr只有全局下才能选择翻译 原来是这个原因
用的最新版本版本 chrome 75.0.3770.100,so用的gfwlist增加一行规则“translate.google.cn"就可以了,这个cn的域名已经在某些地区彻底不能用了
被同样的问题困扰
chrome升到最新版遇到了同样的问题
@Justsoos 发现一个很诡异的现象,我现在用本地运营商 DNS 就可以正常使用内置的 translater 但是如果换成防污染的或者国外的的 DNS 比如微软的 DNS 就无法使用了。
Chrome 80.0.3987.116 问题依旧
可以去商店里面安装一个 Google Translate插件,然后把 *.translate.googleapis.com
加入代理列表。
之后用这个插件就可以翻译网页了。
1,chrome 在windows,mac,linux 上不仅端口代理,还涉及全局,pac 等等网络代理行为并不一致 2,pac、 gfwlist 表达的路由与 Google 多个服务器实际在 北京上海 可以免墙访问的错综复杂矛盾 3,dns 对以上路由解析配合的错乱 4,chrome 内置翻译与外部插件访问还会不一致
至少以上三个不同维度导致这件事儿诡异的复杂,只能自己看自己的使用方式解决了。没有统一方案
如果还要加个问题维度: 5,Google本身的翻译,对某些可能「敏感词」或「不可知原因」,在北京上海服务器上翻译/连接的效果,与海外还会不同 甚至还会有些插件,比如 hammerspoon 的翻译插件竟然访问 80 端口,十足的泄密 ……
总之越深入这些老外的软件,越发现他们对于拆拿之墙的无知和不故意制造的极多混乱。。。。对小白来说,是灾难
之前一直没有问题,添加了Trojan之后出现了同样问题
5年过去了.. 这个问题还没解决
用omega上的https代理翻译不行,但用ss代理全局或pac都可以,所以说明翻译和浏览器不是走同一个路径,如果国内有服务器应该是可以的,但实际上不行
添加就可以了 .translate.googleapis.com ||translate.googleapis.com
2021/03/29: 翻译流量不能通过SO插件中转的; 测试环境下:开个PY监听TCP/UDP,点翻译都是不会有请求过来; 但是翻译是可以直连的;把.*translate.googleapis.com解析到国内即可,是北京ip的谷歌云,但不稳定; 所以可以选择设全局或者PAC;
还有一个最简单的方法是: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) qm1 = b"\x1ck\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x09translate\x0agoogleapis\x03com\x00\x00\x01\x00\x01" s.sendto(qm1, ("114.114.114.114", 53)) b, a = s.recvfrom(1000) print(f"{b=}, {a=}") l = [x for x in b] print(l) 直接获取ip比如我这里是203, 208, 43, 65, 然后设置C:\Windows\System32\drivers\etc\hosts 在最尾添加 203.208.43.65 translate.googleapis.com
无论选择哪种情景模式,貌似翻译功能不走代理。将shadowsocks-csharp设置为系统全局代理,SO切换到“系统代理”模式,则可以正常翻译了