Skip to content

dautovri/mirrors-china

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 

Repository files navigation

Mirrors / Repositories in China 🇨🇳

In Mainland China, using local mirrors is essential due to the Great Firewall (GF), which can significantly slow down or even block access to servers outside of China. By connecting to mirrors within Mainland China, you can get faster update speeds and a more reliable connection when downloading or updating software packages. Additionally, local mirrors are often synchronized with the main repositories, ensuring that you have access to the latest updates and security patches.

Table of Contents

All in One Script

Python

pip

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

conda

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes


conda update conda 

Docker

Quay.io: https://quay.azk8s.cn

GCR: https://gcr.azk8s.cn

K8S GCR images: https://registry.aliyuncs.com/google_containers

Docker Hub official: https://registry.docker-cn.com

Docker Hub Azure: https://dockerhub.azk8s.cn

Helm

Azure Helm/Kubernetes: http://mirror.azure.cn/kubernetes/

Alibaba Cloud: https://mirrors.aliyun.com/kubernetes-new/

Terraform

Alibaba Cloud Terraform: http://mirrors.aliyun.com/terraform/

Jenkins

Azure Jenkins: http://mirror.azure.cn/jenkins/

Homebrew (https://brew.sh )

Add brew mirror

git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git

git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git

git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git

brew update

Maven (Java, Scala)

Alibaba repo http://maven.aliyun.com/nexus/content/groups/public/

<repositories>
        <repository>
            <id>aliyun</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </repository>
</repositories>

SBT

~/.sbt/repositories

[repositories]
local
aliyun: http://maven.aliyun.com/nexus/content/groups/public/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sonatype-oss-releases
maven-central
sonatype-oss-snapshots

NPM (Node.js / JavaScript)

To configure npm to use a mirror:

npm config set registry https://registry.npmmirror.com/
npm config get registry

Yarn

To configure Yarn to use a mirror:

yarn config set registry https://registry.npmmirror.com/
yarn config get registry

Gradle (Java)

Add in your project's root Gradle settings:

repositories {
    maven {
        url "https://maven.aliyun.com/nexus/content/groups/public/"
    }
    // ...existing Gradle repositories...
}

Containerd

You can configure a registry mirror in the containerd config file:

[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
  endpoint = ["https://mirror.ccs.tencentyun.com"]

Ruby/RubyGems

To configure RubyGems to use a Chinese mirror:

# Remove default source
gem sources --remove https://rubygems.org/

# Add Chinese mirror
gem sources -a https://mirrors.tuna.tsinghua.edu.cn/rubygems/

# Verify sources
gem sources -l

# For Bundler
bundle config mirror.https://rubygems.org https://mirrors.tuna.tsinghua.edu.cn/rubygems

Rust/Cargo

Configure Cargo to use Chinese mirrors by editing ~/.cargo/config:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'tuna'

[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"

[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"

Go/GoProxy

Configure Go modules proxy for faster downloads:

# Set GOPROXY
export GOPROXY=https://goproxy.cn,direct

# Or use Alibaba mirror
export GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

# Set GOSUMDB
export GOSUMDB=sum.golang.google.cn

# For permanent configuration, add to ~/.bashrc or ~/.zshrc
echo "export GOPROXY=https://goproxy.cn,direct" >> ~/.bashrc
echo "export GOSUMDB=sum.golang.google.cn" >> ~/.bashrc

Flutter/Dart

Configure Flutter to use Chinese mirrors:

# Set Flutter mirrors
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

# For permanent configuration
echo "export PUB_HOSTED_URL=https://pub.flutter-io.cn" >> ~/.bashrc
echo "export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn" >> ~/.bashrc

# Alternative Tsinghua mirrors
export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub/
export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter

APT/Ubuntu

Configure APT to use Chinese mirrors for Ubuntu:

# Backup original sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

# Replace with Tsinghua mirror (Ubuntu 20.04 example)
sudo tee /etc/apt/sources.list <<EOF
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
EOF

# Update package list
sudo apt update

YUM/CentOS

Configure YUM to use Chinese mirrors for CentOS:

# Backup original repo files
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# Download Alibaba mirror configuration
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# Or manually configure with Tsinghua mirror
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Base.repo
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' /etc/yum.repos.d/CentOS-Base.repo

# Clean and update cache
sudo yum clean all
sudo yum makecache

Git

Configure Git to use Chinese mirrors for faster clone speeds:

# GitHub mirror
git config --global url."https://hub.fastgit.xyz/".insteadOf "https://github.com/"

# Or use gitclone.com
git config --global url."https://gitclone.com/github.com/".insteadOf "https://github.com/"

# Reset to original (if needed)
git config --global --unset url."https://hub.fastgit.xyz/".insteadOf

More mirrors

Additional Resources

Mirror Testing Tools

Official Mirror Lists

Contributing

Feel free to contribute by:

  1. Adding new mirrors or repositories
  2. Updating existing mirror URLs
  3. Adding setup instructions for new tools
  4. Reporting broken mirrors

License

This project is open source and available under the MIT License.