HubProxy 快速上手:5分钟自建 Docker 镜像与 GitHub 文件加速服务的零基础完整指南
【免费下载链接】hub-proxy多功能加速服务,支持Docker 镜像加速、GitHub 加速、下载离线镜像等功能。轻量级,不占用存储空间。项目地址: https://gitcode.com/gh_mirrors/hu/hub-proxy
HubProxy 是一个用 Go 编写的轻量级加速服务,把 Docker 镜像加速、GitHub 文件加速、离线镜像打包、镜像搜索集成在一个二进制里。你只需一条docker run命令就能在 5 分钟内部署到自己的服务器,之后所有 Docker 拉取和 GitHub 下载都走这个入口,不用再依赖不稳定的第三方公共加速。
你什么时候需要一套加速服务
先对号入座,只要下面三条中占一条,这篇就值得看完:
- 拉取龟速:
docker pull转半天或超时,重试全凭运气 - 下载失败:GitHub Release 和安装脚本下到一半断掉
- 服务不稳:公共加速地址时好时坏,坏了不知道什么时候修
HubProxy 的思路很直接:加速服务自己跑,入口掌握在自己手里。它是单个 Go 二进制,零外部依赖,程序本身不存大文件、不占磁盘,一台低配服务器就能带起来。
用 Docker 一条命令部署,3 分钟跑起来(推荐)
方式一:Docker 部署(推荐)
服务器上有 Docker 的话,就这一条命令:
docker run -d \ --name hubproxy \ -p 5000:5000 \ --restart always \ ghcr.io/sky22333/hubproxy这条命令在后台启动容器,并把宿主机 5000 端口映射出去;--restart always让它开机自启、崩溃自动拉起。
方式二:脚本安装
想原生生装到系统里,可以克隆项目后运行官方安装脚本,它会自动识别架构和 apt / dnf / apk 等包管理器,下载对应安装包并装好:
git clone https://gitcode.com/gh_mirrors/hu/hub-proxy.git cd hub-proxy sh install.sh装完服务自动启动,配置文件在/etc/hubproxy/config.toml,二进制在/usr/bin/hubproxy。
验证服务是否健康
curl http://127.0.0.1:5000/ready # 健康检查,返回 "ready": true 即成功浏览器打开http://你的服务器IP:5000也能看到内置 Web 界面,贴 GitHub 链接就能一键转成加速地址,不用再手拼 URL。
让 Docker 镜像拉取变快的三种姿势
- 单镜像:原命令前加你的域名即可
# 原命令 docker pull nginx # 加速后 docker pull yourdomain.com/nginx- 多仓库:默认兼容 Docker Hub、ghcr.io、gcr.io、quay.io、registry.k8s.io
- 第三方仓库:路径里带上原仓库域名,如
yourdomain.com/ghcr.io/owner/app
全局加速:也可以把 HubProxy 写进 Docker 的镜像源,以后原样写命令就行。编辑/etc/docker/daemon.json:
{ "registry-mirrors": ["https://yourdomain.com"] }保存后执行sudo systemctl restart docker,所有官方镜像拉取都会自动走你的加速服务。官方镜像会自动补library/前缀,没写 tag 默认取latest,等价于yourdomain.com/library/nginx:latest。
GitHub 文件加速:原链接前面拼个域名就行
对比一下你就明白规则了——在完整原始 URL前面加上你的域名:
# 原链接 wget https://github.com/owner/repo/releases/download/v1.0.0/app.tar.gz # 加速链接 wget "https://yourdomain.com/https://github.com/owner/repo/releases/download/v1.0.0/app.tar.gz"Release 文件、raw 文件、git clone、api.github.com 都支持,大文件还能用wget -c断点续传,单文件默认上限 2GB。
嫌每次改链接麻烦?一条命令配好 Git 全局改写,之后 clone 原地址自动走加速:
git config --global url."https://yourdomain.com/https://github.com/".insteadOf "https://github.com/"加--unset即可取消。额外彩蛋:通过 HubProxy 下载.sh/.ps1安装脚本时,脚本内部的 GitHub 链接会被自动改写走加速,装依赖不用你手动改。
日常管理:常用命令与关键配置
systemd 系统(Debian / Ubuntu / RHEL 等)日常就这几条:
sudo systemctl restart hubproxy # 改完配置后重启 sudo journalctl -u hubproxy -f # 实时看日志 sudo nano /etc/hubproxy/config.toml # 编辑配置Alpine 用sudo rc-service hubproxy restart重启,日志在/var/log/hubproxy.log。
配置文件里最常调的几个开关:
- 限流:默认每 IP 每 3 小时 500 次请求,
[rateLimit]可调 - IP 名单:
[security]支持白名单豁免和黑名单封禁 - 仓库白名单:
[access]用通配符限定可代理的仓库与镜像 - Token 缓存:
[tokenCache]默认开启,拉取性能明显更好
进阶:反代与公网开放建议
服务要给公网或团队用时,两条建议能少踩很多坑:
- 上 HTTPS:用 Caddy / Nginx 反代暴露,别长期裸奔
http://IP:5000 - 收口端口:反代要覆盖写
X-Forwarded-For,5000 端口只对反代可达,限流和黑名单才认得出真实 IP
从部署到日常用法到这里就齐了。现在就去把那两条命令跑起来,5 分钟后你自己的加速服务就能用;更多配置细节和传输特性,看 项目文档。
【免费下载链接】hub-proxy多功能加速服务,支持Docker 镜像加速、GitHub 加速、下载离线镜像等功能。轻量级,不占用存储空间。项目地址: https://gitcode.com/gh_mirrors/hu/hub-proxy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考