国内下载加速:常用镜像源配置指南
===================================

为什么要用镜像?
----------------
- 直连官方源常遇到限速、超时,镜像能显著提升下载速度与稳定性。
- 国内大厂与高校提供同步源,通常延迟低、带宽高。
- 避免反复换源:推荐为常用工具预设镜像,并保留官方源作为兜底。

常用镜像源一览(示例)
--------------------
- 清华 TUNA: https://mirrors.tuna.tsinghua.edu.cn
- 阿里云: https://mirrors.aliyun.com
- 中科大: https://mirrors.ustc.edu.cn
- 华为云: https://mirrors.huaweicloud.com
- 网易/腾讯等也有部分镜像,可按需选择。

包管理器配置示例
--------------

### pip(Python)
临时:
```bash
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <package>
```
永久(用户级配置 `~/.pip/pip.conf` 或 `%APPDATA%\\pip\\pip.ini`):
```ini
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
format = columns
```
备选:`https://mirrors.aliyun.com/pypi/simple/`

### npm / pnpm / yarn(Node.js)
临时:
```bash
npm install <pkg> --registry=https://registry.npmmirror.com
```
永久:
```bash
npm config set registry https://registry.npmmirror.com
# pnpm
pnpm config set registry https://registry.npmmirror.com
# yarn (classic)
yarn config set registry https://registry.npmmirror.com
```
检查:
```bash
npm config get registry
```

### apt(Debian/Ubuntu)
备份默认源后编辑 `/etc/apt/sources.list`:
```bash
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list
```
示例(22.04 LTS):
```
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
```
刷新:
```bash
sudo apt update && sudo apt upgrade
```

### Homebrew(macOS / Linux)
仅在国内网络受限时使用。重置请参考 brew 官方文档。
```bash
# 核心仓库
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
# 二进制瓶
brew update
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bashrc
```
验证:
```bash
brew config | findstr Bottle
```

### Docker Hub
在 `/etc/docker/daemon.json`(Windows 桌面版为 Settings → Docker Engine)添加:
```json
{
  \"registry-mirrors\": [
    \"https://docker.mirrors.sjtug.sjtu.edu.cn\",
    \"https://hub-mirror.c.163.com\"
  ]
}
```
重启 Docker 后检查:
```bash
docker info | findstr Registry
```

### Maven(Java)
在 `~/.m2/settings.xml` 的 `<mirrors>` 中添加:
```xml
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>*</mirrorOf>
  <name>Aliyun Maven</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>
```

镜像使用建议
-----------
- 优先选择地理/网络距离近、同步活跃的镜像;定期查看镜像站公告。
- 遇到包缺失或版本滞后,临时切回官方源重试。
- 关注证书与 HTTPS:尽量使用 HTTPS 镜像并验证地址来源。
- 为脚本/CI 提供可配置的镜像变量(如 `PIP_INDEX_URL`、`NPM_CONFIG_REGISTRY`),避免写死单一源。

快速排错清单
-----------
- 换源后仍慢:检查本地 DNS、代理和运营商劫持,尝试 `ping`/`tracert` 镜像域名。
- 证书错误:确认使用 HTTPS,若是 MITM 证书问题,切回官方源或调整网络。
- 404/包缺失:镜像尚未同步;等一段时间或改回官方源。
- CI 不生效:确保环境变量/配置文件路径正确,缓存已清理。