共计 789 个字符,预计需要花费 2 分钟才能阅读完成。
GitHub:https://github.com/jonssonyan/cf-workers-proxy
可用于代理(加速)网页、接口、Docker/K8s 镜像仓库等任何 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-amd64
和 https://github.com/jonssonyan/h-ui/archive/refs/tags/v0.0.5.zip
环境变量可以设置为:
- PROXY_HOSTNAME:
github.com
- PATHNAME_REGEX:
^/jonssonyan/.+/(archive|releases)
- UA_REGEX:
(curl)
- URL302:
https://jonssonyan.com
最终效果是只代理域名为 github.com
,用户是 jonssonyan,该用户下所有仓库的 archive 和 releases 的 url(也可以通过正则来代理指定仓库的 url),只允许来自 curl 的请求,如果不满足条件则重定向到 https://jonssonyan.com
注意:
- 如果请求代理失败,可能是 CF 分配了一个被墙的 IP,这时候要做 IP 优选
- Free 账户,每日 10 万次请求,如果代理网页请求会比较多,需要注意一下使用量
正文完