MirrorProxy:自建镜像加速网关
自建的一体化镜像加速网关,把 GitHub、容器、语言包和系统源统一代理到自己的域名下。
- 浏览
- 2
- 访问
- 0
- 下载
- 0
- 版本
- v1.7.1
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
MirrorProxy 是一个自建的镜像加速网关,用 Rust 编写,采用适配器式代理核心。它把 GitHub、容器镜像仓库、各语言包管理器、开发者工具分发源以及操作系统软件源统一代理到自己控制的域名后面:一个项目、一个控制台、一个稳定入口。
它按需抓取并缓存内容,不需要完整复制每个仓库;当某个上游不可用时,可以自动切换到另一个上游。个人不必再四处寻找和比对公共镜像,团队还能获得统一的源配置、访问控制、配额、健康监控和流量报表。
在线演示:https://sina.dev
主要功能
- 镜像加速:按需代理、有界磁盘缓存、HTTP 条件重新验证,避免完整镜像的存储开销。
- 上游容错:同一源可配置多个上游端点,支持顺序或自适应选择、自动故障转移、熔断恢复和定时健康检查。
- 统一的源管理:在 Web 控制台启用和配置内置源,或添加自定义静态 OS 仓库;用 Windows、macOS、Linux 客户端查看、切换和回滚本地源设置。
- 约 30 种代理适配器,覆盖:
- 代码与发布资源:GitHub、GitHub Raw、只读 Git smart HTTP 克隆
- 容器与 OCI:Docker Hub、GHCR、GitLab Registry、Quay、GCR、MCR、NVCR 等
- JavaScript / Node.js:npm、NVM、通过 npm 协议使用的 Bun
- Python:PyPI / pip、Poetry、uv、PDM、Anaconda
- AI 模型与数据集:Hugging Face 公共 HTTP 下载
- Rust / Go:crates.io / Cargo、Rustup、Go Modules
- JVM / .NET:Maven Central、Clojars、NuGet
- 其他语言生态:Composer、RubyGems、CPAN、CRAN、Hackage、Julia、LuaRocks、CocoaPods、Pub、OPAM
- 开发者工具:Homebrew、WinGet、TeX Live、ELPA、Nix、GNU Guix、Flatpak
- 操作系统源:Debian、Ubuntu、Fedora、Arch、Alpine、openSUSE、Gentoo、FreeBSD、Rocky、AlmaLinux、Deepin 等
- 专项系统:OpenWrt、Termux、MSYS2、ROS 及管理员自定义静态仓库
- AI Agent 集成:为 Codex、Claude Code、Cursor、Gemini CLI、OpenCode 配置实例绑定的 Skill 和原生 MCP,可导出 VS Code/Copilot、TRAE、WorkBuddy、dsh 的激活文件;MCP 工具可实时发现镜像能力、生成配置命令。
- 受控自定义下载:抓取源目录之外的公共 HTTPS 文件,默认关闭,支持按用户/组授权、只读下载令牌、配额、域名统计与拦截。
- 用户与团队运营:邀请、邮件登录、OAuth/OIDC、计费组/团队、月度配额、按团队限制可用源。
- 安全访问:限流、IP/CIDR 黑白名单、私有用户子域、私有上游凭据、可信代理、管理员角色、Passkey、会话吊销和审计日志。
- 流量与健康洞察:使用趋势、离线 GeoIP 地区报表、源健康状态、Prometheus 指标、结构化日志、可选 OTLP 追踪,以及配额和上游故障告警。
- 灵活网络访问:共享出站 HTTP/SOCKS5 代理、企业 CA 证书、私有 npm/OCI 等上游凭据。
- 简单部署:Docker Compose、Linux 发布包、systemd 安装,可复用现有 Caddy/Nginx/Traefik,或通过 ACME 自动签发 HTTPS 证书。
安装与使用
部署服务端(Docker Compose)
下载仓库中的 compose.yaml,设置管理员密码后启动。命名卷会在容器升级时保留数据库、缓存和 GeoIP 数据。
MIRRORPROXY_ADMIN_PASSWORD='choose-a-strong-password' docker compose up -d
本地运行时,控制台地址为 http://localhost:3000/admin。
部署服务端(发布包)
从 最新发布 下载对应架构的服务端压缩包,校验 SHA-256 后解压,复制并修改配置再启动:
cp config.example.toml config.toml
./mirrorproxy-server --config ./config.toml serve
安装客户端
brew install inbjo/tap/mirrorproxy
winget install --id Inbjo.MirrorProxy --exact
也提供 macOS/Linux 与 Windows PowerShell 的一键安装脚本(会校验 SHA-256)。安装后运行 mirrorproxy --version 确认可用。Debian/Ubuntu 用户可添加官方签名 APT 源后 sudo apt install mirrorproxy。
配置 AI Agent
在实例页面打开 Set up your AI agents,复制对应平台的命令,或客户端已安装时直接执行:
mirrorproxy setup --base-url https://mirror.example.com
原生 stdio 入口为 mirrorproxy mcp --base-url https://mirror.example.com。若只想安装 Skill:npx skills add inbjo/MirrorProxy --skill mirrorproxy(不会安装原生客户端,也不配置 MCP 连接)。
受控自定义下载
管理员开启并授权后,用户在自己的账户中创建只读下载令牌,然后:
mirrorproxy download --base-url https://mirror.example.com fetch https://example.org/source.tar.xz --output source.tar.xz
注意事项
- 建议部署在上游访问稳定的服务器上,让工作站和 CI 指向自己的域名,以复用缓存、减少跨境重复下载。
- 缓存按需生成,不是全量镜像;首次访问某资源仍需回源。
- Hugging Face 走公共 HTTP 下载时服务端不缓存,需要设置
HF_HUB_DISABLE_XET=1。 - 自定义下载通道默认关闭,需管理员显式启用并授权。
- Agent 配置流程要求客户端 v1.7.0 或更新;已发布的 v1.7.0 客户端仅提供 Codex、Claude Code 和 Cursor,其余适配器需要更新版本或自行构建。
- 更多部署、客户端分发和系统源迁移说明见 Wiki。
本作品整理自 GitHub 开源项目 inbjo/MirrorProxy,原作者 @inbjo,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.7.1当前版本
打磨 v1.7.0 重构后的门户与管理控制台:修复视觉细节与可用性问题,统一邀请记录和镜像健康表格样式,优化账户页面与下载令牌表格,改进下载授权说明与文字对比度,登录不再预填管理员名,并提升下载令牌设置和 Agent 安装兼容性。
评论