V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JinTianYi456
V2EX  ›  Google

Chrome 右键翻译,怎么 fix?

  •  
  •   JinTianYi456 · 2022-10-23 15:56:35 +08:00 · 12779 次点击
    这是一个创建于 541 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 系统: 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 条附言  ·  2022-10-23 16:36:18 +08:00
    SwitchyOmega 里配置的是一个 远程的 http proxy, pac 文件里也是这个。并未在本机运行什么 ss/ray/clash 类程序
    90 条回复    2024-03-31 19:51:19 +08:00
    v2defy
        1
    v2defy  
       2022-10-23 16:16:25 +08:00
    不使用 SwitchyOmega 试试呢
    gdfsjunjun
        2
    gdfsjunjun  
       2022-10-23 16:16:41 +08:00
    hosts 试过已经失效了,看来 IP 是彻底封了。
    改用 Edge 解决
    eason1874
        3
    eason1874  
       2022-10-23 16:22:09 +08:00
    你用 SwitchyOmega 扩展的话,只用它就可以了,我测试了,可以的,添加规则让 translate.googleapis.com 走代理就可以(以前流行的规则大部分把 googleapis 设为直连,所以现在要重新设为代理)
    JinTianYi456
        4
    JinTianYi456  
    OP
       2022-10-23 16:29:48 +08:00
    @eason1874 #3 `并在里面配了 googleapis 的规则,所以翻译扩展是 ok 的。但右键翻译用不了`,但我用不了呀~ why?
    是不是你以为是 SwitchyOmega 帮你处理了右键翻译,但其实右键翻译走到的是你系统代理设置
    zhuweiyou
        5
    zhuweiyou  
       2022-10-23 16:30:57 +08:00
    clash mixins 加一条规则
    JinTianYi456
        6
    JinTianYi456  
    OP
       2022-10-23 16:33:53 +08:00
    @zhuweiyou #5 抱歉,我的电脑里并没有运行任何的 clash/ray/ss 代理程序,我是直接使用一个远程的 http proxy
    XIU2
        7
    XIU2  
       2022-10-23 16:38:41 +08:00   ❤️ 4
    我刚刚研究了半天,发现 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 访问了代理。

    我感觉我就是在瞎折腾。。。折腾的我头晕,如果犯了什么常识性错误勿喷~
    x86
        8
    x86  
       2022-10-23 16:39:38 +08:00   ❤️ 7
    eason1874
        9
    eason1874  
       2022-10-23 16:44:08 +08:00
    @JinTianYi456 #4 我测试的时候把系统代理关掉了,确定可以。切换到添加有 translate 域名的情景模式可以翻译,切换到没有的就不能翻译。如果你添加了也不行,可能是 DNS 的问题
    cnfzv
        10
    cnfzv  
       2022-10-23 16:52:37 +08:00
    @XIU2 我正好研究过,知道一点。谷歌调用翻译的部分请求是不走扩展的代理配置的,无论扩展配置了什么都没用,指定浏览器的代理的话可以有效果。如果要让翻译走扩展配置的代理,可能只有改源码才能实现
    XIU2
        11
    XIU2  
       2022-10-23 16:56:35 +08:00
    @cnfzv 我刚刚在 Chrome 启动参数里加上了
    --flag-switches-begin --flag-switches-end -enable-logging=stderr --v=1
    来查看实时网络调试日志。

    结果测试了好几遍,滚动日志里没发现有额外的网络链接。。。
    依旧是依次:1 个 CSS 样式文件、2 个 JS 脚本文件、2 个 PNG 图片文件、4 个 POST 请求

    和 NetWork 看到的一致,这就奇了怪了,难道我前面得出的结论是错误的么,但资源监视器里看确实是 Chrome 进程直连了 Hosts 中指定的可用谷歌国外 IP ,并且也走了代理。

    还是说这条启动参数也看不到 Chrome 强制直连的那个网络链接?。。。

    彻底蒙圈了~
    lookas2001
        12
    lookas2001  
       2022-10-23 17:02:30 +08:00
    用 netch 走系统路由层代理
    s12348765
        13
    s12348765  
       2022-10-23 17:13:28 +08:00
    用的 腾讯翻译插件
    JinTianYi456
        14
    JinTianYi456  
    OP
       2022-10-23 17:17:36 +08:00
    @x86 #8 试了他说的方法,从里面选了一个 IP 放到 hosts 里,ok 了 (注意,不是每个都有效的,我试到第 2 次才 ok)
    JinTianYi456
        15
    JinTianYi456  
    OP
       2022-10-23 17:20:34 +08:00
    但还是想不明白,为啥我配置 PAC 不生效呢?
    cnfzv
        16
    cnfzv  
       2022-10-23 17:22:05 +08:00
    @XIU2 建议你用抓包工具直接抓取,走的域名应该都是*.googleapis.com 这个里面的
    VvvzzZ
        17
    VvvzzZ  
       2022-10-23 17:28:29 +08:00

    https://v2ex.com/t/888970#r_12246970
    选一个添加到 hosts
    owtotwo
        18
    owtotwo  
       2022-10-23 17:28:35 +08:00
    我以为只有我在折腾谷歌翻译的问题,原来大家都在折腾 XD

    我的解决方案是(以下域名指 translate.googleapis.com
    1. 之前改动的 hosts 文件中指向的谷歌上海 IP 注释掉,让这域名正常走国外谷歌 IP (因为貌似上海 IP 已经间歇性不太能用了)
    2. Proxifier 强制拦截 translate.googleapis.com 让它走代理( http 还是 sock5 都可 能访问国外谷歌 IP 的即可)
    3. SwitchyOmega 无论是让这域名直连还是全局 都不影响 因为都会被 Proxifier 捕获到
    4. 这样 chrome 无论是否适用插件还是本身自带的页面翻译 都能用了

    总结思路就是:想办法让对于 translate.googleapis.com 这域名的请求能抵达国外谷歌 IP
    wanacry
        19
    wanacry  
       2022-10-23 17:31:31 +08:00   ❤️ 1
    都能上 v 站了还需要折腾吗?
    eason1874
        20
    eason1874  
       2022-10-23 17:36:59 +08:00
    @JinTianYi456 #15 我刚又测试了一下,原来我关掉自动系统代理只用扩展也能翻译是因为 chrome 缓存了 pac 文件,我关掉 chrome 再打开,就不行了。我知道 windows 会缓存 pac 文件,没想到 chrome 还有一份缓存。你修改 pac 文件不生效,可能也是缓存问题
    owtotwo
        21
    owtotwo  
       2022-10-23 17:40:13 +08:00
    提个醒,每次尝试记得先重启 Chrome 再测试,不然有可能有缓存或残留的连接影响测试结果
    (打开 chrome://net-internals/#sockets 然后 Close idle sockets 似乎也行)
    JinTianYi456
        22
    JinTianYi456  
    OP
       2022-10-23 17:41:27 +08:00
    @eason1874 #20 这样吗?算了,用 hosts 搞定了,下次再玩 PAC 吧。chrome://net-internals/#proxy 这里是不是可以清楚 proxy-cache?
    wym0823
        23
    wym0823  
       2022-10-23 18:02:42 +08:00
    修改 hosts ,ip 换成可用的国外谷歌服务器 ip
    XIU2
        24
    XIU2  
       2022-10-23 18:06:27 +08:00
    @cnfzv 可是我看 Chrome 浏览器直连访问了 Hosts 中指定的 IP ,而只可能是通过 translate. googleapis. com 域名,因为我只指定了这一个域名,其他域名不可能解析到这个 IP 的。

    我用本地 DNS 程序记录了解析请求(重启了浏览器+刷新 DNS 缓存),也确实没见到其他域名。。。
    followztx
        25
    followztx  
       2022-10-23 18:06:51 +08:00
    1 、代理客户端比如 ssr,默认用的 pac 模式,但是 gfwlist 列表里面把 translate.googleapis.com 排除了(直连),用户自定义里面添加一条*.translate.googleapis.com,让它走代理
    2 、浏览器代理扩展里面,如果也是用 gwflist ,也得手动添加*.translate.googleapis.com 让它走代理

    原因:右键整个网页翻译,部分流量走系统代理(走了代理客户端的 pac,这个 pac 得添加 translate.googleapis.com),另外一部分走浏览器扩展(浏览器扩展里面的 pac 也得添加 translate.googleapis.com
    charlie21
        26
    charlie21  
       2022-10-23 18:18:45 +08:00
    chrome 彩云小译扩展
    followztx
        27
    followztx  
       2022-10-23 18:44:42 +08:00
    翻译的还不错
    treblex
        28
    treblex  
       2022-10-23 20:40:25 +08:00
    装完浏览器第一次需要系统代理,之后好像就可以走扩展了
    qiaobeier
        29
    qiaobeier  
       2022-10-23 21:07:22 +08:00
    换“划词翻译”使用 deepl ,服务器有点慢,但翻译质量比 google 好一点。
    Minden
        30
    Minden  
       2022-10-23 21:11:11 +08:00   ❤️ 2
    右键翻译走系统代理,我也是习惯用 SwitchyOmega ,这样将需要走代理的域名可以很方便地临时控制。我现在是加一层 Proxifier 走系统代理,只添加需要的软件和域名,这样就完成了,完全不影响之前的配置。
    D15nBByN
        31
    D15nBByN  
       2022-10-23 21:12:12 +08:00   ❤️ 1
    Chrome 加--proxy-server=启动参数,有路由分流需求的话放在浏览器外面做
    iv2usr
        32
    iv2usr  
       2022-10-23 21:14:24 +08:00
    一劳永逸的办法: 路由器透明代理
    ClericPy
        33
    ClericPy  
       2022-10-23 21:16:57 +08:00
    你们折腾不明白的不会来 V2EX 搜一搜么, 方法很多了

    右键里的似乎不走代理扩展, 以前还行现在不好使了, 如果懒得搜, 装了划词翻译的可以在设置里面找到通知:

    关于谷歌翻译出现报错的说明
    https://hcfy.app/blog/2022/09/28/ggg

    一大串 hosts 复制过去吧
    AaronLee
        34
    AaronLee  
       2022-10-23 21:20:11 +08:00
    有个临时解决方法,我也是刚刚在知乎看的,操作系统先设置全局,打开 Chrome ,随便翻译一个网页,接着再取消全局代理,之后就可以正常使用翻译了,只是有个缺点,Chrome 不能关闭,否则要重新这样做一遍。
    知乎链接:[「技巧」 Chrome 浏览器自带 谷歌翻译 失效的最新解决方法之一:重定向( 10 月 22 日)]( https://zhuanlan.zhihu.com/p/576290326#:~:text=C%E6%9F%90%E6%9F%90-,%E9%87%8D%E5%AE%9A%E5%90%91%E6%98%AF%E7%9C%9F%E7%9A%84%E5%A5%87%E6%8A%80%E6%B7%AB%E5%B7%A7,-%E3%80%82%E6%88%91%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88)
    Eagleyes
        35
    Eagleyes  
       2022-10-23 23:05:40 +08:00
    SwitchyOmega 添加这条规则并使用

    https://ipac.now.sh/
    haixin
        36
    haixin  
       2022-10-23 23:18:27 +08:00 via iPhone
    分流,DOMAIN-KEYWORD,google,proxy
    explore365
        37
    explore365  
       2022-10-23 23:28:30 +08:00
    XIU2
        38
    XIU2  
       2022-10-23 23:51:35 +08:00   ❤️ 2
    @AaronLee 嗯,这篇就是我写的文章,不过很奇怪的是有人行有人不行,把我也搞懵了。。。
    于是我今天研究了半天,结论就是上面我发的内容(即整个翻译流程,一部分流量强制直连,一部分流量可以走代理)。关于你提到的这个,我也注意到了,我个人粗略的解释为:

    Chrome 浏览器第一次翻译时:

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

    而后续再次翻译时,也只需要从步骤 2 开始,而因为 JS 等文件都被缓存了,所以相当于从步骤 3 开始了,直接由 JS 文件发起 POST 翻译请求即可(即相当于跳过了 1~2 步骤)。

    这个第 1 条步骤,我也只是猜测,因为我只能通过实验判断翻译时,Chrome 直连访问了 Hosts 中指向的谷歌国外 IP ,以及 Chrome 访问了代理,但具体是什么我就不知道了。。。

    折腾研究半天,给我搞晕了、烦了,本来是想研究下看看能不能找到完美解决方案写个适合大众的低门槛教程,结果最后也只得出这一堆模棱两可的答案。。。
    Lightbright
        39
    Lightbright  
       2022-10-24 00:57:24 +08:00 via Android
    要用系统代理,且不能是 pac
    abolast
        40
    abolast  
       2022-10-24 01:10:06 +08:00
    最后我选择在 chrome 的启动参数添加 --proxy-server=http://127.0.0.1:20172 ,SwitchyOmega 插件也不用了,第三方网页翻译插件总是有点问题
    a74074011
        41
    a74074011  
       2022-10-24 02:14:44 +08:00   ❤️ 2
    @XIU2
    一种完美解决方案 dns 劫持
    劫持待访问域名到指定 nginx 服务
    nginx 使用 stream 转发到指定的 socat 端口
    socat 对 proxy 发起 socks 连接
    设备仅需配置 DNS 即可食用,全程 tls
    Ahiok
        42
    Ahiok  
       2022-10-24 02:17:39 +08:00
    更新一下小猫咪规则就能用了
    TcDhl
        43
    TcDhl  
       2022-10-24 02:27:58 +08:00
    https://v2ex.com/t/888970
    看我这个, 解决的舒舒服服
    JinTianYi456
        44
    JinTianYi456  
    OP
       2022-10-24 04:30:02 +08:00
    @TcDhl #43 不舒服,因为我并不想在我电脑里装那个软件
    Woodrow
        45
    Woodrow  
       2022-10-24 08:39:16 +08:00
    右键翻译不走 socks5 之类的代理,系统代理可以。
    或者装一个 google 翻译扩展(部分网页不可用,比如 github )
    Woodrow
        46
    Woodrow  
       2022-10-24 08:39:55 +08:00
    idragonet
        47
    idragonet  
       2022-10-24 09:42:39 +08:00
    @abolast 这个可以!
    Bingchunmoli
        48
    Bingchunmoli  
       2022-10-24 09:56:28 +08:00
    最简单的办法就是系统设置代理,即使 windows 两个设置,但是都是设置的同一个东西 IE 选项里面的系统代理地址,
    tagtag
        49
    tagtag  
       2022-10-24 10:27:49 +08:00
    我也折腾一阵子受不了了,直接搬家到 Edge 了
    smallYear
        50
    smallYear  
       2022-10-24 10:51:37 +08:00
    我用的 360 极速,改 hosts 现在谷歌翻译正常使用
    Martin88
        51
    Martin88  
       2022-10-24 11:16:54 +08:00
    @owtotwo 老大,我是 v2ray ,请问怎么设置啊,我折腾了很久都不行
    jucelin
        52
    jucelin  
       2022-10-24 11:36:33 +08:00
    @eason1874 #3 亲测可行。
    自动更新的规则确实把 googleapis 设为直连了
    Sam99
        53
    Sam99  
       2022-10-24 11:51:14 +08:00 via Android
    全局省事
    873792861
        54
    873792861  
       2022-10-24 13:07:50 +08:00
    闲鱼买个矿难路由,搞个透明代理就好了,宿舍里很方便,但是公司环境就不好搞了,在公司里都是用百度翻译
    sunwang
        55
    sunwang  
       2022-10-24 13:41:51 +08:00
    不是不走代理,开全局是可以访问的,gfwlist 默认 translate.googleapis.com 不走代码的,即使你设置了走代理也会被 gfwlist 规则覆盖
    可以看看 https://github.com/yanue/V2rayU/issues/1114 这个问题
    Martin88
        56
    Martin88  
       2022-10-24 13:59:42 +08:00
    @Ahiok 我是 v2ray 请问该怎么设置啊
    XIU2
        57
    XIU2  
       2022-10-24 14:04:18 +08:00   ❤️ 1
    @XIU2 #34 #38 再补充一下。

    刚刚用 Wireshark 抓包看了下,发现我上面得到的结论中的第一次翻译步骤的第 1 条并不准确。

    并非是第一次翻译时访问的,而是,打开浏览器后,第一次访问其他语言的网页时(即右上角提示你可以翻译,但你还没有去点击翻译),浏览器就会访问一次 translate. googleapis. com 来获取什么,这次访问是不受代理管理扩展控制的。

    也就是,浏览器监测到网页语言不一样,就会去不受扩展控制的直连访问一次,然后持续到浏览器关闭都不会再这样直连访问了,因此只要这次直连访问走了代理,那么后续进行翻译都可以扩展控制去走代理了。

    可惜即使研究到现在,还是改 Hosts 最简单,虽然需要自己扫可用的谷歌国外 IP ,而且无法保证长期可用多少有点蛋疼。。。
    XIU2
        58
    XIU2  
       2022-10-24 14:07:51 +08:00   ❤️ 1
    @sunwang 他们说的不走代理,指的是不受代理管理扩展控制,如 SwitchyOmega 这种。

    当然准确来说,是一部分不受扩展控制走直连(但受系统代理设置控制),一部分则可以正常受扩展控制走代理。具体我昨天研究过,你可以看看我上面发的,虽然就算知道了也没什么卵用~
    Kazetachinu
        59
    Kazetachinu  
       2022-10-24 14:33:42 +08:00
    用 edge 就行了,哈哈哈,不要都去扎堆用 chrome 。内核一样,还得重新装个应用在 pc 上。
    yulon
        60
    yulon  
       2022-10-24 14:37:31 +08:00
    如果裸的 HTTP 代理可以用,就不会有那么多梯子了。。。
    jimmyczm
        61
    jimmyczm  
       2022-10-24 15:06:03 +08:00
    用划词翻译里的 deep 吧,比谷歌的准
    jackma0571
        62
    jackma0571  
       2022-10-24 15:12:52 +08:00
    最简单的就是改 hosts
    Hellert
        63
    Hellert  
       2022-10-24 16:24:21 +08:00   ❤️ 4
    问题就在 gfwlist ,因为开全局,翻译是没问题的。
    我用的 v2rayN ,安装目录下有个 pac.txt ,把里面的 translate.googleapis.com 直连规则删掉,然后重启浏览器,翻译就正常了,看 v2ray 客户端日志,翻译开始走代理了,之前日志里是看不到的。
    Martin88
        64
    Martin88  
       2022-10-24 20:44:51 +08:00
    @Hellert 老哥,我也是 v2rayN ,开全局倒是没问题,绕大陆就不行了,我下的是压缩包,里面没有你说的 pac.txt 文件,怎么操作啊,谢谢
    Hellert
        65
    Hellert  
       2022-10-24 21:32:51 +08:00 via Android
    @Martin88 检查更新-pac ,试试
    icaolei
        66
    icaolei  
       2022-10-24 23:07:39 +08:00 via Android
    我现在是需要翻译网页的时候就开下 Clash For Windows 的 TUN 模式,用完后又关掉。太蛋疼了。
    XIU2
        67
    XIU2  
       2022-10-25 00:20:21 +08:00   ❤️ 3
    @XIU2 #57 #58 做个最后总结吧!

    Chrome 内置全页谷歌翻译,其实并不是完全不受扩展控制,准确来说是:
    一部分不受扩展控制走直连(但受系统代理设置控制),一部分则可以正常受扩展控制走代理。

    打开浏览器后,第一次访问其他语言的网页时(即右上角提示翻译,但你还没有去点击翻译),浏览器就会访问一次 translate. googleapis. com 来获取什么,而这次访问是不受浏览器扩展控制的。

    也就是,浏览器监测到网页语言不一样时,就会去不受扩展控制的强制直连访问一次 translate. googleapis. com ,后续在浏览器关闭之前就不会再这样做了,因此只要这一次强制直连访问成功,那么后续进行翻译都可以由扩展控制走代理或重定向了。

    而一些人之所以会出现明明手动访问 CSS/JS 等静态文件可以正常走代理 /重定向,但依然无法翻译的情况,就是因为这个 Chrome 强制直连的链接没有被重定向导致的,而另外一批成功翻译的人,其实就是因为这次强制直连因为某些原因访问成功了,所以后续的翻译请求才会被重定向至国内 CDN 加速地址。

    ——————

    在 Chrome 浏览器中点击 翻译 选项后的流程逻辑是:
    (注意,只有强制直连那次访问成功,浏览器才会进行下面这些的步骤环节)
    1. 浏览器加载翻译所需的静态文件( JS/CSS 等)
    2. 由刚刚加载的 JS 脚本发起 POST 翻译请求并处理

    而这两个环节产生的网络链接都能正常受扩展控制,可以走代理或被重定向。

    ——————

    我前几天写的这个教程,就是依靠扩展把 translate. googleapis. com 重定向至 gtranslate. cdn. haah. net ,结果评论区 /私信中,有大量用户反馈依然不行,但是也有部分人反馈可以,这种奇怪的现象迫使我仔细研究了一番 Chrome 的翻译机制,才大致搞明白了,确实挺奇葩的,我也想不明白,为什么 Chrome 浏览器要这样做,而且还是内核中写死的。。。
    https://zhuanlan.zhihu.com/p/576290326

    现在想来,我之所以能重定向成功,就是因为当初测试效果时,我的 Hosts 文件中已经加的有将其指向可用的谷歌国外 IP 的内容了,而我当时还不清楚这么多弯弯道道,以为只靠扩展重定向就完美解决了,还很兴奋的第一时间熬夜写教程,结果第二天大量用户在评论区反馈不行。。。搞得我就很尴尬,刚才我又重写了这篇文章教程,这次应该没啥问题了~


    想要验证这点也很简单,只需要在 Hosts 中将 translate. googleapis. com 指向一个不可用的错误 IP 并重启 Chrome 浏览器(刷新缓存),然后再去尝试翻译,就会发现翻译失败了。

    而一旦指向一个可用的 IP (我用的是谷歌国外 IP ),那么翻译时就能在 F12 - NetWork (网络)中看到发起的 POST 翻译请求被扩展控制走了代理 /重定向(如果是前面那样将其指向不可用的错误 IP ,那么这种情况下尝试翻译,会发现 NetWork 看不到任何 翻译请求 的网络链接信息)。

    ——————

    以上就是我这两天,断断续续抽空研究的成果(非专业,只是根据各种测试、抓包来判断)。

    毕竟我既然发了文章教程,就要负责到底,熬夜写半天结果搞出个有缺陷的教程那就是在太亏了,而且还每天一群人评论区 /私信反馈说用不了来 “打我脸” ,属实把我搞烦的不行。。。

    迫使我研究了一番,并重写了一下这个文章教程才终于舒服一点了~
    Stoney
        68
    Stoney  
       2022-10-25 01:47:07 +08:00 via iPhone
    开启系统代理可以
    anoncat
        69
    anoncat  
       2022-10-25 06:17:24 +08:00   ❤️ 1
    @Minden
    艹 从 hosts 到 header edit 再到 v2ray proxy rule 差点搞小鸡装 caddy
    大费周章半天转一圈发现带上 switchyomega whitelist 都玩不转 最后到你这突然发现我平时也开着 proixfier4
    直接加一条规则完事😀特来登录评论
    话说老哥 v2rayn 平时不开系统代理吧 新版路由规则太蛋疼
    怎么解决 swichyomega 系统代理模式实现以前的 ssr gfwlist pac 黑名单情景的?
    anoncat
        70
    anoncat  
       2022-10-25 06:40:32 +08:00
    @owtotwo
    老哥怎么解决 swichyomega 系统代理模式实现以前的 ssr gfwlist pac 黑名单情景呢?
    anoncat
        71
    anoncat  
       2022-10-25 08:00:11 +08:00
    @XIU2 所以初次强制直连的域名还是 translate. googleapis. com 吗(那些 cdn 成功的人才是开了系统代理的“不正常”ones 吧)?
    其实西柚哥不必再纠结 nginx/caddy 反代 http 即可 懒得弄的直接 proxifier host 完事
    XIU2
        72
    XIU2  
       2022-10-25 08:27:31 +08:00
    @anoncat 对,在第一次访问到其他语言的网页时,浏览器就会强制直连访问一次 translate. googleapis. com ,我专门抓包看过了,在打开浏览器后第一次访问中文网页,则没有。

    只有“这一次”的强制直连访问 translate. googleapis. com 成功,那么后续的翻译过程就完全受扩展控制,可以走代理 /重定向了,如果不成功,整个翻译功能流程就会 “卡住”,不再继续后续的步骤了(加载翻译所需的静态 JS 脚本什么的),NetWork 也看不到任何相关网络链接。

    我研究这个不是给自己用的,我自己早就有完美解决方案了,不过因为一些原因只能自用,所以我才想要找个适合大众使用的低门槛解决方案。
    最后想到的最简单方案,还是 Hosts 指向可用的谷歌国外 IP ,这样正常情况下就能翻译了,如果想要翻译速度更快、更稳定,那么可以再整个重定向到国内 CDN 加速地址。这样除了强制直连的那一次外,其他翻译过程中的网络请求都会被重定向。
    Minden
        73
    Minden  
       2022-10-25 09:49:55 +08:00
    @anoncat 我是禁用系统代理的,swichomega 用 auto switch 情景模式,规则列表设置就添加 gfwlist 。要是用系统代理就没必要用 Swichomega 了😄
    zedboy
        74
    zedboy  
       2022-10-25 09:59:28 +08:00
    142.250.4.90 translate.googleapis.com


    加到 hosts 2022 年 10 月 25 日还有效
    fiveStarLaoliang
        75
    fiveStarLaoliang  
       2022-10-25 10:31:46 +08:00   ❤️ 1
    亲测有个一劳永逸的办法:
    1. SwitchyOmega 配置 2 条规则 *.google.com ,*.googleapis.com
    2. v2rayN 配置 路由设置 --> 绕过大陆 --> proxy 拉到第一 --> protocol 勾选 http,tls --> Domain 填入 doamin:translate.google.com, domain:translate.googleapis.com
    hanssx
        76
    hanssx  
       2022-10-25 12:37:18 +08:00
    @Minden Proxifier 我看了一下,是收费软件吧?
    teacer
        77
    teacer  
       2022-10-25 13:11:01 +08:00
    @anoncat 这个软件好几年前用过,功能都忘了,但是你提醒我了,亲测有效。感谢!
    teacer
        78
    teacer  
       2022-10-25 13:11:58 +08:00
    @Minden 解决了,感谢。
    brader
        79
    brader  
       2022-10-25 18:24:35 +08:00
    我的电脑代理软件是会在 Internet 选项->连接->局域网设置->代理服务器 把代理指向我的代理端口,这样正常使用没有问题
    XIU2
        80
    XIU2  
       2022-10-25 21:18:09 +08:00   ❤️ 1
    @brader 对,Chrome 在翻译前的那一次强制直连访问 translate. googleapis. com 时,虽然不受 SwitchyOmega 等扩展的控制,但却受浏览器外的如 系统代理设置、Hosts 的影响。
    Martin88
        81
    Martin88  
       2022-10-25 21:19:19 +08:00
    @Hellert 我的 v2rayn 根目录里没有这个文件
    Martin88
        82
    Martin88  
       2022-10-25 21:20:26 +08:00
    @zedboy 谢谢,确实可以,请问在哪里可以找到这些可用的 ip 啊
    thinkingbullet
        83
    thinkingbullet  
       2022-10-26 10:07:39 +08:00
    上周解决了这个问题,可以查看下面的图片链接 https://imgur.com/JGfUxr8
    zj1sq
        84
    zj1sq  
       2022-10-26 14:22:29 +08:00
    @fiveStarLaoliang v2 还得开启系统代理吧,不然像上面说的第一步不走代理没法继续啊
    hendry
        85
    hendry  
       2022-10-26 20:11:13 +08:00 via Android
    今天我的已经可以右键又能够翻译了,神奇。大家快试试吧。
    fiveStarLaoliang
        86
    fiveStarLaoliang  
       2022-10-27 09:21:54 +08:00
    @zj1sq 今天新发现的,是你说的那样,每次打开浏览器,需要重新开启全局,让浏览器走第一步第二步去获取一些数据,然后后续请求就可以不用全局了,走 SwitchyOmega
    panle
        87
    panle  
       2022-10-31 20:48:35 +08:00
    @zedboy 谢谢,这是有效的
    taoshaoz1
        88
    taoshaoz1  
       2022-11-23 16:33:37 +08:00
    @x86 原来直接给那个 api 加个规则就行了,我服了,为什么 PAC 规则没有更新这个域名啊。。。
    keepRun
        89
    keepRun  
       2023-03-30 20:36:40 +08:00
    直接安装 chrome 应用商店的 Google 翻译 插件即可,不用折腾太多
    suita
        90
    suita  
       16 天前
    装了插件解决了,没有折腾
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   945 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 20:57 · PVG 04:57 · LAX 13:57 · JFK 16:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.