【开源项目】轻量加速利器 HubProxy 自建 Docker、GitHub 下载加速服务

​引言​

如果你经常被 Docker 镜像拉取、GitHub 文件下载的龟速折磨,又不想依赖第三方加速服务(担心稳定性或隐私),今天分享的 ​​HubProxy​​ 可能正是你需要的。这个开源工具用一行命令就能部署,以极低资源消耗(内存 18MB)提供多场景加速,实测效果显著。下面从功能到部署,带你快速上手。

​一、HubProxy 能做什么?​

  1. ​Docker 镜像加速​

    支持 ​​Docker Hub​ ​、​​GitHub Container Registry (GHCR)​ ​、​​Quay.io​​ 等主流仓库。只需在原始镜像名前拼接你的代理域名,例如:

    bash 复制代码
    # 加速 Docker Hub 官方镜像
    docker pull yourdomain.com/nginx
    
    # 加速 GHCR 镜像
    docker pull yourdomain.com/ghcr.io/sky22333/hubproxy

    原理:通过流式传输优化拉取流程,无需缓存镜像,节省磁盘空间。

  2. ​GitHub 文件加速​

    解决 Releases/Raw 文件下载慢的问题:

    bash 复制代码
    # 原始链接
    https://github.com/user/repo/releases/download/v1.0.0/file.tar.gz
    
    # 加速链接(域名后直接拼接原链接)
    https://yourdomain.com/https://github.com/.../file.tar.gz

    支持嵌套脚本加速(如 curl | bash 中的 GitHub 链接)。

  3. ​离线镜像包下载​

    点击即可流式下载镜像的离线包(.tar),适用于内网或无 Docker 环境:

    bash 复制代码
    # 通过代理域名 + 镜像名生成离线包链接
    https://yourdomain.com/v2/library/nginx/tags/latest?format=tar

    防抖设计避免重复请求。

  4. ​其他实用功能​

    • ​Hugging Face 模型加速​:AI 开发者无需额外配置,直接代理下载链接
    • ​镜像搜索​:直接网页搜索 Docker 官方镜像信息
    • ​安全审计​:IP 限流、黑白名单、仓库访问日志(防止滥用)

​二、为什么选择自建?​

  • ​隐私可控​:所有流量经过自己的服务器,避免第三方记录
  • ​灵活定制​:支持自定义限流规则、上游代理(如走公司内网代理)
  • ​资源占用极低​:单二进制文件(12MB),内存占用稳定在 18MB 左右
  • ​无厂商绑定​:避免公共加速服务突然停用或限速

​三、快速部署指南​

​方案 1:Docker 部署(推荐)​
bash 复制代码
docker run -d \
  --name hubproxy \
  -p 5000:5000 \          # 暴露 5000 端口
  --restart always \
  ghcr.io/sky22333/hubproxy

​验证​ ​:访问 http://服务器IP:5000 出现加速服务页面即成功。

​方案 2:一键脚本安装(物理机/虚拟机)​
bash 复制代码
curl -fsSL https://raw.githubusercontent.com/sky22333/hubproxy/main/install-service.sh | sudo bash

脚本自动完成:

  • 检测系统架构(AMD64/ARM64)
  • 下载最新二进制文件
  • 配置 systemd 服务(开机自启)
  • 日志目录 /var/log/hubproxy

​四、进阶配置示例​

配置文件路径:/opt/hubproxy/config.toml(安装后自动生成)

toml 复制代码
# 限制每个 IP 每小时 1000 次请求
[ratelimit]  
requests_per_hour = 1000  

# 配置上游代理(如服务器本身需科学上网)
[proxy]  
upstream = "socks5://192.168.1.100:1080"  

# 设置 IP 白名单(绕过限流)
[security]  
whitelist = ["192.168.1.0/24"]  

# 禁止访问某 Docker 镜像(支持通配符)
[registries_audit]  
docker_blacklist = ["library/redis*"]

​反向代理配置(Caddy 示例)​ ​:

若用 Nginx/Caddy 转发流量,需传递真实 IP 以保证限流生效:

Caddyfile 复制代码
example.com {
    reverse_proxy {
        to 127.0.0.1:5000
        header_up X-Real-IP {remote}
        header_up X-Forwarded-For {remote}
        header_up X-Forwarded-Proto {scheme}
    }
}

五、实测效果与避坑

  • 速度对比 :北京测试节点拉取 nginx:latest,未加速平均 200KB/s,加速后提升至 8MB/s(依赖服务器带宽)
  • 稳定性建议
    • 部署服务器优先选 海外节点(如香港、新加坡)
    • 避免代理大文件下载(易触发 GitHub 限流)
    • 定期更新(项目迭代较快,关注 GitHub 发布页)

总结

HubProxy 以简洁的设计解决了开发者高频痛点:轻量(18MB 内存)、开箱即用、功能覆盖全面。相比搭建 Nexus 或 Artifactory 等重型仓库,它更适合个人或小团队快速构建专属加速服务。如果你正被网络问题拖慢效率,花 5 分钟部署它,可能带来意想不到的顺畅体验。

项目地址https://github.com/sky22333/hubproxy

往期回顾:

🔥【开源项目】初中生开源神作!BiliTools 能下8K视频、高质量音频,支持AI总结的全能工具

🔥【开源项目】拆解机器学习全流程:一份GitHub手册的工程实践指南

🔥【开源项目】网络诊断告别命令行!NetSonar:开源多协议网络诊断利器

相关推荐
一人一萧十只猫�44 分钟前
Kubernetes 全面解析:从基础设施变革到核心架构详解
云原生·容器·kubernetes
BAOYUCompany3 小时前
暴雨服务器更懂人工智能+
运维·服务器·人工智能
SpiderPex3 小时前
GitHub下载项目完整配置SSH步骤详解
运维·ssh·github
帽儿山的枪手4 小时前
docker-image 工具展示更详细镜像层内容
docker
睡觉的时候不会困4 小时前
基于三台主机搭建 Web 服务环境:Nginx、NFS 与 DNS 配置全流程
运维·nginx
草履虫建模4 小时前
RuoYi-Vue 项目 Docker 容器化部署 + DockerHub 上传全流程
java·前端·javascript·vue.js·spring boot·docker·dockerhub
@半良人5 小时前
Jenkins流水线部署+webhook2.0
运维·jenkins
瀚高PG实验室6 小时前
CentOS 8 安装HGDB V4.5 psql命令执行报错
linux·运维·centos·瀚高数据库
小醉你真好6 小时前
6、CentOS 9 安装 Docker
linux·docker·centos
chaofan9806 小时前
AI驱动的浏览器自动化革命:Claude Code + BrowserCat MCP深度实践指南
运维·自动化·claude code