Code Monkey home page Code Monkey logo

pwgen's Introduction

Secure Password Generator

Description

This simple docker web application is designed to generate secure passwords or passphrases with customizable options. Users can opt to generate either a random password with specific criteria or a passphrase composed of random words. It includes features for enhancing password strength, such as including uppercase letters, digits, and special characters for passwords, or capitalizing words and specifying separators for passphrases.

A demo of the software is available on https://pwgen.joonatanh.com (main branch).

Features

  • User Interface: Display the generated password or passphrase in a user-friendly interface with the option to copy it to the clipboard.
  • Security Check: Check all generated passwords and passphrases against the haveibeenpwned database using their API to ensure users are not shown a compromised password.
  • Offline Mode: Added a feature to disable checking passwords against the haveibeenpwned API, suitable for instances running in isolated networks or where external API access is unnecessary.
  • Environment Variable Configuration for Password/Passphrase Defaults: Functionality to allow users to define default settings for password and passphrase generation using environment variables.
    • Environment Variable Customization: Configure default settings for password and passphrase generation through environment variables.
  • Security Checks: Validates all generated passwords and passphrases against the haveibeenpwned database to ensure they haven't been previously compromised.
  • Offline Mode: Provides an option to disable online checks against the haveibeenpwned API, ideal for isolated networks or enhanced privacy needs.
  • Multiple Generation: Generates up to 5 passwords or passphrases simultaneously, configurable via an environment variable (MULTI_GEN=true).
  • Language Dropdown Control: Allows the disabling of the language dropdown menu through an environment variable (PP_HIDE_LANG=true), simplifying the UI based on user preference.
  • Progressive Web Application (PWA): Ensures a seamless, app-like experience on various devices.
  • Comprehensive Password Generation Options: Includes uppercase letters, digits, and special characters, with an option to exclude homoglyphs.
  • Flexible Passphrase Generation: Offers capitalization of words, choice of separators (space, number, special character, or user-defined character), and inclusion of numbers or special characters.
  • User Interface: Features a user-friendly interface with clipboard copy functionality for easy password and passphrase use.
  • Language Support: Supports English and Finnish word lists for passphrase generation.
  • Custom Word Lists: Supports fetching custom word lists from specified URLs, facilitating personalized passphrase generation. Requires URLs to start with https://raw.githubusercontent.com/ and point to .txt files.

How to Use

  1. Install Docker if you haven't already.
  2. Run the Generator: Pull the image jocxfin/pwgen:latest and then run it using the following commands:
docker pull jocxfin/pwgen:latest
docker run -d -p 5069:5069 jocxfin/pwgen:latest

To enable Offline Mode, append -e NO_API_CHECK=true to the docker run command:

docker run -d -p 5069:5069 -e NO_API_CHECK=true jocxfin/pwgen:latest

With environmental variables defining settings:

docker pull jocxfin/pwgen:latest
docker run -d -p 5069:5069 \\
  -e NO_API_CHECK=false \\
  -e PW_LENGTH=12 \\
  -e PW_INCLUDE_UPPERCASE=false \\
  -e PW_INCLUDE_DIGITS=false \\
  -e PW_INCLUDE_SPECIAL=false \\
  -e PW_EXCLUDE_HOMOGLYPHS=true \\
  -e PP_WORD_COUNT=4 \\
  -e PP_CAPITALIZE=false \\
  -e PP_SEPARATOR_TYPE=space \\
  -e PP_USER_DEFINED_SEPARATOR='' \\
  -e PP_MAX_WORD_LENGTH=12 \\
  -e PP_INCLUDE_NUMBERS=false \\
  -e PP_INCLUDE_SPECIAL_CHARS=false \\
  -e PP_LANGUAGE=en \\
  -e PP_HIDE_LANG=false \\
  -e PP_LANGUAGE_CUSTOM='' \\
  -e MULTI_GEN=true \\
  jocxfin/pwgen:latest

Requirements

  • Docker
  • Any modern web browser

License

This project is open-source and available under the AGPL-3.0 license.

pwgen's People

Contributors

jocxfin 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.