基于 Cloudflare Worker 的 Cloudflare 自选 IP 实现方式
原文链接:https://milu.ink/186.html
来源:米露小窝
0. 前言
大家应该都知道,在中国,因为一股神秘的力量,访问 Cloudflare 是一件很困难的事。这时候一种东西就出现了,那就是 Cloudflare 自选 IP,可以帮助免费版用户用到相对高级的 IP,会让访问更加顺畅。因为 Partners(要账号并且已经被 Cloudflare 制裁)与 SaaS(要两个域名)等操作都非常麻烦且繁琐。所以我为此在网上寻找到一种新方式,是基于 Cloudflare Worker 的 单域名,普通账号 也可以使用的方式。
1. 需要准备的
- Cloudflare 账号一个(废话)
- 绑定到 Cloudflare 的域名一个(这里使用 milulu.xyz 示范)
2. 开始优选 IP
2.1 创建一个 Worker
随意取名即可,默认代码什么的可以不用改,直接一路创建即可。
2.2 Worker 绑定域名
点击你创建好的 Worker,打开设置-触发器,添加路由 (不是自定义域!),填写:你要 优选 IP 的域名/*
*注意:`/` 必须有,不然无法绑定其他目录下路由**
2.3 DNS 绑定域名
接下来打开你域名的 DNS 选项卡,添加一个 CNAME 或者 A 记录,指向如 CloudflareSpeedTest 优选过的 IP 或者其他开了高级套餐的域名(如 render.com 和 csgo.com),记得 关闭小黄云。
我这里使用 canva.com,速度还不错。
保存,访问你的域名,看看是否能显示 Hello World,如果显示了代表你成功了。
3. 反代网站
接下来就简单了,继续打开你创建的 Worker,点击编辑代码。
输入以下代码来反代任意网站:
export default {
async fetch(request, env) {
let url = new URL(request.url);
if (url.pathname.startsWith('/')) {
url.hostname="example.com";
let new_request=new Request(url,request);
return fetch(new_request);
}
return env.ASSETS.fetch(request);
}
};
保存之后你就能看见效果了,或者你想用 worker 干点啥也行,也是一样的,只是脚本不一样而已。
4. 感谢
大部分思路和 worker 反代脚本来自:Cloudflare 另类自选 IP 实现方式
转载声明: 本文转载自米露小窝,仅供学习交流使用。