# Ruri
[](https://gitlab.com/Timmy1e/ruri/-/pipelines/)
[](https://crates.io/crates/ruri)
[](https://aur.archlinux.org/packages/ruri/)
[](https://aur.archlinux.org/packages/ruri-bin/)
[](https://github.com/Timmy1e/homebrew-tap/)
Calculates the CRC-32 of files and checks them against their filename.
## Installation
### From repo
Ruri is available in the following repos:
- Arch Linux AUR: [ruri](https://aur.archlinux.org/packages/ruri/), [ruri-bin](https://aur.archlinux.org/packages/ruri-bin/)
- Crates.io: [ruri](https://crates.io/crates/ruri)
- Homebrew: [Timmy1e/tap/ruri](https://github.com/Timmy1e/homebrew-tap/blob/main/Formula/ruri.rb)
### From release
1. Download a pre-built binary archive from the [releases page](https://gitlab.com/Timmy1e/ruri/-/releases).
2. Extract the archive.
3. Move the executable to a logical location such as your `/usr/bin/` or `/usr/local/bin/` directory.
### From source
#### Requirements
- Rust >= 1.62
1. Pull the project, or download an archive of the source from GitLab and extract it.
2. Install a [Rust toolchain](https://www.rust-lang.org/tools/install).
3. Run the following in the root directory to build an executable to `./bin/`:
```shell
$ cargo install --locked --bin ruri --path . --root .
```
4. Move or link the exe executable to a logical location such as your `/usr/bin/` or `/usr/local/bin/` directory.
## Usage
```
USAGE:
ruri [FLAGS] [OPTIONS] <file path>...
FLAGS:
-h, --help Prints help information
-q, --quiet Don't print progressbars, for piping to files
-V, --version Prints version information
OPTIONS:
-t, --threads <THREADS> Override the amount of threads, 0 is CPU max [default: 0]
ARGS:
<file path>... The files you want to check
```
Basic examples:
```shell
$ ruri "myFile[ABCD1234].ext" myFiles*.ext
```
```shell
$ ruri -q myFiles*.ext > myFiles.crc32
```
## Licence
GNU Affero General Public License v3.0 or later