Skip to content

blaxxmith/fortress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fortress

A simple password safe, written in Rust.

Concepts

You must define a master password, which will be used to encrypt the vault. Each time you want to use the vault, you will be asked for this password.

First, create a vault file (by default it will create the vault at /tmp/vault.frt):

frtrs create

Then, add entries to the vault (see docs to know more about the arguments):

frtrs add <identifier> --username <username> --password <password>

Important

If none of the password methods are provided (neither -p nor -g), the password will be the content of the * clipboard*

Security Principles

  • The master password is not stored
  • We are using only well-known methods and libraries
  • Strict checks and tests before releases
  • Independent code audit

Installation

Quick with Nix Flakes

nix run github:/xavier2p/fortress

Build

Note

This project requires Rust 1.56+ to build.

  1. Clone the repository
git clone https://github.com/xavier2p/fortress && cd fortress
  1. Install the binary
cargo install --path .

Usage

Warning

For Flake utilization, please add before each command the -- to precise it's a command to fortress.

e.g. nix run github:/xavier2p/fortress -- --version

$ frtrs --help
A simple password safe CLI app

Usage: frtrs [OPTIONS] [COMMAND]

Commands:
  create  Create a new vault
  copy    Copy the password of the desired identifier
  view    View the password of the desired identifier
  remove  Remove an entry from the vault
  add     Add a new entry to the vault. If no one of the password methods is provided, the password will be the content of the clipboard
  list    List all entries in the vault
  help    Print this message or the help of the given subcommand(s)

Options:
  -f, --file <PATH>      The input file path [default: /tmp/vault.frt]
      --log-file <PATH>  Path to a file to write logs to [default: /tmp/fortress.log]
  -h, --help             Print help
  -V, --version          Print version

Development

You must have Rust installed. See rust-lang.org for more information. All technical documentation is online, see docs.

Run tests

cargo test

See Code Coverage

cargo tarpaulin

Build and run

cargo build
cargo run

Format code

cargo fmt
cargo clippy

What we set up to make secure software

  • We have some CI checks (tests, formatting, linting) running on each PR
  • We run audit on dependencies weekly
  • We use protected branches on GitHub, requiring reviews and all checks before merging

You can follow the development process via the issues and project board on GitHub.

Authors

  • Xavier2p
  • Axxiar
  • Savened
  • Aurel

About

[SCHOOL PROJECT] A simple password manager CLI application, written in Rust

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors