4 个版本
0.1.3 | 2023年11月19日 |
---|---|
0.1.2 | 2023年11月19日 |
0.1.1 | 2023年11月11日 |
0.1.0 | 2023年1月6日 |
#353 in Unix APIs
用于 mirro-rs
68KB
367 行代码(不包括注释)
mirro-rs
Arch Linux 系统的 mirrorlist 管理器
查看使用示例
报告错误 · 请求功能
mirro-rs 提供了一个 TUI,以帮助您更好地可视化镜像列表管理。
功能
- 排序
- 完成度 - 成功连接和断开给定 URL 的镜像检查次数(作为百分比)。如果这个百分比低于 100%,镜像可能不可靠。
- 评分 - 目前计算为(延迟小时数 + 平均持续时间 + 标准差)/ 完成度百分比。 越低越好。
- 标准差 - 连接和检索时间的标准差。高标准差可能表明镜像不稳定或负载过重。
- 延迟 - 每次检查此镜像 URL 的最后检查 - 最后同步的平均值。由于镜像检查的时间,任何低于一小时的值都应视为理想。
- 速度 - 根据下载速度排序
- 过滤
- 年龄
- 国家
- ipv4, ipv6, isos
- 协议 -
http
,https
,ftp
或rsync
- 完成度百分比
入门指南
安装
从 Arch Linux 官方仓库安装
pacman -S mirro-rs
mirro-rs
也可在 AUR 中找到。如果您正在使用 paru
paru -S mirro-rs-git
注意 默认情况下,这通过
toml
文件启用 配置。如果您希望使用其他配置格式(或完全禁用配置文件),则应编辑PKGBUILD
。
手动编译
-
cargo
您需要安装
cargo
以构建应用程序。设置此环境的最简单方法是安装rustup
。pacman -S rustup
安装 Rust 工具链
rustup install stable
-
git
克隆仓库
git clone https://github.com/rtkay123/mirro-rs
然后您可以构建发布目标
cargo build --release
用法
将-h
或--help
标志传递给mirro-rs以查看配置参数。要预览过去24小时内成功同步的http
或https
镜像,并将/home/user/mirrorlist
作为最佳(最多)50个镜像的导出位置。
mirro-rs --export 50 --protocols https --protocols http --age 24 --outfile "/home/user/mirrorlist"
执行相同操作,但将来源限制为法国和英国。
mirro-rs --export 50 --protocols https --protocols http --age 24 --outfile "/home/user/mirrorlist" -c France -c "United Kingdom"
配置
为了方便,mirro-rs可选地支持读取配置文件[default: $XDG_CONFIG_HOME/mirro-rs/mirro-rs.toml]
以设置一般偏好。如果没有提供,将使用[default: $XDG_CONFIG_HOME/mirro-rs.toml]
。如果两者都可用,前者具有优先权。
支持toml
cargo build --release --features toml
支持json
cargo build --release --features json
同样,支持yaml
cargo build --release --features yaml
注意 如果您启用了所有配置文件功能,如果配置目录包含多个有效的文件格式,优先级顺序为
toml
->json
->yaml
。
示例配置文件在examples文件夹中提供。
一个最小化的mirro-rs.toml
配置文件可能看起来像
cache-ttl = 24
timeout = 10
注意 在运行时更改配置文件将覆盖作为CLI参数设置的参数
许可
根据以下任一许可进行许可
- Apache License, Version 2.0 (LICENSE-APACHE或http://apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT或http://opensource.org/licenses/MIT)
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的您有意提交给作品的所有贡献,将按上述方式双重许可,没有额外的条款或条件。
lib.rs
:
mirrors-arch
依赖项
~4–19MB
~262K SLoC