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.
-
Login
- Secure login with username and password using SQL.
-
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.
- Password Manager: Store your passwords in an encrypted database.
-
Check Python Version: Ensure you have the latest Python version installed:
python3 --version
-
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
-
Linux Users: For Linux users, streamline the package installation process:
while IFS= read -r line; do pip install "$line"; done < requirements.txt
-
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.
-
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;
-
Stop MySQL: Stop MySQL service:
sudo systemctl stop mariadb
-
Start in Safe Mode: Start MariaDB in Safe Mode to reset the root user password:
sudo mysqld_safe --skip-grant-tables &
-
Open New Terminal: Open a new terminal window and access MySQL:
mysql -u root
-
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'
. - Using
-
Exit MySQL: Exit MySQL:
exit;
-
Stop Safe Mode: Stop MySQL Safe Mode:
sudo systemctl start mariadb
-
Restart Service: Restart the MySQL service:
sudo systemctl start mysqld
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
- Finally, run the main script to start using Paxvault:
python3 main.py
- Fix minor bugs
- SQL DB Schema
- haveibeenpwned API ratelimit
- Here I will provide a brief explanation of how I developed this project, the challenges I faced, and what I have learned so far.
If you have any feedback, please reach out to me at stealthiq[at]protonmail.com or twitter