新作品,一个通用的 Cloudflare Workers HTTP 反向代理

本文介绍我最近写的新作品:使用 Cloudflare Workers/Pages 搭建 HTTP 反向代理,代码已经全部开源在 GitHub,按照 README 里面的脚本搭建就可以了,非常简单。

GitHub:https://github.com/jonssonyan/cf-workers-proxy

支持任何 HTTP 请求代理,可用与镜像仓库国内加速。支持对请求进行 URL 过滤,User-Agent 过滤,IP 黑白名单,地区黑白名单,Nginx 伪装/302 重定向。

需要注意的是,建议自用,如果反代请求量太大,账号可能被官方风控,建议大家设置 IP 白名单,配合其他过滤条件。

Cloudflare 在全球都有节点,国内访问还是比较快的,以下是原理图

实测可以给 Docker 镜像仓库加速,其他镜像仓库同样如此操作即可,大家可以发挥自己的想象,应用于更多的场景。

起因是 Docker 镜像仓库被墙,找不到合适的替代,于是使用大善人的 Workers 实现 HTTP 反向代理,理论上支持代理任何被屏蔽的域名,只需要设置环境变量 PROXY_HOSTNAME 为被屏蔽的域名,最后通过你的 worker 自定义域名访问即可。

Cloudflare Workers/Pages 可以实现无服务器发布个人项目,Free 用户每日可以 10 万次请求,付费用户每月有 10 亿次请求,对于普通人来说,10 万次/天已经足够用了。

举个例子,GitHub 访问比较慢,我想代理 GitHub releases 文件的 URL,比如 https://github.com/jonssonyan/h-ui/releases/download/v0.0.5/h-ui-linux-amd64https://github.com/jonssonyan/h-ui/archive/refs/tags/v0.0.5.zip

环境变量可以设置为:

最终效果是只代理域名为 github.com,用户是 jonssonyan,该用户下所有仓库的 archive 和 releases 的 url(也可以通过正则来代理指定仓库的 url),只允许来自 curl 的请求,如果不满足条件则重定向到 https://github.com/jonssonyan/cf-workers-proxy

需要注意以下两点:

  1. 如果请求代理失败,可能是 CF 分配了一个被墙的 IP,这时候要做 IP 优选
  2. Free 账户,每日 10 万次请求,需要注意一下使用量
相关推荐
望安认证2 分钟前
CRA 与 CE、RED、EUCC、NIS2、GDPR、AI Act、Data Act、DORA 等欧盟法规的关系:从法案结构看数字产品出海合规
网络·欧盟·cra·网络弹性法案·cra认证
Hrain-AI32 分钟前
2026企业AI Agent本地化落地:6平台横评+搭建步骤+成本模板
服务器·网络·人工智能
便利店10241 小时前
企业远程办公如何打通内网?网络层隧道与封装直觉
运维·服务器·网络·vpn·隧道
00后程序员张2 小时前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp
砚凝霜2 小时前
软考网络工程师|第 6 章 网络安全基础、攻击、等保完整备考笔记
网络·笔记·web安全
运维行者_2 小时前
网络监控与ITSM集成:从告警到工单,实现运维自动化闭环
开发语言·网络·分布式·后端·架构·flask·php
数据知道3 小时前
SSRF 漏洞实战:内网探测、云元数据窃取一条龙
网络·安全·网络安全
我爱cope3 小时前
【计算机网络 | 物理层3:数字编码与调制:比特如何变成可传输的信号?】
网络·学习·计算机网络
潘志宏_ZHPAN3 小时前
智能体互联网:原理、架构与开发实践—项目6:智能体安全与生命周期管理
网络·安全
147API3 小时前
AI 图片编辑接口报 400 怎么排查?先读错误体,再查参数、图片与 mask
网络·人工智能