Mirrors
Overview
This mirror service accelerates downloads for widely used system packages, language ecosystem dependencies, and container repositories.
Use https://mirrors.iproute.org as the service entry point.
https://mirrors.iproute.org is a placeholder, not a real address. Replace it with your actual deployed mirror domain before use.
To request mirrored content, prepend one of the mirror paths below to https://mirrors.iproute.org and keep the original upstream path unchanged.
In other words, only the host and mirror prefix change. The remaining path structure should stay exactly the same as the source URL.
System
| repo | mirror | upstream |
|---|---|---|
ubuntu |
/system/ubuntu |
http://archive.ubuntu.com/ubuntu |
ubuntu/security |
/system/ubuntu/security |
http://security.ubuntu.com/ubuntu |
debian |
/system/debian |
http://deb.debian.org/debian |
debian-debug |
/system/debian-debug |
http://deb.debian.org/debian-debug |
debian-ports |
/system/debian-ports |
http://deb.debian.org/debian-ports |
debian-security |
/system/debian-security |
http://deb.debian.org/debian-security |
debian-security-debug |
/system/debian-security-debug |
http://deb.debian.org/debian-security-debug |
openwrt |
/system/openwrt |
https://archive.openwrt.org |
freebsd |
/system/freebsd |
https://download.freebsd.org |
Language
| repo | mirror | upstream |
|---|---|---|
rust |
/language/rust |
https://static.rust-lang.org |
npm |
/language/npm |
https://registry.npmjs.org |
Docker CE
| repo | mirror | upstream |
|---|---|---|
docker-ce |
/container/docker-ce |
https://download.docker.com |
Download
The download module supports two proxy styles.
Proxy Download By URL
Use this endpoint to proxy-download any supported URL directly:
https://mirrors.iproute.org/proxy_passIt supports both GET and POST.
Encode src
Use this endpoint to encode an original URL into the src query parameter format used by GET requests:
https://mirrors.iproute.org/proxy_pass/encode-srcIt only supports POST. Send the original file URL in the JSON body:
{
"src": "https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.4.tar.gz"
}The response is plain text:
aHR0cHM6Ly9naXRodWIuY29tL252bS1zaC9udm0vYXJjaGl2ZS9yZWZzL3RhZ3MvdjAuNDAuNC50YXIuZ3o%3Dcurl:
curl -X POST "https://mirrors.iproute.org/proxy_pass/encode-src" \
-H "Content-Type: application/json" \
-d '{"src":"https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.4.tar.gz"}'GET
Pass the original file URL in the src query parameter.
src must be encoded as:
urlEncode(base64(srcUrl))Example source URL:
https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.4.tar.gzExample encoded src:
aHR0cHM6Ly9naXRodWIuY29tL252bS1zaC9udm0vYXJjaGl2ZS9yZWZzL3RhZ3MvdjAuNDAuNC50YXIuZ3o%3DExample request:
https://mirrors.iproute.org/proxy_pass?src=aHR0cHM6Ly9naXRodWIuY29tL252bS1zaC9udm0vYXJjaGl2ZS9yZWZzL3RhZ3MvdjAuNDAuNC50YXIuZ3o%3Dcurl:
curl -L -o nvm-v0.40.4.tar.gz "https://mirrors.iproute.org/proxy_pass?src=aHR0cHM6Ly9naXRodWIuY29tL252bS1zaC9udm0vYXJjaGl2ZS9yZWZzL3RhZ3MvdjAuNDAuNC50YXIuZ3o%3D"POST
Pass the original file URL in the JSON body. The src value does not need base64 or URL encoding.
Example body:
{
"src": "https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.4.tar.gz"
}curl:
curl -L -X POST "https://mirrors.iproute.org/proxy_pass" \
-H "Content-Type: application/json" \
-o nvm-v0.40.4.tar.gz \
-d '{"src":"https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.4.tar.gz"}'GitHub Archive Download
Use this endpoint to proxy-download GitHub tag archives by repository and tag:
https://mirrors.iproute.org/github/archiveSend a JSON body with GitHub repo and tag.
Example body for upstream https://github.com/nvm-sh/nvm/archive/refs/tags/v0.40.4.tar.gz
{
"repo": "nvm-sh/nvm",
"tag": "v0.40.4"
}curl:
curl -L -X POST "https://mirrors.iproute.org/github/archive" \
-H "Content-Type: application/json" \
-o nvm-v0.40.4.tar.gz \
-d '{"repo":"nvm-sh/nvm","tag":"v0.40.4"}'GitHub Raw File Download
Use this endpoint to proxy-download raw files from a GitHub branch:
https://mirrors.iproute.org/github/rawSend a JSON body with GitHub repo, branch, and repository-relative path.
Example body for upstream https://raw.githubusercontent.com/nvm-sh/nvm/refs/heads/master/README.md
{
"repo": "nvm-sh/nvm",
"branch": "master",
"path": "README.md"
}curl:
curl -L -X POST "https://mirrors.iproute.org/github/raw" \
-H "Content-Type: application/json" \
-o README.md \
-d '{"repo":"nvm-sh/nvm","branch":"master","path":"README.md"}'