|0.1.3||Nov 19, 2023|
|0.1.2||Nov 19, 2023|
|0.1.1||Nov 11, 2023|
|0.1.0||Jan 6, 2023|
#223 in Unix APIs
125 downloads per month
Used in mirro-rs
mirro-rs provides a TUI to help you better visualise managing your mirrorlist.
- Completion - The number of mirror checks (as a percentage) that have successfully connected and disconnected from the given URL. If this is below 100%, the mirror may be unreliable.
- Score - It is currently calculated as (hours delay + average duration + standard deviation) / completion percentage. Lower is better.
- Standard deviation - The standard deviation of the connect and retrieval time. A high standard deviation can indicate an unstable or overloaded mirror.
- Delay - The mean value of last check − last sync for each check of this mirror URL. Due to the timing of mirror checks, any value under one hour should be viewed as ideal.
- Rate - sort by download speed
- ipv4, ipv6, isos
- Protocol -
- Completion Percentage
mirro-rs is available in the AUR. If you're using
paru -S mirro-rs-git
Note By default, this enables configuration through
tomlfiles. You should edit the
PKGBUILDif you prefer another configuration format (or to disable configuration files altogether).
You need to have
cargoinstalled to build the application. The easiest way to set this up is installing
pacman -S rustup
Install a rust toolchain:
rustup install stable
Clone the repository:
git clone https://github.com/rtkay123/mirro-rs
You may then build the release target:
cargo build --release
--help flag to mirro-rs to view configuration parameters.
https mirrors that were successfully synchronised in the last 24 hours and use
/home/user/mirrorlist as an export location for the best (at max) 50:
mirro-rs --export 50 --protocols https --protocols http --age 24 --outfile "/home/user/mirrorlist"
To do the same but restrict the sources to be from France and the UK:
mirro-rs --export 50 --protocols https --protocols http --age 24 --outfile "/home/user/mirrorlist" -c France -c "United Kingdom"
For convenience, mirro-rs optionally supports reading a configuration
[default: $XDG_CONFIG_HOME/mirro-rs/mirro-rs.toml] for general preferences. If none is available,
[default: $XDG_CONFIG_HOME/mirro-rs.toml] will be used. If both are available, the former takes priority.
cargo build --release --features toml
cargo build --release --features json
cargo build --release --features yaml
Note If you enable all configuration file features, if the configuration directory contains more than one valid file format, the order of priority goes from
Sample configuration files are provided in the example folder.
mirro-rs.toml config file could look like:
cache-ttl = 24 timeout = 10
Note Changing the configuration file at runtime will overwrite the parameters that were set as CLI arguments
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.