rooster 2.8.1

A simple password manager for geeks
rooster-2.8.1 is not a library.

Rooster Banner

Why another password manager

There are a lot of password managers out there. Rooster has some unique goals:

  • it is easy to maintain so that it never becomes unmaintained
  • it works completely offline with optional support for online sync
  • it stores simple username/password tuples, nothing more, nothing less

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.

On Void Linux, install Rooster from XBPS.

On Fedora:

dnf update -y
dnf install -y curl gcc unzip pkgconfig libX11-devel libXmu-devel python3 openssl-devel libsodium-devel
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
cargo install --root /usr rooster

On CentOS: instructions should be similar to Fedora, but it seems like libsodium is not available on CentOS and I haven't been able to figure out how to install it. If you know, please let me know.

On Debian:

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 libsodium-dev xsel
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
cargo install --root /usr rooster

On Ubuntu 16.04/18.04:

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 libsodium-dev xsel
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
cargo install --root /usr rooster

On OSX:

brew install curl libsodium openssl
curl https://sh.rustup.rs -sSf | sh -s -- -y
cargo install --root /usr rooster

For other distributions, the various Docker files can help you find which dependencies you need.

Once you have installed Rooster (see instructions below), you can view documentation with:

rooster --help

Restricting capabilities

For added trustless security, you can restrict the operating system capabilities that Rooster has access to.

For instance, to run Rooster without network access on Linux, you might do this:

# make unshare usable without being root
sudo chmod u+s "`which unshare`"

# run rooster without network
unshare -n rooster

Other operating systems have similar protections.

Automated tests

Rooster has 3 sets of tests:

  • code level tests which you can run with cargo test
  • integration tests which you can run with ./tests-integration.sh
  • build tests for various Linux distributions which you can run with ./tests-build.sh

You'll need to install Docker to run build and integration tests.

Contributors

We welcome contribution from everyone. Feel free to open an issue or a pull request at any time.

Here's a list of existing Rooster contributors:

Thank you very much for your help! :smiley: :heart: