一个通用的 Cloudflare Workers HTTP 反向代理,可用于代理(加速)任何 HTTP 请求,实测可以代理 GitHub 网页和 Docker 镜像仓库加速

12次阅读

共计 789 个字符,预计需要花费 2 分钟才能阅读完成。

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

可用于代理(加速)网页、接口、Docker/K8s 镜像仓库等任何 HTTP 请求,实测可以代理 GitHub 网页和 Docker 镜像仓库加速

一个通用的 Cloudflare Workers HTTP 反向代理,可用于代理(加速)任何 HTTP 请求,实测可以代理 GitHub 网页和 Docker 镜像仓库加速

起因是 Docker 镜像仓库被墙,找不到合适的替代,于是使用大善人的 Workers 实现 HTTP 反向代理,理论支持任何 HTTP 请求,最常见的应用就是代理各大镜像仓库。

写的是一个通用版,针对单个域名的代理,功能如下:

  • 支持设置代理地址
  • 支持设置代理地址协议
  • 支持设置代理地址路径匹配
  • 支持支持设置 User-Agent 白名单
  • 支持设置 302 跳转地址

举个例子,我只想代理 GitHub releases 文件,比如 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://jonssonyan.com

注意:

  • 如果请求代理失败,可能是 CF 分配了一个被墙的 IP,这时候要做 IP 优选
  • Free 账户,每日 10 万次请求,如果代理网页请求会比较多,需要注意一下使用量
正文完
 0