部署静态服务

使用works提供的KV作为数据库

使用cloudfare缓存html来降低KV的读写

所有的html页面均为缓存,可以达到静态博客的速度

唯一瓶颈是workers的日访问量是10万(免费)

1G的存储空间

worker里边存放的是js

那么静态页面html放哪里?——CloudFlare有一个模块Page专门放置静态页面(可以连接GitHub也可以自己上传)

其实CLoudFlare就是worker和Page构成了两大核心

Page的使用就更简单了,把静态页面等相关代码打包上传即可,当然也可以链接GitHub存储库,实现简单的CI/CD

海外中转

基础

利用CLoudFlare的CDN实现VPN的作用

首先使用别人已经搭建好的worker代码直接拿来使用搭建

建议使用自定义域更稳定的访问到worker

然后配置反代域名或者反代ip,注意端口(自己优选反代ip替换)

常用反代cf域名

edgetunnel.anycast.eu.org
cdn-all.xn--b6gac.eu.org    
cdn.xn--b6gac.eu.org
cdn-b100.xn--b6gac.eu.org
cdn.anycast.eu.org
cdn-all.xijingping.link

另外,只是单纯上网的话,啊里的反代就挺好:香港、日本

const proxyIPs = ['achk.cloudflarest.link','jp.cloudflarest.link'];

能解锁GPT等网站的优质IP(荷兰)

const proxyIPs = ['146.70.175.116','146.70.175.112','146.70.175.101','146.70.175.111','146.70.175.104'];

fofa官网 https://fofa.info/

筛选语句:
server=="cloudflare" && port=="80" && country=="NL" && city=="Amsterdam"

补充:脚本中使用政府网站来伪装对非法路径请求的回应

const hostnames = ['www.fmprc.gov.cn', 'www.xuexi.cn', 'www.gov.cn', 'mail.gov.cn', 'www.mofcom.gov.cn', 'www.gfbzb.gov.cn', 'www.miit.gov.cn', 'www.12377.cn'];

建议改一下比如:

const hostnames = ['ipdata.co'];

优选

关于优选cdn-ip和优选反代ip:

cdn ip 是cloudflare的边缘节点ip,反代ip是反代了cdn节点的ip

  • 填写在v2rayN的ip和使用的端口是从本地测试能连通CloudFlare网络服务的优选反代ip测试

  • 填写在worker脚本中的ip则是从谷歌测试【使用了CLoudFlare体系的网站,cdn-ip(能不能解锁gpt看的还是worker中的cdn-ip)

image-20240201214908202

小结:只要worker中的ip段能够访问解锁就可以了外面填的反代ip决定自己常规的ip,也是连接到CloudFlare边缘节点的跳板
(正常情况下我们一般很难直连CloudFlare网络,我们必选优选ip访问,之后再通过指定cdn-ip边缘访问节点去访问我们想要解锁的网站)

使用CloudFlare,它的边缘ip一般是就近分配,我们需要优选让我们畅通它的服务和指定ip区域

他有一些ip段,对应有不同的地区编码

地区编码: 不太准,只能说大范围都是

  • 132203——北美、香港、新加坡

  • 31898——北美、欧洲、韩国等

  • 45102——亚洲(日本、香港、新加坡)

亚洲的基本都能正常,但它的地区会被open-ai拉黑

如何优选:

一、如果获取CF中转IP(即反代IP)

2、电报机器人:@cf_push

3、合并多个txt文档技巧:新建txt文件,输入type *.txt>>all.txt,重命名格式为.bat后,运行。自动合并生成。

5、在线批量IP地理位置查找工具:https://reallyfreegeoip.org/bulk

6、利用“CloudflareSpeedTest”工具来测速(参数见项目地址):https://github.com/XIU2/CloudflareSpeedTest

7、在该软件当时文件栏上输出:cmd,回车键

8.1、直接软件测:CloudflareST.exe -tll 40 -tl 200 -f 文件名.txt(下载速度测不了)

8.2、有测速地址:CloudflareST.exe -url https://down.heleguo.top/download/300MB.zip -tl 200 -sl 5 -tlr 0.2 -f 文件名.txt

二、如何获取CF的CDN IP

4、better-cloudflare-ip(本地优选)

5、CloudflareSpeedTest(本地优选)

打开fofa网站搜索:server="cloudflare" && country="US" && city="Chicago" && port="443"

意思是筛选CF的CDN IP,国家是美国,地区是芝加哥,端口443

7、利用“CloudflareSpeedTest”工具来测速

三、查当前IP地址及测速

1、查IP:https://ip.gs/

