4

Chrome 右键翻译,怎么 fix?

 1 year ago
source link: https://www.v2ex.com/t/889119
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  Google

Chrome 右键翻译,怎么 fix?

  JinTianYi456 · 48 分钟前 · 250 次点击
  • 系统: Windows 10
  • Chrome: 103.0.5060.114
  • 装了 扩展 Proxy SwitchyOmegaGoogle 翻译, 并在里面配了googleapis的规则,所以翻译扩展是 ok 的。但右键翻译用不了
  • 然后我猜 右键翻译 可能不走 代理扩展,但它是会使用系统代理的(不像 curl 命令,不使用系统代理),所以我就去配置系统代理(用过早期版本的 Windows 都知道,现在的 Windows 保留着两套设置界面,一套是新的我也不知道叫啥(位置是在设置-网络-代理),一套是以前的就是控制面板-Internet 选项,但不管用哪个只是界面不同而已)
  • 我还先去试了 hosts 的方案,但试了几个 ip ,都不行,然后才去试 系统代理 的方式
  • 去配置 pac, 起初我用的是 file:// 来指向,但不行,所以我觉得可能它不支持 file ,查了下,然后就改为http://指向
  • 我选了 Everything 里的 http 服务器来架设,因为上面的链接里说 MIME 类型, 如果没有,PAC 文件的扩展名必须是 .dat 、 .js 、 .pac 或 .jvs 。 但还是不行,WHY?
  • pac 资料
// 我的 pac 文件内容
function FindProxyForURL(url, host) {
    if (host == "translate.googleapis.com") {
        return "HTTP <IP>:<端口>";
    }

    return "DIRECT";
}

// 甚至,我把 SwitchyOmega 里的导出为 pac 来试,也不行

第 1 条附言  ·  8 分钟前

SwitchyOmega 里配置的是一个 远程的 http proxy, pac 文件里也是这个。并未在本机运行什么 ss/ray/clash 类程序
9 条回复    2022-10-23 16:44:08 +08:00
v2defy

v2defy      28 分钟前

不使用 SwitchyOmega 试试呢
gdfsjunjun

gdfsjunjun      28 分钟前

hosts 试过已经失效了,看来 IP 是彻底封了。
改用 Edge 解决
eason1874

eason1874      22 分钟前

你用 SwitchyOmega 扩展的话,只用它就可以了,我测试了,可以的,添加规则让 translate.googleapis.com 走代理就可以(以前流行的规则大部分把 googleapis 设为直连,所以现在要重新设为代理)
JinTianYi456

JinTianYi456      15 分钟前

@eason1874 #3 `并在里面配了 googleapis 的规则,所以翻译扩展是 ok 的。但右键翻译用不了`,但我用不了呀~ why?
是不是你以为是 SwitchyOmega 帮你处理了右键翻译,但其实右键翻译走到的是你系统代理设置
zhuweiyou

zhuweiyou      13 分钟前

clash mixins 加一条规则
JinTianYi456

JinTianYi456      11 分钟前

@zhuweiyou #5 抱歉,我的电脑里并没有运行任何的 clash/ray/ss 代理程序,我是直接使用一个远程的 http proxy
XIU2

XIU2      6 分钟前

我刚刚研究了半天,发现 Chrome 浏览器全页翻译的大概流程是(以下说的域名 /流量均指的是 translate. googleapis. com ):

1. Chrome 强制直连访问 translate. googleapis. com 获取了什么
2. 加载了几个翻译所需的静态文件( CSS 、JS 啥的)
3. 刚刚加载并运行的 element_main.js 脚本发起 POST 翻译请求
4. 处理翻译结果,修改网站内容

第 1 条,我搞不明白,但确定其直连访问了,完全不受扩展控制来走代理。
第 2 、3 条,都可以走代理,完全受扩展控制。

即整个翻译流程,一部分流量强制直连,一部分流量可以走代理。

复现方法:
1. 通过 Hosts 中将该域名指向可用的谷歌国外 IP 。
2. 浏览器中配置 SwitchyOmega 扩展让该域名走代理。
3. 打开 Win 自带的资源监视器,勾选代理、浏览器的进程(用来查看访问了哪个 IP )
4. 浏览器打开测试网页,F12 打开开发者工具,选择 NetWork (网络)
5. 开始翻译当前网页,观察 NetWork 中结果,发现加载静态文件、发起 POST 翻译请求都走了代理
6. 观察 资源监视器 中结果,发现 Chrome 直连访问了 Hosts 中指向的谷歌国外 IP ,以及 Chrome 访问了代理。

我感觉我就是在瞎折腾。。。折腾的我头晕,如果犯了什么常识性错误勿喷~
eason1874

eason1874      几秒前

@JinTianYi456 #4 我测试的时候把系统代理关掉了,确定可以。切换到添加有 translate 域名的情景模式可以翻译,切换到没有的就不能翻译。如果你添加了也不行,可能是 DNS 的问题

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK