Mirrors

Overview

This mirror service accelerates downloads for widely used system packages, language ecosystem dependencies, and container repositories.

Use https://mirrors.intellij.tech as the service entry point.

https://mirrors.intellij.tech 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.intellij.tech 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.intellij.tech/proxy_pass

It 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.intellij.tech/proxy_pass/encode-src

It 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%3D

curl:

curl -X POST "https://mirrors.intellij.tech/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.gz

Example encoded src:

aHR0cHM6Ly9naXRodWIuY29tL252bS1zaC9udm0vYXJjaGl2ZS9yZWZzL3RhZ3MvdjAuNDAuNC50YXIuZ3o%3D

Example request:

https://mirrors.intellij.tech/proxy_pass?src=aHR0cHM6Ly9naXRodWIuY29tL252bS1zaC9udm0vYXJjaGl2ZS9yZWZzL3RhZ3MvdjAuNDAuNC50YXIuZ3o%3D

curl:

curl -L -o nvm-v0.40.4.tar.gz "https://mirrors.intellij.tech/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.intellij.tech/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.intellij.tech/github/archive

Send 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.intellij.tech/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.intellij.tech/github/raw

Send 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.intellij.tech/github/raw" \
  -H "Content-Type: application/json" \
  -o README.md \
  -d '{"repo":"nvm-sh/nvm","branch":"master","path":"README.md"}'