Coder Social home page Coder Social logo

paxvault's Introduction

Paxvault

Paxvault is a command line offline password manager written in Python. It is an open source project that provides a secure and convenient way to manage your passwords. With its AES-256 encryption and various password management modules, Paxvault ensures the utmost security for your sensitive information.

Demo

PaxVault CLI demo

Features

  1. Login

    • Secure login with username and password using SQL.
  2. Password Manager Modules

    • Password Manager: Store your passwords in an encrypted database.
      • Save usernames, passwords, and emails securely.
      • Utilizes SQL database with AES-256 encryption.
      • List saved logins.
      • Auto-copy passwords to the clipboard for convenience.
    • Password Generation: Generate super unique and strong passwords.
      • Customize the password length.
      • Automatically capitalize characters.
      • Include numbers in the password.
      • Include symbols in the password.
      • Include emojis in the password.
      • Auto-copy generated passwords to the clipboard.
    • Passphrase Generator: Generate passphrases with varying complexity levels.
      • Create custom passphrases.
      • Complexity level I: Random words.
      • Complexity level II: Level I + capitalization.
      • Complexity level III: Level II + numbers.
      • Complexity level IV: Level III + symbols.
    • Password Quality Meter: Evaluate the strength of your passwords.
      • Perform normal checks, including minimum length, upper and lower case, numbers, and symbols.
      • Check against the haveibeenpwned database.
      • Utilize advanced password strength libraries for comprehensive checks.

Installation

  1. Check Python Version: Ensure you have the latest Python version installed:

    python3 --version
  2. Clone and Install: Clone the repository, navigate to the project folder, and install the required libraries:

    git clone https://github.com/StealthIQ/Paxvault.git
    cd Paxvault/
    pip install -r requirements.txt
  3. Linux Users: For Linux users, streamline the package installation process:

    while IFS= read -r line; do pip install "$line"; done < requirements.txt
  4. MySQL Installation: For Arch Linux users, install MySQL server using paru:

    paru -Sy mysql
    mysql --version

    For other operating systems, ensure to download the appropriate packages using your package manager.

Troubleshooting

MySQL Login and Permissions

  • Login to MySQL: Access MySQL database:

    sudo mysql -u root -p
  • Check User Permissions: Verify user permissions:

    SHOW GRANTS FOR 'root'@'localhost'; 
  • Grant Permissions: Grant necessary permissions to users:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

Password Reset

  1. Stop MySQL: Stop MySQL service:

    sudo systemctl stop mariadb
  2. Start in Safe Mode: Start MariaDB in Safe Mode to reset the root user password:

    sudo mysqld_safe --skip-grant-tables &
  3. Open New Terminal: Open a new terminal window and access MySQL:

    mysql -u root 
  4. Reset Password: Reset the password using one of the following methods:

    • Using UPDATE command:
      USE mysql;
      UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
      FLUSH PRIVILEGES;
    • Using ALTER USER command:
      ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    • Using UPDATE command (for older MySQL versions):
      UPDATE user SET password=PASSWORD('new_password') WHERE User='root';

    Replace 'new_password' with your desired password or set it to default 'root'.

  5. Exit MySQL: Exit MySQL:

    exit;
  6. Stop Safe Mode: Stop MySQL Safe Mode:

    sudo systemctl start mariadb
  7. Restart Service: Restart the MySQL service:

    sudo systemctl start mysqld

Initialize MySQL

To initialize MySQL in your system:

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Start the MySQL service:

sudo systemctl start mysqld

Run Main Script:

  • Finally, run the main script to start using Paxvault:
    python3 main.py

Roadmap

  • Fix minor bugs
  • SQL DB Schema
  • haveibeenpwned API ratelimit

Project Creation Process

  1. Project Mind Map Imgur
  • Here I will provide a brief explanation of how I developed this project, the challenges I faced, and what I have learned so far.

Feedback

If you have any feedback, please reach out to me at stealthiq[at]protonmail.com or twitter

Authors

paxvault's People

Contributors

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