#tui #linux #http #system

app mirro-rs

一个带有 TUI 的 ArchLinux 镜像列表管理器

5 个版本

0.2.3 2024年3月2日
0.2.2 2023年11月19日
0.2.1 2023年11月14日
0.2.0 2023年11月11日
0.1.0 2023年1月16日

命令行界面 中排名 #676

每月下载量 36

MIT/Apache

180KB
3.5K SLoC

GitHub Workflow Status Crates.io Crates.io msrv

mirro-rs

Arch Linux 系统的镜像列表管理器
查看使用示例 »

报告错误 · 请求功能

app

mirro-rs 提供了一个 TUI,帮助您更好地可视化地管理镜像列表。

特性

  • 排序
    • 完成度 - 成功连接和断开给定 URL 的镜像检查次数(作为百分比)。如果这个值低于 100%,镜像可能不可靠。
    • 得分 - 目前计算为(延迟小时数 + 平均持续时间 + 标准差)/ 完成度百分比。 越低越好
    • 标准差 - 连接和检索时间的标准差。高标准差可能表示镜像不稳定或过载。
    • 延迟 - 每个镜像 URL 检查的最后一次检查 - 最后同步的平均值。由于镜像检查的时间,任何小于一小时的价值应视为理想。
    • 速度 - 根据下载速度排序
  • 过滤
    • 年龄
    • 国家
    • ipv4, ipv6, isos
    • 协议 - httphttpsftprsync
    • 完成度百分比

入门指南

安装

从 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

使用方法

向 mirro-rs 添加 -h--help 标志以查看配置参数。要预览过去 24 小时内成功同步的 httphttps 镜像,并将 /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-2.0 许可证定义的,您有意提交的工作将被双重许可,无任何附加条款或条件。

依赖关系

~26–40MB
~497K SLoC