Package registry proxy
proxy.ecosyste.ms caches downloads from public package registries. Configure your package manager below to fetch packages through the proxy.
Use the proxy
Copy the settings below for your package manager. No account or API key is required, and packages retain their original licences.
Full installation instructionsnpmJavaScript
Add to your project's .npmrc, or ~/.npmrc for all projects.
registry=https://proxy.ecosyste.ms/npm/
PyPI / pip / uvPython
Set the index URL for your package manager in the current shell.
export PIP_INDEX_URL=https://proxy.ecosyste.ms/pypi/simple/
export UV_DEFAULT_INDEX=https://proxy.ecosyste.ms/pypi/simple/
RubyGems / BundlerRuby
Configure Bundler's mirror for this project. Keep your existing RubyGems source in the Gemfile.
bundle config set --local mirror.https://rubygems.org https://proxy.ecosyste.ms/gem
Go modulesGo
Set GOPROXY in your shell or build environment. The direct fallback uses the source repository when a module is unavailable.
export GOPROXY=https://proxy.ecosyste.ms/go,direct
CargoRust
Add a source replacement to your project's .cargo/config.toml or ~/.cargo/config.toml.
[source.crates-io]
replace-with = "proxy"
[source.proxy]
registry = "sparse+https://proxy.ecosyste.ms/cargo/"
ComposerPHP
Add the proxy as a Composer repository for this project.
composer config repositories.proxy composer https://proxy.ecosyste.ms/composer
HexElixir
Set the mirror in your shell before running mix deps.get.
Hex cooldowns require disabling registry signature verification. Origin verification stays enabled. See Hex's verification settings.
export HEX_MIRROR=https://proxy.ecosyste.ms/hex
pub.devDart / Flutter
Set the hosted package URL before running dart pub get or flutter pub get.
export PUB_HOSTED_URL=https://proxy.ecosyste.ms/pub
MavenJava / Kotlin
Add a mirror for Maven Central in ~/.m2/settings.xml.
<settings>
<mirrors>
<mirror>
<id>proxy</id>
<mirrorOf>central</mirrorOf>
<url>https://proxy.ecosyste.ms/maven/</url>
</mirror>
</mirrors>
</settings>
NuGet.NET
Add the proxy as a package source for dotnet restore. Remove the direct nuget.org source if all downloads should use the proxy.
dotnet nuget add source https://proxy.ecosyste.ms/nuget/v3/index.json -n proxy
CondaPython / R
Set the channels in ~/.condarc. These URLs also work with clients such as pixi.
channels:
- https://proxy.ecosyste.ms/conda/main
- https://proxy.ecosyste.ms/conda/conda-forge
HomebrewmacOS / Linux
Set the API and artifact domains in your shell before running brew.
export HOMEBREW_API_DOMAIN=https://proxy.ecosyste.ms/homebrew
export HOMEBREW_ARTIFACT_DOMAIN=https://proxy.ecosyste.ms
DockerContainer images
Add a Docker Hub mirror to /etc/docker/daemon.json, preserving any existing settings, then restart Docker.
{
"registry-mirrors": ["https://proxy.ecosyste.ms"]
}
Gradle HTTP Build CacheJava / Kotlin
The public build cache is read-only. Add this to settings.gradle.kts to read cached entries; uploads require your own instance with writes enabled.
buildCache {
remote<HttpBuildCache> {
url = uri("https://proxy.ecosyste.ms/gradle/")
}
}
ConanC / C++
Add the proxy remote and disable direct downloads from ConanCenter.
conan remote add proxy https://proxy.ecosyste.ms/conan
conan remote disable conancenter
Chef SupermarketBerkshelf / Policyfiles
Set the source in your Berksfile. For Policyfiles, use default_source :supermarket, "https://proxy.ecosyste.ms/chef".
source "https://proxy.ecosyste.ms/chef"
CRANR
Set the CRAN repository in your R session, or add this to ~/.Rprofile.
options(repos = c(CRAN = "https://proxy.ecosyste.ms/cran"))
JuliaJulia
Set the package server in your shell before starting Julia.
export JULIA_PKG_SERVER=https://proxy.ecosyste.ms/julia
SwiftSwift
Set the default registry for the current Swift package. Registry dependencies use scoped package identifiers in Package.swift.
swift package-registry set https://proxy.ecosyste.ms/swift
Debian / APTDebian
In your Debian .sources file, replace the main archive URI with the line below. Keep your existing suites, components, signing key and separate security archive.
URIs: https://proxy.ecosyste.ms/debian
RPM / Yum / DNFFedora
Use this base URL in your Fedora repository configuration. Keep the existing signing keys and signature checks.
baseurl=https://proxy.ecosyste.ms/rpm/releases/$releasever/Everything/$basearch/os/
Alpine / apkAlpine Linux
In /etc/apk/repositories, replace the Alpine mirror URL prefix with the prefix below. Keep the release and component paths already in your file.
https://proxy.ecosyste.ms/apk/alpine
Arch Linux / pacmanArch Linux
Put this server at the top of /etc/pacman.d/mirrorlist. Keep your existing signature settings.
Server = https://proxy.ecosyste.ms/arch/archlinux/$repo/os/$arch
FreeBSD / pkgFreeBSD
In /usr/local/etc/pkg/repos/FreeBSD.conf, override each repository URL using this prefix. Keep its ABI and branch path, set mirror_type: "none", and retain the existing signature settings.
https://proxy.ecosyste.ms/freebsd/freebsd
See the full configuration guide for more options.
Run your own proxy
This service runs the open source git-pkgs/proxy. The repository includes instructions for running your own instance.