oleiade / motus

Dead simple password generator
GNU Affero General Public License v3.0
76 stars 3 forks source link
cli password-generator rust security

motus logo

Dead simple password generator

release AGPL License Build status

Motus is a command-line application that makes generating secure passwords a breeze. Inspired by the user experience of the 1Password password generator, motus focuses on providing a simple and elegant user interface with sane defaults and comprehensive options. By default, motus copies the generated password to your clipboard, making it even more convenient to use.

motus demo

## Features - **Simple and elegant user interface**: motus is designed to be easy to use and understand, and makes it difficult to generate insecure passwords. - Generate **secure memorable passwords**: motus uses the [EFF's wordlist](https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases) to generate secure and memorable passwords - Generate **random passwords** with optional number and symbol inclusion - Generate **PINs** with customizable length - **Security analysis**: the `--analyze` option provides a security analysis of the generated password, ensuring optimal password strength. - **Sane defaults** - **Clipboard** integration for easy password usage - Flexible **customization** options ## Installation ### on macOS Using Homebrew: ```bash brew tap oleiade/tap brew install motus ``` ### on Debian/Ubuntu Linux Add the repository and install motus: ```bash # Download and install the repository's GPG key curl -fsSL https://oleiade.github.io/deb/oleiade-archive-keyring.gpg | \ gpg --dearmor | \ sudo tee /usr/share/keyrings/oleiade-archive-keyring.gpg > /dev/null # Add the repository to your system's sources echo "deb [signed-by=/usr/share/keyrings/oleiade-archive-keyring.gpg] https://oleiade.github.io/deb stable main" \ sudo tee /etc/apt/sources.list.d/oleiade.list > /dev/null # Update your sources apt update # Install motus apt install motus ``` ### using Cargo Alternatively, you can install using Cargo: ```bash cargo install motus ``` ## Usage ```bash > motus --help Motus is a command-line tool for generating secure, random, and memorable passwords as well as PIN codes. Usage: motus [OPTIONS] Commands: memorable Generate a human-friendly memorable password random Generate a random password with specified complexity pin Generate a random numeric PIN code help Print this message or the help of the given subcommand(s) Options: --no-clipboard Disable automatic copying of generated password to clipboard -o, --output Output the generated password in a specified format [default: text] [possible values: text, json] --analyze Display a safety analysis along the generated password --seed Seed value for deterministic password generation (for testing purposes) -h, --help Print help (see a summary with '-h') -V, --version Print version ``` ### Generate a memorable password ```bash > motus memorable fossil abreast overplant commute dish # Or customize the password generation > motus memorable --words 7 --separator numbers-and-symbols --capitalize Goes$Stood3Paving(Tipoff$Settle*Flip3Scone ``` ### Generate a random password ```bash > motus random UDrZrJJTYElWeOFHZmfp # Or customize the password generation > motus random --characters 42 --numbers --symbols 6HdwMjKQPYE3scIBlCps&1Ir5R8lQ85eIVtF!fpUSD ``` ### Generate a PIN ```bash > motus pin 1234421 # Or customize the size of the PIN > motus pin --numbers 9 347751411 ``` ### Miscelaneous #### Generate a password and analyze its security ![motus --analyze](static/motus-demo-report.gif) ##### Generate a password and output the result in JSON format ```bash > motus --output json random {"kind": "memorable", "password": "6HdwMjKQPYE3scIBlCps&1Ir5R8lQ85eIVtF!fpUSD"} ``` ## Contributing We welcome contributions to the project. Feel free to submit issues, suggest new features, or create pull requests to help improve motus. ## License motus is distributed under the [AGPL-3.0 license](https://github.com/oleiade/motus/blob/master/LICENSE). ## Why the name? motus used to be a tv game that I would call the ancestor of Wordle. Players had to guess words of a given size, and would pick up balls from a cup to decide how each round would move along. They would make that very distinct move to scramble the balls around every time, with a very distinct sound. When starting this project, I thought of the process of generating passwords as this comforting and satisfying act of diving into a huge cup full of numbered balls, and the childish feeling of it. This project is named in memory of Motus.