一个通用的 Cloudflare Workers HTTP 反向代理,可用于代理(加速)任何 HTT

文章正文
发布时间:2024-09-03 07:28

jonssonyan

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

 

  jonssonyan · 37 天前 · 2067 次点击

这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

http_proxy

起因是 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

环境变量可以设置为:

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

注意:

如果请求代理失败,可能是 CF 分配了一个被墙的 IP ,这时候要做 IP 优选

Free 账户,每日 10 万次请求,如果代理网页请求会比较多,需要注意一下使用量

第 1 条附言  ·  36 天前

建议自用,设置 PATHNAME_REGEX 或 UA_REGEX ,并设置自定义域名,禁止代理全站,例如:GitHub ,否则导致账号被官方风控概不负责

第 2 条附言  ·  35 天前

发布了第一个正式版,支持更细致的请求过滤
https://github.com/jonssonyan/cf-workers-proxy/releases/tag/v0.0.1

1. 支持自定义代理地址 hostname
2. 支持自定义代理地址协议
3. 支持自定义代理地址路径正则表达式
4. 支持自定义 User-Agent 白名单正则表达式
5. 支持自定义 User-Agent 黑名单正则表达式
6. 支持自定义 IP 白名单正则表达式
7. 支持自定义 IP 黑名单正则表达式
8. 支持自定义地区白名单正则表达式
9. 支持自定义地区黑名单正则表达式
10. 支持自定义 302 跳转地址
11. 支持是否开启调试
12. 支持 Nginx 伪装页面

首页
评论
分享
Top