基于 Cloudflare Worker 的 Cloudflare 自选 IP 实现方式

IT技术 · 03-08 · 142 人浏览

基于 Cloudflare Worker 的 Cloudflare 自选 IP 实现方式

原文链接:https://milu.ink/186.html
来源:米露小窝

0. 前言

大家应该都知道,在中国,因为一股神秘的力量,访问 Cloudflare 是一件很困难的事。这时候一种东西就出现了,那就是 Cloudflare 自选 IP,可以帮助免费版用户用到相对高级的 IP,会让访问更加顺畅。因为 Partners(要账号并且已经被 Cloudflare 制裁)与 SaaS(要两个域名)等操作都非常麻烦且繁琐。所以我为此在网上寻找到一种新方式,是基于 Cloudflare Worker单域名,普通账号 也可以使用的方式。

1. 需要准备的

  1. Cloudflare 账号一个(废话)
  2. 绑定到 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 实现方式


转载声明: 本文转载自米露小窝,仅供学习交流使用。

Theme Jasmine