A CLI based password manager
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
To get a local version up and running follow these simple steps.
This is an example of how to list things you need to use the software and how to install them.
-
pip
python3 -m pip install --upgrade pip
-
Clone the repo
git clone https://github.com/marvelman3284/Python-Password-Manager.git
-
Create your virutal enviorment
python3 -m venv env
-
Install python packages
pipenv install && pipenv install-dev
-
Insert the necessary information to the config file Make a copy of
config.example.ini
and name itconfig.ini
. Fill in each spot.[Email]
Email
is the actual email you want to use ([email protected])- This is built to use a gmail email, for anything else you will have to make your own configurations.
-
If you are using gmail you must turn on Allow Access for Less Secure Apps in your email settings
Password
is the password for your email
[MySql]
Host
is the ip for the server where you are hosting the database. Uselocalhost
if the server is hosted on your computer.User
is the username you use to log into the server.Password
is the password for your username to log into the server.Database
is the database which your tables are going to be stored.
-
Duplicate the example files in /data/
- Copy the files:
-
cp /data/key.example.key data/key.key && cp /data/save.example.pickle save.pickle
- Or:
cd /data cp key.example.key key.key cp save.example.pickle save.pickle
-
- Remove the old ones
-
rm data/key.example.key && rm data/save.example.pickle
- Or:
cd /data/ rm key.example.key rm save.example.pickle
-
- Copy the files:
-
Generate the needed tables in your MySQL server
python /src/server.py
-
ONLY RUN THIS IF YOU DO NOT HAVE THE MYSQL DATABASE SET UP OTHERWISE IT WILL BREAK
-
On first time setup you will have to create a master password that cannot be changed.
Next you will have to create a user to login with.
You will also need to provide an email that will be used for 2FA (two factor authentication)
Then you will setup a pass to be associated with your user.
Finally you will be directed to login (see below)
For more examples, please refer to the Documentation
See the open issues for a list of known issues. The repository projects contains the the roadmap.
- April 26, 2021;
- Implementing logging statements using the python logging module
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL-3.0 License. See LICENSE
for more information.
Your Name - @marvelman3284 - [email protected] - Marvelman3284#6554
Project Link: https://github.com/marvelman3284/Python-Password-Manager
- othneildrew for the README.md template
- Credit to Luiz Rosa on hackernoon for the code in
/src/totp.py
- Credit to Sci Prog on stackoverflow for the validate function in
src/passManager.py
- Credit to PyTutorials on nitratine for the code snippetes in
src/encrypt.py
- Credit to TheOtherUnkown for the flake8 workflow in
/.github/workflows/flake8.yml
.gitignore
from toptal.com