whatisgithub

What is mirrorproxy?

inbjo/mirrorproxy — explained in plain English

Analysis updated 2026-05-18

197RustAudience · ops devopsComplexity · 3/5Setup · moderate

In one sentence

A self-hosted Rust proxy that mirrors GitHub, Docker, npm, PyPI, Cargo, and dozens of other package sources for faster, more reliable access.

Mindmap

mindmap
  root((MirrorProxy))
    What it does
      Self hosted mirror proxy
      Adapter based routing
      Caches and speeds downloads
    Tech stack
      Rust server
      React web console
      SQLite storage
    Adapters
      GitHub
      Docker OCI
      npm PyPI Cargo
      OS repositories
    Use cases
      Faster package installs
      Restricted network access
      Usage quota tracking
    Deployment
      Docker Compose
      Standalone binary

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Speed up npm, pip, or cargo installs by routing through a self-hosted mirror.

USE CASE 2

Give a team behind a restrictive network reliable access to GitHub and Docker Hub.

USE CASE 3

Track and cap monthly bandwidth usage for package downloads across a team.

USE CASE 4

Reduce Docker Hub rate limiting by routing base image pulls through your own proxy.

What is it built with?

RustReactViteTailwindSQLiteDocker

How does it compare?

inbjo/mirrorproxymre/prettyprintzaydmulani09/mnemo
Stars197200193
LanguageRustRustRust
Last pushed2023-03-20
MaintenanceDormant
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Runs as a Docker container or compiled binary, needs a writable data volume for its SQLite database and cache.

License terms are not stated in the provided README excerpt.

So what is it?

MirrorProxy is a self-hosted proxy server, written in Rust, that speeds up downloading packages and code from developer services that can be slow or unreliable to reach directly, especially from regions with restricted or throttled internet access. Instead of connecting straight to GitHub, Docker Hub, npm, PyPI, and dozens of other services, you point your tools at your own MirrorProxy instance, and it fetches and forwards the requests on your behalf. The project ships with an adapter for each supported service, and the list is large: GitHub repositories, releases, and raw files, Docker and other container registries, npm and yarn packages, Python's PyPI, Rust's Cargo, Go modules, Maven, RubyGems, NuGet, several Linux and BSD operating system repositories, and many smaller language and tool ecosystems such as Julia, LuaRocks, Homebrew, and Nix. Each adapter shares the same underlying routing, caching, security, and usage tracking, so adding support for a new service reuses existing infrastructure rather than building it from scratch. Running the server gives you a web based admin console for managing settings, and it keeps track of traffic, enforces monthly usage quotas, applies rate limiting, and stores a bounded cache on disk, all backed by a local SQLite database. There is also a separate desktop client for Windows, macOS, and Linux that can edit which sources are used and rewrite GitHub Git URLs to route through the proxy automatically. Deployment is meant to be straightforward: run the compiled binary directly, or use the provided Docker image and docker-compose file. On first startup with no admin password set, the server generates one automatically and prints it to the log so you can log in and configure things immediately. Configuration, such as the public URL, trusted reverse proxy addresses, and enabled services, can be set through environment variables or a TOML configuration file. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Help me deploy MirrorProxy with Docker Compose and set a public base URL.
Prompt 2
Show me how to enable the npm and PyPI proxy adapters in MirrorProxy.
Prompt 3
Explain how to configure trusted reverse proxy addresses for MirrorProxy.
Prompt 4
Walk me through setting a fixed admin password for MirrorProxy on first startup.

Frequently asked questions

What is mirrorproxy?

A self-hosted Rust proxy that mirrors GitHub, Docker, npm, PyPI, Cargo, and dozens of other package sources for faster, more reliable access.

What language is mirrorproxy written in?

Mainly Rust. The stack also includes Rust, React, Vite.

What license does mirrorproxy use?

License terms are not stated in the provided README excerpt.

How hard is mirrorproxy to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is mirrorproxy for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.