2、查IP纯净度:https://scamalytics.com/

附:有方法限定自己的优选域名防止乱跳

暴力,CF优先IP,解锁CHATGPT和奈飞

Tip

就是通过CF的CDN和指明网站,去挖他们的纯净ip来拿来当做我们的反代ip
纯净度高就越有可能解锁特殊网站
参考:暴力,CF优先IP,解锁CHATGPT和奈飞 (youtube.com)

IP在线PING

托管CF CDN的网站

dogechain.info

interactive.kohls.com

根据需要后期更新...

查IP纯度

实现反向代理

使用Cloudflare的Workers实现简单的反向代理是相对容易的。Workers提供了JavaScript代码的执行环境,您可以使用它来修改传入的请求并将其转发到目标网址。上述提供的代码示例演示了如何捕获传入请求事件,修改请求的URL,并使用fetch函数将修改后的请求发送到目标网址。通过配置Cloudflare的路由,您可以将特定的源路径映射到相应的Worker,从而实现反向代理的功能。

然而,需要注意的是,这只是一个简单的示例,适合于基本的反向代理需求。在实际应用中,还可能需要处理更多的情况,如处理各种HTTP方法、处理请求和响应的头部、处理错误等。此外,如果目标网址使用HTTPS,您可能需要在Worker中执行SSL/TLS终止,以确保安全连接。

如果您的需求更加复杂或有特定的安全需求,可能需要编写更复杂的代码来处理各种场景。Cloudflare的Workers文档提供了更详细的信息和示例,供您参考和扩展。

demo案例

  1. 登录到Cloudflare账户并打开Cloudflare Workers控制台。

  2. 创建一个新的Worker:点击"Create a Worker"(创建一个Worker)按钮。

  3. 输入Worker代码:在Worker编辑器中,输入以下代码:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const url = new URL(request.url)

  // 修改目标URL的主机名和路径
  url.hostname = 'www.Abc.com'
  url.pathname = '/dasd'

  // 构造新的请求
  const modifiedRequest = new Request(url.toString(), {
    method: request.method,
    headers: request.headers,
    body: request.body,
    redirect: 'manual' // 禁用自动重定向
  })

  // 发起新的请求并返回响应
  const response = await fetch(modifiedRequest)
  return response
}
  1. 部署Worker:点击"Save and Deploy"(保存并部署)按钮,将Worker部署到Cloudflare的全球边缘网络。

  2. 配置路由:在Cloudflare Workers控制台的左侧导航栏,选择"Routes"(路由)选项卡。点击"Add Route"(添加路由)按钮。

  3. 配置源路径和目标Worker:在路由配置中,输入源路径为https://fd.cy.com/*,并选择刚刚创建的Worker作为目标。

  4. 保存路由配置:点击"Save"(保存)按钮,使路由配置生效。


案例扩展

我们使用response.headers.get('Content-Type')获取原始响应的内容类型,并根据内容类型来选择相应的处理逻辑。

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const url = new URL(request.url)

  // 修改目标URL的主机名和路径
  url.hostname = 'www.Abc.com'
  url.pathname = url.pathname.substring(1) // 移除斜杠

  // 构造新的请求
  const modifiedRequest = new Request(url.toString(), {
    method: request.method,
    headers: request.headers,
    body: request.body,
    redirect: 'manual' // 禁用自动重定向
  })

  // 发起新的请求并返回响应
  const response = await fetch(modifiedRequest)

  // 检查原始请求的内容类型
  const contentType = response.headers.get('Content-Type')

  // 根据内容类型进行适当的处理
  if (contentType && contentType.startsWith('video/')) {
    // 如果是视频内容,可以直接返回响应
    return response
  } else {
    // 对于其他内容类型,可以根据需求进行处理
    const body = await response.text()
    return new Response(body, response)
  }
}

在上述代码中,我们使用contentType.startsWith('video/')来判断内容类型是否以video/开头,以确定是否为视频内容。如果是视频内容,直接返回原始响应;如果不是视频内容,则将原始响应的主体作为文本进行返回。

这样修改后的代码将根据请求的内容类型自动进行反向代理,只有当内容类型为视频时才返回原始响应,其他内容类型将被作为文本返回。

借道分销商免费更改自定义接入IP

重定向

在路由规则中含有多种规则,其中就包括重定向规则,需要注意的是worker里边有自己的路由功能,所以如果是对worker路由操作将更加简单
但是注意了,重定向路由支持多种匹配规则,但是正则表达式匹配是会员付费专项
image.png

可选方案很多,下面是一种参考:

image.png