# Rooster
Rooster is a simple password manager. It helps you securely save username/password combinations on MacOS and Linux
through a friendly command-line interface.
![Rooster logo and headline](rooster.png)
Rooster is made available free of charge. You can support its development through [Liberapay](https://liberapay.com/conradkleinespel/) 💪
## Features
Rooster has the following goals:
- it is easy to maintain so that it **never becomes unmaintained**, it has existed since 2015;
- it **works completely offline** by saving your password in a single local file;
- it stores **username/password combinations, nothing more, nothing less**;
- it can **import/export** passwords from and to 1Password/JSON/CSV.
Rooster protects your passwords with state-of-the-art cryptography algorithms:
- scrypt for key derivation (`n = 2^12, r = 8, p = 1` by default, customizable)
- aes-256-cbc for encryption
- hmac-sha512 for authentication
Supported operating systems include Linux, BSD and OSX. Windows is not supported at this time.
## Installation
To install Rooster, run the following commands as `root`.
On **Arch Linux**, install [Rooster from AUR](https://aur.archlinux.org/packages/rooster).
On **Void Linux**, install [Rooster from XBPS](https://github.com/void-linux/void-packages/blob/master/srcpkgs/rooster/template).
On **Fedora** and **CentOS**:
```shell
dnf update -y
dnf install -y curl gcc unzip pkgconfig libX11-devel libXmu-devel python3
cargo install --all-features --root /usr rooster
```
On **Debian**:
```shell
apt-get update -y
apt-get install -y curl gcc unzip pkg-config libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libx11-dev libxmu-dev python3 libssl-dev xsel
cargo install --all-features --root /usr rooster
```
On **Ubuntu 16.04/18.04**:
```shell
apt update -y
apt install -y curl unzip pkg-config libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libx11-dev libxmu-dev python3 libssl-dev xsel
cargo install --all-features --root /usr rooster
```
On **OSX**:
```shell
brew install curl
```
If you use **Wayland** instead of X11, install [wl-clipboard](https://github.com/bugaevc/wl-clipboard) and make sure you have the following
environment variable set: `XDG_SESSION_TYPE=wayland`.
For other distributions, the various Docker files can help you find which dependencies you need.
## Usage
Once you have installed Rooster, create a new password file:
```shell
rooster init
```
Once setup is finished, see `rooster --help` for what you can do.
## License
The source code is released under the Apache 2.0 license.