[亲测有效]使用 Cloudflare Worker 代理谷歌翻译和 API,绕过限制,实现国内加速访问

近期教程:Docker hub 被墙替代方案 / 在中国大陆通过Cloudflare Workers代理访问Docker Hub,发布后,流量不错,于是就有了下面这篇教程

众所周知,谷歌翻译中国版已经停止服务了,以前使用translate.google.cn翻译和translate.googleapis.cn接口翻译都挂掉了,该怎么解决这个问题呢?日常工作学习也是经常用翻译。那我们可以使用 Cloudflare worker来创建一个代理地址,然后通过 cloudflare强大的 DNS代理实现正常访问 google 翻译和 API。

cloudflare worker 每天有 10 万次免费请求。Cloudflare Workers 的每个请求都是无状态的,这意味着它们不共享内存或状态。因此能够很好地适应高并发请求。

1、注册一个 Cloudflare 账户

使用常用邮箱,免费注册一个账号即可。

2、创建 Worker

2.1、左侧菜单点击 Workers 和 Pages ,然后点击 创建 Worker

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

2.2、项目名称我这边保存为 google-translate

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

2.3、点击编辑代码

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

2.4、删除默认代码

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

2.5 复制下面 js代码

export default {
  async fetch(request, env, ctx) {
    let url = new URL(request.url);

    // Modify the hostname based on the path
    if (url.pathname.startsWith('/translate_a/') || url.pathname.startsWith('/translate_tts') || url.pathname.startsWith('/translate')) {
      url.hostname = "translate.googleapis.com";
    } else {
      url.hostname = "translate.google.com";
    }

    // Create a new request with the modified URL and original request options
    let new_request = new Request(url.toString(), {
      method: request.method,
      headers: request.headers,
      body: request.body,
      redirect: 'follow'
    });

    // Fetch the modified request
    let response = await fetch(new_request);

    // Create a new response to handle content
    let new_response = new Response(response.body, response);

    // Add CORS headers if necessary
    new_response.headers.set("Access-Control-Allow-Origin", "*");
    new_response.headers.set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
    new_response.headers.set("Access-Control-Allow-Headers", "Content-Type, Authorization");

    return new_response;
  }
};

2.6、粘贴代码,并点击右上角部署按钮,部署之后左上角点击返回

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

3、绑定自定义域名

备注:我更喜欢添加 DNS后,添加路由,这样做的好处是有多个域名,可以共用 worker,方便管理

3.1、DNS解析 二级域名 tl.faison.cc

左侧选择 DNS,右侧点击添加记录

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

3.2、类型选择 CNAME,名称输入 tl,目标是 worker地址: google-translate.xxx.workers.dev(替换成你的),代理状态默认是打开,不要关闭,最后点击保存即可。

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

解析之后还不能访问,需要将 tl.faison.cc的所有请求路由到 google-translate上

3.3、添加路由

先点击域名,然后在左侧点击 Workers路由,再然后点击右侧添加路由

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

3.4、路由:tl.faison.cc/* Worker选择 google-translate,最后点击保存

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

此时就配好了,接下来测试一下

4、测试翻译和 API翻译

4.1、测试浏览器打开谷歌翻译

打开浏览器输入: tl.faison.cc,这是我 30 块买的域名,可以用到2025年7月初,希望大家多多关注,到明年我继续续费。

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

4.2、测试 API翻译

curl -X GET "https://tl.faison.cc/translate_a/single?client=gtx&sl=zh-CN&tl=en&dt=t&q=你好,中国" #结果如下图所示
这里的参数说明如下:

sl=zh-CN:设置源语言为中文。
tl=en:设置目标语言为英文。
q=你好,中国:设置要翻译的文本为“你好,中国”。
成功代理谷歌翻译 api

5、绑定域名后,不能使用翻译的解决办法

如果遇到绑定域名后,不能使用翻译,请关闭Rocket Loader功能。

在中国大陆通过Cloudflare Worker加速访问谷歌翻译

Comments

No comments yet. Why don’t you start the discussion?

发表评论