#password #security

app rooster

A simple password manager for geeks

17 stable releases

2.8.5 Dec 5, 2019
2.8.2 Jun 23, 2019
2.7.1 Oct 29, 2017
2.6.0 Jun 6, 2017
2.0.1 Jan 27, 2016

#88 in Cryptography

Download history 234/week @ 2019-08-22 42/week @ 2019-08-29 42/week @ 2019-09-05 20/week @ 2019-09-12 88/week @ 2019-09-19 23/week @ 2019-09-26 26/week @ 2019-10-03 1/week @ 2019-10-10 29/week @ 2019-10-17 15/week @ 2019-10-24 28/week @ 2019-10-31 1/week @ 2019-11-07 16/week @ 2019-11-14 5/week @ 2019-11-21 60/week @ 2019-11-28

118 downloads per month

Apache-2.0

150KB
3.5K SLoC

Rooster

Rooster is a simple password manager for geeks (it works in the terminal).

Build Status Chat on Discord

asciicast

Supporting Rooster

Rooster is currently being maintained as a side-project, during nights and weekends, next to my full-time job. I am looking for a way to sustain my work on open source. If you find value in what I do and you would like to contribute, please consider:

Features

Rooster has some unique goals:

  • it is easy to maintain so that it never becomes unmaintained
  • it works completely offline by saving your password in a single local file
  • it stores username/password combinations, 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

Trustless security

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! 😃 ❤️

License

The source code is released under the Apache 2.0 license.

Dependencies

~8MB
~162K SLoC