Giter Site home page Giter Site logo

amtzespinosa / passman Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 911 KB

#passman is a password generator and manager built using Python and SQLite3. It has a nice GUI made with customtkinter and it features a little mod of the ctk_optionmenu widget to add a placeholder text. You'll have to add this mod to be able to use it.

Home Page: https://amtzespinosa.github.io/

License: GNU General Public License v3.0

Python 98.63% Shell 1.37%
customtkinter passman password-generator password-manager python sqlite3 tkinter tkinter-gui

passman's Introduction

passman header

python version license build

#passman is a password generator and manager built using Python and SQLite3. It has a nice GUI made with customtkinter and it features a little mod of the ctk_optionmenu widget to add a placeholder text. You'll have to add this mod to be able to use it.

Here's my repo with the modification: CustomTkinter Option Menu Placeholder Text Mod

NOTE:

It's not a final version as I coded it as a 24h. straight coding challenge. The installation is not a proper installation process and it's not correct by any means. The point of this repo is to share it with the community and see how far can it go with other's modifications. Please, feel free to fork it and share your improvements.

passman showcase

Instalation

Tested Tested

I'd rather say "installation" as it only moves files and creates the files for execution ease. By executing the install.sh script, it will:

  1. Install the required dependencies and modules
  2. Copy the main folder into /usr/lib/passman/
  3. Grant required permissions to the database
  4. Copy the CLI command files into /usr/bin/
  5. Grant required permissions to the command file
  6. Delete folder

As you can see it's not a proper installation and this is just a workaround build for this Alpha version aimed to be fixed and improved. To install it just run:

Ubuntu

sudo bash install.sh

Kali Linux

sudo ./install.sh

If you want to uninstall #passman just run the command sudo passman-uninstall - this will completely remove everything, be careful!

Use

To run the program just run sudo passman. The first time you execute the program you'll be presented with the #register page where you have to register your master user.

โš ๏ธ WARNING:

Remember this credentials! If you forget them you may not be able to recover the passwords you saved. I say may because I haven't tested the program for security, bugs and workarounds... Yet!

register showcase

After you register your master user you'll get logged into the main screen which is the #passgen screen. Here you can generate a secure random password between 5 and 50 characters. In the panel at the bottom you'll find the password characters and length settings.

EASTER EGG:

I couldn't help myself and end up hiding an easter egg here!

passgen showcase

By clicking the Generate button a new password will be generated and you'll be able to copy it. You can use the Copy button or you can select and then Ctrl + C to copy and Ctrl + V to paste it.

Once you have the password in the clipboard you can head to the Add New tab.

add new showcase

Once you have filled the fields with the credentials, you can hit Add to store the them - you can check them heading to the List tab.

And to remove any of the stored passwords you can head to the Delete tab. Once there you only need to select the credentials you want to remove and hit the Delete button. Regarding the pictures below:

delete showcase

The one on the left shows the customtkinter mod I mentioned at the beginning of this repo in action. Little mod but pretty cool in my opinion. And the one on the right shows the dropdown menu. Credentials are removed as soon as you hit Delete BUT don't worry if you remove one by mistake, due to a coding error, credentials don't get removed straight away - they are completely removed after restarting the program.

And next time you execute it again you'll be prompted with the #login screen. Use your master user credentials!

login showcase

Known Errors

There are plenty of them for sure but here are some of the most anoying ones I will focus on:

  • Copy button not working - xclip issue in Ubuntu: solved installing xclip with install.sh
  • Dirty code - made to work but unstable and not properly implemented
  • Stored password and refreshing issues - dynamical CTk frames issue
  • General security issues

Future Improvements and Features

  • Add keyboard support - hit Enter to login and so on...
  • Confirmation message before credentials deletion
  • Add multiple master users support
  • Add stronger cryptographic security
  • Make it Windows and other OS compatible
  • Cloud-based storage
  • Make it cross-platform - Computer, Android, Web...

Support or Join the Project!

If you like #passman please share it with the community, share your issues and ideas on join me in this project and help me improve it! Anyone interested in this project can join!

passman's People

Contributors

amtzespinosa avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

cisfran05

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.