使用 Cloudflare Worker 反代实现镜像站及路径屏蔽
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>思路
- 使用一个 Cloudflare Worker 反代图片,可以利用成熟的
uniproxy项目。 - 使用另一个 Cloudflare Worker 反代 HTML 内容,并对 HTML 进行替换。
项目
- GitHub 仓库:crazypeace/cf-worker-proxy-blogspot
部署方法
假设要反代的域名是 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.htmlvalue=block
绑定 KV
bloghtmlWorker 绑定 KVname=KV_BLOCKLISTvalue=bloghtml_blocklist
根据关键字屏蔽路径
如果觉得逐条添加屏蔽路径太麻烦,可以根据路径中的关键字进行屏蔽。修改 bloghtml Worker 的代码,在 BLOCK_KEYWORDS 数组中添加你想屏蔽的路径关键字。
通过以上步骤,你可以使用 Cloudflare Worker 反代实现一个镜像站,并根据需求进行路径屏蔽。
评论已关闭