Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kbujari/rorrim
Fetch, filter, sort, and output an up-to-date mirrorlist for Arch Linux.
https://github.com/kbujari/rorrim
archlinux rust
Last synced: about 20 hours ago
JSON representation
Fetch, filter, sort, and output an up-to-date mirrorlist for Arch Linux.
- Host: GitHub
- URL: https://github.com/kbujari/rorrim
- Owner: kbujari
- License: mit
- Created: 2023-01-01T18:20:30.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T17:13:33.000Z (8 months ago)
- Last Synced: 2024-12-09T10:52:20.415Z (about 2 months ago)
- Topics: archlinux, rust
- Language: Rust
- Homepage:
- Size: 174 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![ci](https://github.com/kbujari/rorrim/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kbujari/rorrim/actions/workflows/ci.yml)
[![license](https://img.shields.io/github/license/kbujari/kleidi.ca)](https://opensource.org/licenses/MIT)# rorrim
Fetch, filter, sort, and output an up-to-date mirrorlist for Arch Linux. Aiming
for feature parity with
[`reflector`](https://wiki.archlinux.org/title/Reflector) initially, with extra
functionality built-in.## Usage
`rorrim` doesn't require any arguments but it's recommended to setup filters in
your region for the best performance. For example:```sh
rorrim --country Canada --protocol https --number 5 --sort score --save /etc/pacman.d/mirrorlist
```The above will output 5 mirrors in Canada that use https to retrieve data, sort
them by their [score](https://archlinux.org/mirrors/status/) and place the
output in `/etc/pacman.d/mirrorlist`.
To use multiple countries and/or protocols:
```sh
rorrim -c Canada -c Sweden -p https -p rsync
```### Details
- Writes to stdout unless file is provided
- Out of sync mirrors are discarded before any other filters are applied## Contributing
Contributions of any kind are more than welcome, feel free to open an issue for
a feature you would like to see implemented or a pull request if you had
something in mind and I will try to respond as soon as I can.
The only guideline to properly format and lint your code with `rustfmt` and
`clippy` before commits.## TODO
- Implement sorting by HTTP download speed
- Add version tagging and releases to actions
- Caching initial response for faster back to back runs
- Allow user to specify custom filters?
- Work as both library and executable## License
This software is licensed under the MIT License.