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

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

基于 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 实现方式


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

  1. 雯雯 19 天前

    脚本不一样

Theme Jasmine