Rooster is a simple password manager for geeks (it works in the terminal).
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:
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 = 1by 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.
To install Rooster, run the following commands as
On Arch Linux, install Rooster from AUR.
On Void Linux, install Rooster from XBPS.
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.
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
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:
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.
Rooster has 3 sets of tests:
- code level tests which you can run with
- integration tests which you can run with
- build tests for various Linux distributions which you can run with
You'll need to install Docker to run build and integration tests.
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:
- Awesome Rustaceans from the Rust Paris meetup
Thank you very much for your help!
The source code is released under the Apache 2.0 license.