使用CloudFlare的Workers进行代理

Workers介绍

WorkersCloudFlare 提供的 serverless 服务。开发者只需在 Workers 里面实现业务逻辑,剩下的部分交由平台处理。CloudFlare 能够访问外网,因此很多人使用 Workers 进行代理,实现科学上网。

Workers免费额度

CloudFlare 算得上良心企业,它提供了很多免费、稳定且好用的服务,Workers 便是其中一款产品。它的免费额度如下,能满足日常的使用。

Workers免费额度

编写代理

 代理编写参考仓库,它提供了 trojanvless 两种协议,读者可以根据实际需要选择适合自己的协议。下面以 trojan 协议为例,介绍代码中几个重要的配置。

1
2
3
4
5
import { connect } from "cloudflare:sockets";

let Pswd = "trojan";
const proxyIPs = ["cdn.xn--b6gac.eu.org"]; //workers.cloudflare.cyou bestproxy.onecf.eu.org cdn-all.xn--b6gac.eu.org cdn.xn--b6gac.eu.org
let hostnames = [''];

 在配置信息中,Pswdtrojan 协议的密码,这个必须修改。proxyIpsWorkers 转发请求的代理地址,如果不设置,则由 Workers 请求用户的目标地址。之所以需要转发是因为 Workers 无法访问 CloudFlare 自己的地址。hostnames表示正常的 http 请求的响应地址。

proxy代码执行流程

workers被屏蔽

workers 的地址已经被屏蔽,无法直接访问,需要进行 ip 优选或者使用没有被屏蔽的域名,设置 cname

为Workers设置cname

 首先,需要前往未被屏蔽的域名的控制台,配置一个 CNAME 的记录,指向 Workers 的域名。

使用未被屏蔽的域名,设置cname

 接下来,前往 Workers 的管理后台,为这个域名配置一条路由规则。路由填写你的域名信息,类似:*.exmaple.com/*

前往workers后台,添加路由规则

 配置完毕之后,可以访问路径/cf,即:xxx.example.com/cf,如果 Workers 工作正ss,会返回 Workers 的状态信息。如果无法正常访问,需要按照上面的步骤逐一检查。

连接代理

 访问密码这个路径时,页面会显示代理的配置信息。例如前面Pswd的值设置为:abcd,则访问xxx.example.com/abcd,便可获得代理的配置。使用常见的代理客户端访问即可。

使用 Hugo 构建
主题 StackJimmy 设计