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

【开源项目】轻量加速利器 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.lryc.cn/news/603491.html

相关文章:

  • 系统改造:一次系统领域拆分的实战复盘
  • 多态示例。
  • kotlin使用mybatis plus lambdaQuery报错
  • XtestRunner一个比较好用好看的生成测试报告的工具
  • 系统间复制文档
  • 论文阅读--射频电源在半导体领域的应用
  • React--》实现 PDF 文件的预览操作
  • 配置daemon.json使得 Docker 容器能够使用服务器GPU【验证成功】
  • VitePress学习笔记
  • 彻底清理ArcGIS 10.2残留的步骤
  • Windows使用Powershell自动安装SqlServer2025服务器与SSMS管理工具
  • Vue.js 完全指南:从入门到精通
  • getgff.py脚本-python006
  • openbmc 阈值sensor分析
  • 计算机视觉(CV方向)算法基础
  • SketchUp纹理贴图插件Architextures安装使用图文教程
  • Linux sshfs 安全挂载远程文件系统 命令详解
  • Angular面试题目和答案大全
  • AR辅助前端设计:虚实融合场景下的设备维修指引界面开发实践
  • Mac m系列芯片安装node14版本使用nvm + Rosetta 2
  • YotoR模型:Transformer与YOLO新结合,打造“又快又准”的目标检测模型
  • VUE -- 基础知识讲解(一)
  • 【MySQL】数据库的简单介绍
  • Node.js 内置模块
  • 安卓模拟器 adb Frida hook 抓包
  • uniapp如何封装uni.request 全局使用
  • 自适应双门限的能量检测算法
  • 2025年中科院1区SCI-冬虫夏草优化算法Caterpillar Fungus Optimizer-附Matlab免费代码
  • 09 RK3568 Debian11 ES8388 模拟音频输出
  • 电磁兼容(EMC):整改案例(十三)屏蔽外壳开孔解决433MHz无线通信问题