Project for 2024 RUST course during Computer Science studies on AGH University.
It is a simple password manager with symmetric encryption of passwords, git synchronization and functionality to export passwords as tar
archive and them import them.
Use any command with -h
option to print available options.
git clone https://github.com/JBRS307/rustpass.git
After that, open the project root directory and use
cargo build --release
To run any command use
./rustpass <COMMAND>
Initializes the password and key storage. Should be used also to initialize subfolders
./rustpass init [OPTIONS]
Adds password to given subfolder (if no subfolder specified, then places password in main password storage). Adds password ONLY if it doesn't already exist.
./rustpass add [OPTIONS] <NAME> <PASSWORD> <REPEAT_PASSWORD>
Works like ADD
, however will update password if already exists.
./rustpass update [OPTIONS] <NAME> <PASSWORD> <REPEAT_PASSWORD>
Removes given password in given subfolder, if no subfolder specified removes password from main password storage.
./rustpass remove [OPTIONS] <NAME>
Generates password of desired length. Password can be saved by specifing NAME
and SUBFOLDER
.
./rustpass generate [OPTIONS] <LENGTH> [NAME] [SUBFOLDER]
Gets the password by NAME
.
./rustpass get [OPTIONS] <NAME>
Lists stored passwords names as tree.
WARNING, tree
must be installed for this to work,
to install tree use
sudo apt install tree
./rustpass list [SUBFOLDER]
Completely clears password storage or given subfolder, use with caution.
./rustpass clear [OPTIONS]
Changes the location of .pass_key directory (default is home directory), which is stored in .pass_config file. Can also print the current location with -g
option.
./rustpass config [OPTIONS] [PATH]
Enables easy usage of git inside of password and key storages. Git must be installed for the command to work properly.
To install git use
sudo apt install git
./rustpass git [OPTIONS] [ARGS...]
Export password or key storage to tar.gz archive. Default export location is home directory. Requires tar
installed.
To install tar
sudo apt install tar
./rustpass export [OPTIONS]
WARNING - archives SHOULD NOT be renamed.
Imports key or passwords from tar.gz archive.
./rustpass import <PATH>
Prints help message.
./rustpass help