Skip to content

riccione/hermes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hermes: CLI OTP app

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Testing
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Simple cli OTP app written in Rust.

Build with:

(back to top)

Getting Started

Prerequisites

  • RUST 1.85+

Installation

Build from source: cargo build --release

The binary is located in target/release/hermes.

(back to top)

Usage

Running without arguments shows help.

There are 2 env variables:

  • HERMES_PASSWORD: Password for codes.
  • HERMES_PATH: Path to codex file.

Commands:

  • add -a <ALIAS> -c <CODE> [OPTIONS]: Add new record.
  • remove -a <ALIAS> [OPTIONS]: Remove record.
  • update -a <ALIAS> -c <CODE> [OPTIONS]: Update code by alias.
  • rename <OLD ALIAS> <NEW ALIAS> [OPTIONS]: Rename alias.
  • ls [OPTIONS]: Get all OTP codes.
  • ls -a <ALIAS>: Get OTP code by alias.
  • ls -a <PARTIAL MATCH>: Get OTP codes by partial match.
  • config: Show location of the codex file.
  • migrate: Migrate legacy codex format to JSON.

Flags:

  • -a, --alias: Alias.
  • -c, --code: Code aka Secret.
  • -p, --path: Custom path to the codex file.
  • -u, --unencrypt: WARNING: Store the secret in plain text. Use for debugging only.
  • --password: WARNING: Using this flag leaves password in shell history.
  • -q, --quiet: Only for ls -a <ALIAS>. Do not display progress bar.
  • -f [table, json], --format [table, json]: Only for ls command. Format output as table (default) or as JSON.

Automatically copy OTP code to clipboard

Wayland hermes ls -a my_alias | wl-copy

X11 hermes ls -a my_alias | xclip -selection clipboard

MacOS hermes ls -a my_alias | pbcopy

(back to top)

Testing

cargo test

TOTP verification

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Just create an issue if you need something.

Project Link: https://github.com/riccionee/hermes

(back to top)

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages