Coder Social home page Coder Social logo

monolith's Introduction

  __  __                   _ _ _   _     
 |  \/  | ___  _ __   ___ | (_) |_| |__  
 | |\/| |/ _ \| '_ \ / _ \| | | __| '_ \ 
 | |  | | (_) | | | | (_) | | | |_| | | |
 |_|  |_|\___/|_| |_|\___/|_|_|\__|_| |_|
                                         

Monolith

Screenshot

Stateless password manager implementation in Go

github stars badge github forks badge github issues badge

github last commit badge

Monolith is a stateless password manager written in Go. It allows you to generate strong and secure password on the fly, without having to store it. Monolith allows you to have different passwords for each website/service by just remembering your master password. Monolith takes 3 main inputs: website, login, and master password. In addition, it also supports additional options such as custom password length and character sets.

Monolith currently uses PBKDF2 and the more memory-intensive Scrypt (pronounced "ess crypt") key derivation function to generate passwords, picked based on NIST and OWASP guidelines. Scrypt is used by default, but you can change this setting in the code.

The parameter used in Monolith is as follows

PBKDF2

  • SHA-256 hash algorithm
  • 600,000 iterations

Scrypt

  • 2^14 (16 MiB) CPU/memory cost parameter
  • 8 (1024 bytes) block size
  • 5 degree of parallelism

Features ๐Ÿ’ช

  • No Data Stored: Monolith doesn't store any of your data, ensuring the security of your passwords.
  • No Internet Connection Needed: You don't need an internet connection to use Monolith, since it doesn't require synchronization.
  • Customize Your Password: Monolith supports custom password length and allows you to choose character sets.

Table of Contents ๐Ÿ“

  1. ๐Ÿ’ป Installation
  2. โ–ถ Usage
  3. ๐Ÿ™ Acknowledgements

Building

Clone this repository

git clone https://github.com/samuelchristlie/monolith
cd monolith

Build project using Go

Windows

go build -ldflags="-s -w -H=windowsgui -extldflags=-static" monolith.go

Linux and MacOS

go build -ldflags="-s -w" monolith.go

The compiled build should be located in the current folder.

Prebuilt Binary

Prebuilt binary release is planned.

To run Monolith, simply open the executable. CLI version is planned.

Thanks to Patrick Gillespie for creating the ASCII text art tool used in this project https://patorjk.com/software/taag/

Thanks to Fyne for providing the UI toolkit used in this project https://github.com/fyne-io/fyne

monolith's People

Contributors

samuelchristlie avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.