{"repo":"livehl/aimirror","free":true,"listed":false,"github":"https://github.com/livehl/aimirror","clone":"git clone https://github.com/livehl/aimirror.git","description":"🚀 200倍速！AI时代的下载神器 | Docker/PyPI/HuggingFace/CRAN 全加速 | 并行分片+智能缓存，让下载飞起来","language":"Python","stars":212,"topics":["cache-proxy","docker-registry","download-accelerator","fastapi","huggingface","parallel-download","pypi-mirror","python","ai-tools","cuda"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"🚀 aimirror AI 时代的下载镜像加速器 —— 被慢速网络逼疯的工程师的自救工具 一个服务 = PyPI + Docker Hub + CRAN + HuggingFace 全加速，还能任意扩展更多源 💡 项目背景 作为一名 AI 工程师，每天的工作离不开： - pip install torch —— 几百 MB 的 wheel 包下载到地老天荒 - docker pull nvidia/cuda —— 几个 GB 的镜像层反复下载 - huggingface-cli download —— 模型文件从 HuggingFace 蜗牛般爬过来 公司内网有代理，但单线程下载大文件依然慢得让人崩溃。重复下载相同的包？不存在的缓存。忍无可忍，于是写了这个工具。 aimirror = 智能路由 + 并行分片下载 + 本地缓存，让下载速度飞起来。 ✨ 功能特性 - ⚡ 并行下载 —— HTTP Range 分片，多线程并发，榨干带宽 - 💾 智能缓存 —— 基于文件 digest 去重，LRU 自动淘汰 - 🎯 动态路由 —— 小文件直接代理，大文件自动并行 - 🔗 多源支持 —— Docker Hub、PyPI、CRAN、HuggingFace 开箱即用 - 🔌 任意扩展 —— 只要是 HTTP 下载，配置一条规则即可几十倍加速 - 📝 内容改写 —— 自动改写 HTML/JSON 响应中的链接，无缝代理 - 🎛️ 特殊处理 —— 支持自定义 Handler 处理复杂场景（如 Docker Registry） - 🚦 并发控制 —— 全局下载并发限制，防止资源耗尽 - 🔄 路径重写 —— 灵活的路径替换规则，适配各种 API 差异 - 🔑 缓存优化 —— 支持原始 URL 作为缓存 key，解决临时签名问题 🔥 性能实测 PyPI 包安装加速对比 使用 uv pip install 安装 148 个依赖包（含 torch、transformers 等大包）： 模式 解析依赖 准备包 总耗时 加速比 ------ --------- -------- -------- -------- ❌ 仅代理 (900KB/s) 17m 04s 14m 20s 31 分钟 1x ✅ aimirror (170MB/s) 34.78s 45.81s 80 秒 23x 💡 实测环境 : 公司内网代理，带宽瓶颈明显。使用 aimirror 后从 900KB/s 飙升至 170MB/s， 提速近 200 倍 ！ 缓存效果 场景 耗时 速度 说明 ------ ------ ------ ------ 首次下载 80s 170MB/s 并行下载 + 写入缓存 缓存命中 🔌 扩展能力 : 只要是 HTTP 下载，在 config.yaml 中添加一条规则即可接入加速，无需启动多个服务。 🏗️ 架构 🚀 快速开始 方式一：pip 安装（推荐） 方式二：源码安装 🔧 客户端配置 pip / uv Docker ⚠️ 重要提示 ：Docker 镜像层文件通常很大（GB 级别），建议将 chunk size 设置为 0 （自动模式）。 自动模式下， chunk size = 文件总大小 / concurrency ，这样可以： - 避免固定小分片导致分片数量过多 - 减少 Docker Registry token 因超时失效的概率 - 保持并发数不变，同时优化分片大小 配置示例见 config.yaml 中的 docker-blob 规则。 H","default_branch":null,"files":null,"tree":[],"storefront":"/r/livehl","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/livehl/aimirror/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}