百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
R

rate-mirrors

> 编程语言
开源

日常使用的客户端端地图感知镜像排名工具 (Arch Linux; Manjaro; 自定义工具)

629 stars0 点赞1 次浏览
访问官网GitHub

工具介绍

日常使用的客户端端地图感知镜像排名工具 (Arch Linux; Manjaro; 自定义工具)

Rate Mirrors

A fast mirror ranking tool that finds the best mirrors for your Linux distribution. It uses submarine cable and internet exchange data to intelligently hop between countries and discover fast mirrors in ~30 seconds.

Table of Contents

  • Quick Start
  • Installation
  • Supported Distributions
  • Usage
  • Common Options
  • Algorithm
  • Examples
  • Troubleshooting
  • Exit Codes
  • License

Quick Start

bash
# Arch Linux
rate-mirrors arch | sudo tee /etc/pacman.d/mirrorlist

# Manjaro
rate-mirrors manjaro | sudo tee /etc/pacman.d/mirrorlist

# With backup
export TMPFILE="$(mktemp)"; \
    rate-mirrors --save=$TMPFILE arch --max-delay=21600 \
    && sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist-backup \
    && sudo mv $TMPFILE /etc/pacman.d/mirrorlist

# See all options
rate-mirrors --help

Installation

Platform Command Notes
Arch Linux (default) sudo pacman -S rate-mirrors Pre-built, dynamically linked glibc
Arch Linux (AUR, binary) yay -S rate-mirrors-bin Pre-built, statically linked musl
Arch Linux (AUR, source) yay -S rate-mirrors-git Build from source, dynamically linked glibc
OpenBSD pkg_add rate-mirrors From ports
GitHub Releases Download Pre-built binaries
From source cargo build --release --locked Requires Rust toolchain

Supported Distributions

Arch-based

Command Distribution Notes
rate-mirrors arch Arch Linux Skips outdated/syncing mirrors
rate-mirrors arch4edu Arch4edu
rate-mirrors archarm Arch Linux ARM
rate-mirrors arcolinux ArcoLinux
rate-mirrors artix Artix Linux Skips outdated/syncing mirrors
rate-mirrors blackarch BlackArch Linux
rate-mirrors cachyos CachyOS
rate-mirrors chaotic-aur Chaotic-AUR Arch Linux repository
rate-mirrors archlinuxcn Arch Linux CN Chinese community repo
rate-mirrors endeavouros EndeavourOS Skips outdated mirrors
rate-mirrors manjaro Manjaro Skips outdated mirrors
rate-mirrors rebornos RebornOS

Other

Command Distribution
rate-mirrors openbsd OpenBSD
rate-mirrors stdin Custom mirrors (see Advanced Usage)

Usage

rate-mirrors [OPTIONS]  [SUBCOMMAND-OPTIONS]
  • Run rate-mirrors --help to see base options
  • Run rate-mirrors --help to see subcommand-specific options
  • The tool doesn't need root; use --allow-root if you must run as root

Common Options

Option Description Default
--save=FILE Save output to file instead of stdout -
--concurrency=N Number of simultaneous speed tests 16
--max-jumps=N Maximum country hops 7
--entry-country=CC Starting country code US
--exclude-countries=CC,CC Exclude countries (comma-separated codes) -
--protocol=PROTO Test only specified protocol (http/https) -
--max-mirrors-to-output=N Maximum mirrors to output -
--disable-comments Disable printing comments false
--disable-untested-fallback Exit with error when all speed tests fail instead of outputting untested mirrors false
--allow-root Allow running as root false

Subcommand Options (arch example)

Option Description Default
--completion=N Minimum sync completion (0.0-1.0) 1.0
--sort-mirrors-by=MODE Sort by: score_asc, score_desc, delay_asc, delay_desc score_asc

Algorithm

The tool uses:

  • Submarine cable connections data
  • Internet exchange locations and counts per country
  • Continental groupings for geographic proximity

How it works (arch example):

  1. Fetch mirrors from Arch Linux Mirror Status
  2. Filter out incomplete or outdated mirrors
  3. Sort by mirror score
  4. Starting from entry country, find neighbor countries using:
    • Major internet hubs (first two jumps)
    • Geographic proximity (every jump)
  5. Test mirrors from each country, track fastest and lowest-latency
  6. Jump to countries of best mirrors, repeat
  7. After max jumps, re-test top mirrors sequentially and output final ranking

Data attribution: Submarine cable and IX data from TeleGeography.

Examples

Everyday use on Arch Linux

bash
alias ua-drop-caches='sudo paccache -rk3; yay -Sc --aur --noconfirm'
alias ua-update-all='export TMPFILE="$(mktemp)"; \
    sudo true; \
    rate-mirrors --save=$TMPFILE arch --max-delay=21600 \
      && sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist-backup \
      && sudo mv $TMPFILE /etc/pacman.d/mirrorlist \
      && ua-drop-caches \
      && yay -Syyu --noconfirm'

Notes:

  • sudo true prompts for password at the start
  • paccache is from pacman-contrib
  • yay is an AUR helper

Add to ~/.bashrc or ~/.zshrc, then run ua-update-all.

Output example

…

Advanced Usage: stdin

For custom mirror lists or unsupported distributions:

bash
# Input format (tab-separated):
# URL
# COUNTRYURL
# URLCOUNTRY

cat mirrors.txt | rate-mirrors --concurrency=40 stdin \
    --path-to-test="extra/os/x86_64/extra.files" \
    --path-to-return='$repo/os/$arch' \
    --comment-prefix="# " \
    --output-prefix="Server = "

Example mirrors.txt:

https://mirror-a.example.org/repo/
US	https://mirror-b.example.org/repo/
https://mirror-c.example.org/repo/	DE

Exit Codes

Code Meaning
0 Success
1 Error (network failure, invalid arguments, etc.)

License

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)


Previously known as "Rate Arch Mirrors" (changed in v0.4.0). View old README

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustarch-linuxarchlinuxmanjaromirrors

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言