{"id":23314921,"url":"https://github.com/luddekn/lock-and-key","last_synced_at":"2025-08-22T14:31:25.535Z","repository":{"id":241550987,"uuid":"778788210","full_name":"luddekn/lock-and-key","owner":"luddekn","description":"Lock\u0026Key is a self-hosted, self-managed, open-source password manager. It provides everything you need to store and manage your accounts securely!","archived":false,"fork":false,"pushed_at":"2024-11-11T00:59:01.000Z","size":20169,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-11T01:34:51.445Z","etag":null,"topics":["customtkinter","encryption","mysql","open-source","password-generator","password-manager","python3","self-hosted","self-managed"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luddekn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-28T12:04:58.000Z","updated_at":"2024-11-11T00:59:04.000Z","dependencies_parsed_at":"2024-05-29T02:07:49.496Z","dependency_job_id":"a42349a1-affe-4905-8b13-ca34fb8f2a9f","html_url":"https://github.com/luddekn/lock-and-key","commit_stats":null,"previous_names":["ludvikkristoffersen/lock-and-key","luddekn/lock-and-key"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luddekn%2Flock-and-key","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luddekn%2Flock-and-key/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luddekn%2Flock-and-key/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luddekn%2Flock-and-key/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luddekn","download_url":"https://codeload.github.com/luddekn/lock-and-key/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230603725,"owners_count":18251990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customtkinter","encryption","mysql","open-source","password-generator","password-manager","python3","self-hosted","self-managed"],"created_at":"2024-12-20T15:19:27.604Z","updated_at":"2024-12-20T15:19:28.161Z","avatar_url":"https://github.com/luddekn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Lock\u0026Key](https://dl.dropboxusercontent.com/scl/fi/9oqp3mumdabuqertleppn/lock-and-key-github.png?rlkey=9b07vfcyqgtausavnn5r190nt\u0026st=yhoy6udx\u0026dl=0)\n- Created by: [@luddekn](https://github.com/luddekn)\n- Powered by Python, MySQL, and Customtkinter\n- Current OS support: **Windows**, **Linux**\n- [MIT License](https://github.com/luddekn/lock-and-key/blob/main/license.md)\n\n# Appendix\n1. **[About Lock\u0026Key](#about-lockkey)**\n    - [Features](#features)\n2. **[Installation and Set Up](#installation-and-set-up)**\n    - [MySQL Server Set Up](#mysql-server-set-up)\n    - [Installation](#installation)\n        - [Executable Installation](#executable-installation)\n        - [Manual Installation Linux](#manual-installation-linux)\n        - [Manual Installation Windows](#manual-installation-windows)\n    - [Usage](#usage)\n        - [Login](#login)\n        - [Sign Up](#sign-up)\n# About Lock\u0026Key\n\nLock\u0026Key is a self-hosted, self-managed, open-source password manager. It provides everything you need to store and manage your accounts securely!\n\nLock\u0026Key is built using Python as its main language with MySQL integrated to help store and manage password entries, it's self-hosted and open-source meaning you as the consumer have full control over everything. The master password for each user is used to encrypt and decrypt all user data with strong encryption to provide secure storage.\n## Features\n- **Adding account entries**: Create new or add existing account entries.\n- **Updating account entries**: Modify account entries with new information.\n- **Deleting account entries**: Remove unwanted account entries.\n- **Listing account entries**: Display a list of all or specified account entries.\n- **Password generation**: Generate random, complex passwords.\n- **Encryption**: All data is securely stored with encryption.\n\n# Installation and Set Up\n## MySQL Server Set Up\nThe user needs to have a local MySQL server set up and running, here is how to set up a MySQL server locally:\n\n**IMPORTANT!** - When creating a MySQL user account, remember these credentials, these credentials will be used to establish a database connection when running the application.\n- [Windows MySQL server installation (workbench not needed)](https://www.youtube.com/watch?v=u96rVINbAUI)\n- [Linux MySQL server installation (Debian)](https://www.youtube.com/watch?v=3qD6zv7thdE)\n## Installation\n### Executable Installation\nThe Lock\u0026Key password manager has been packaged as an executable for both Windows and Linux using the \"pyinstaller\" tool. Downloading the executable for your operating system eliminates the need to install any dependencies. It’s designed to work seamlessly right out of the box!\n- [Download Windows executable here.](https://github.com/luddekn/lock-and-key/releases/tag/Lock%26Key-Windows)\n- [Download Linux executable here.](https://github.com/luddekn/lock-and-key/releases/tag/Lock%26Key-Linux)\n```\nDownload and launch the executable file.\n```\n### Manual Installation Linux\nChange directory to the /opt directory:\n```\ncd /opt\n```\nClone repository (requires git to be installed):\n```\nsudo git clone https://github.com/luddekn/lock-and-key\n```\nChange the directory to the 'lock-and-key' directory:\n```\ncd lock-and-key\n```\nInstall the required libraries:\n```\npip install -r requirements.txt\n```\nInstall and fix the Pillow library:\n```\npip install --upgrade --force-reinstall Pillow\n```\nNow start the password manager from the command line:\n```\npython3 lock-and-key.py\n```\n### Manual Installation Windows\nClone repository (requires git to be installed):\n```\ngit clone https://github.com/luddekn/lock-and-key\n```\nChange the directory to the 'lock-and-key' directory:\n```\ncd lock-and-key\n```\nInstall the required libraries:\n```\npip install -r requirements.txt\n```\nInstall and fix the Pillow library:\n```\npip install --upgrade --force-reinstall Pillow\n```\nNow start the password manager from the command line:\n```\npython3 lock-and-key.py\n```\n## Usage\n### Login\n1. First, log in by providing your MySQL server IP, port, and MySQL user credentials.\n2. If you have created a user account, log in as that user to start using the password manager.\n### Sign Up\nIf this is your first time using the password manager you need to create a user account after logging into the MySQL server. Make sure to create a strong password, but you need to remember it or write it down in a safe spot!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluddekn%2Flock-and-key","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluddekn%2Flock-and-key","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluddekn%2Flock-and-key/lists"}