当前位置: 首页 > web >正文

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

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

在这里插入图片描述

​一、HubProxy 能做什么?​

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

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

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

  2. ​GitHub 文件加速​
    解决 Releases/Raw 文件下载慢的问题:

    # 原始链接
    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 环境:

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

    防抖设计避免重复请求。

  4. ​其他实用功能​

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

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

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

​三、快速部署指南​

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

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

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

脚本自动完成:

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

​四、进阶配置示例​

配置文件路径:/opt/hubproxy/config.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 以保证限流生效:

example.com {reverse_proxy {to 127.0.0.1:5000header_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:开源多协议网络诊断利器

http://www.xdnf.cn/news/16695.html

相关文章:

  • Less Less基础
  • Docker学习相关视频笔记(二)
  • 负载均衡、算法/策略
  • ROUGE-WE:词向量化革新的文本生成评估框架
  • Java 9 新特性解析
  • 考古学家 - 华为OD统一考试(JavaScript 题解)
  • 算法第29天|动态规划dp2:不同路径、不同路径Ⅱ、整数拆分、不同的二叉搜索树
  • uipath数据写入excel的坑
  • Python 程序设计讲义(25):循环结构——嵌套循环
  • 《Spring Cloud Gateway 深度剖析:从核心原理到企业级实战》
  • WAIC 2025观察:昇腾助力AI融入多元化生活场景
  • 理解Transformer解码器
  • Github 连接救星,完全合规合法,无风险!
  • 操作系统-lecture2(操作系统结构)
  • 微服务 01
  • Objective-c 初阶——异常处理(try-catch)
  • Typecho handsome新增评论区QQ,抖音,b站等表情包
  • 用FunASR轻松实现音频转SRT字幕:完整脚本与解析
  • iOS仿写 —— 计算器
  • Python 程序设计讲义(28):字符串的用法——格式化字符串
  • [leetcode] 组合总和
  • 冒泡排序算法
  • Java中什么是类加载?类加载的过程?
  • bash变量名不能有连字符
  • 【Redis实现基础的分布式锁及Lua脚本说明】
  • 爬虫逆向之瑞数五案例:某某医学院(补环境,联调)
  • Makefile 快速入门指南
  • 嵌入式第十四课!!!指针在字符数组的应用与数组指针
  • JavaWeb 入门:CSS 基础与实战详解(Java 开发者视角)
  • DataParallel (DP) DistributedDataParallel (DDP)