Cloudflare Worker 反代实现镜像站是一个强大的技术,它允许用户通过 Cloudflare Worker 来反向代理另一个网站的内容,并可以对其进行定制化处理。以下是如何使用 Cloudflare Worker 反代实现一个镜像站,并对其进行路径屏蔽的详细步骤和说明。

效果

在反代之前,访问原始网站(例如 https://zelikk.blogspot.com/1.html)会得到如下内容:

<html>
  <body>
    <a href="https://zelikk.blogspot.com/2.html">Page2</a>
    <img src="https://blogger.googleusercontent.com/3.jpg">
  </body>
</html>

在反代之后,访问镜像站(例如 https://one.eu.org/1.html)会得到如下内容:

<html>
  <body>
    <a href="https://one.eu.org/2.html">Page2</a>
    <img src="https://img.one.eu.org/https://blogger.googleusercontent.com/3.jpg">
  </body>
</html>

思路

  1. 使用一个 Cloudflare Worker 反代图片,可以利用成熟的 uniproxy 项目。
  2. 使用另一个 Cloudflare Worker 反代 HTML 内容,并对 HTML 进行替换。

项目

部署方法

假设要反代的域名是 zelikk.blogspot.com,镜像站的主域名是 one.eu.org,并且已经添加到 Cloudflare。

域名设置

  • one.eu.org 设置自动 TLS。

第一个 Worker

  • 名称:blogimg
  • 自定义域名:img.one.eu.org
  • 代码:使用成熟的 uniproxy 项目。

第二个 Worker

  • 名称:bloghtml
  • 自定义域名:one.eu.org
  • 代码:使用本项目的 worker.js,并在代码开头设置一些参数。

部署完成

部署完成后,可以通过浏览器访问镜像站 https://one.eu.org

屏蔽部分路径

如果你不想在镜像站展示某些原网站的页面,可以按照以下步骤操作:

创建 KV

  • 名称:bloghtml_blocklist
  • 添加条目:

    • key = 你不想显示的路径,如 /2023/06/racknerd-xray-reality.html
    • value = block

绑定 KV

  • bloghtml Worker 绑定 KV

    • name = KV_BLOCKLIST
    • value = bloghtml_blocklist

根据关键字屏蔽路径

如果觉得逐条添加屏蔽路径太麻烦,可以根据路径中的关键字进行屏蔽。修改 bloghtml Worker 的代码,在 BLOCK_KEYWORDS 数组中添加你想屏蔽的路径关键字。

通过以上步骤,你可以使用 Cloudflare Worker 反代实现一个镜像站,并根据需求进行路径屏蔽。

标签: none

评论已关闭