PassLock is a password manager that helps you securely store and manage your passwords. It uses AES encryption to protect your data in a local database file. With a zero-knowledge encryption model, your master password is never saved anywhere, ensuring only you can decrypt your data. It also offers a backup and sync feature using Firebase Realtime Database. It is a desktop version of the android app Passlock.
Tip
You might face issues with various platforms, please refer to the Issues section for solutions.
Additional steps for linux
- Extract files to dir using
tar -xzvf passlock.tar.gz -C <output_path> cd passlock& Just run./install.shinside the passlock folder- It will ask for sudo password to create a softlink.
- This will add a menu item and make passlock accessible through terminal anywhere
- try
$ passlockor run from menu.
Creating a soft link
After installing and extracting .tar.gz file in linux to run app anywhere in terminal we can create a softlink like this:$ ln -s /path/to/passlock/Passlock /usr/local/bin/passlock
After this we can run passlock by typing $ passlock
Adding menu icon
cd ~/.local/share/applications
nano passlock.desktopPaste the following lines by specifying the /path/to/passlock in Exec and Icon fields
[Desktop Entry]
Encoding=UTF-8
Version=1.3.0
Type=Application
Terminal=false
Exec=/path/to/passlock/Passlock
Name=Passlock
Icon=/path/to/passlock/pass.pngNow app can be launched from applications menu
Linux
In linux you may face issues with app not starting, it's likely if xrandr isn't installed.
- Install
xrandrby$ sudo dnf xrandrin fedora or$ sudo apt xrandrin ubuntu
MacOS
-
In MacOS after installing app you may face issues with app not starting, it's likely due to quarantine attribute set by MacOS.
-
Remove quarantine attribute by running the following command in terminal:
xattr -cr /path/to/Passlock.app- Now you can run the app by double clicking on the app icon or optionally add it to dock.
- Backup and auto-sync βοΈ passwords across devices π»π±
- Encrypted π passwords using AES 128bit for maximum security.
- Zero-knowledge encryption π ensures your master password is never stored or transmitted.
- Mimics Material v3 Monet engine with π Dark Mode, to use different π¨ color themes.
- Make strong passwords π through built in password generator.
- Advanced π finding algorithm to search for passwords easily.
- Clone repo
git clone https://github.com/AM-ash-OR-AM-I/PasslockDesktop.git&cd PasslockDesktop - Run the following command in terminal to install dependencies in a virtual environment.
pip install --upgrade pip
python -m venv env
env\Scripts\activate
python -m pip install -r requirements.txt- Copy kivymd folder to site-packages
- Windows:
xcopy kivymd\* env\Lib\site-packages\kivymd\ /E - Linux/MacOS:
cp -r kivymd/ .</path/to/site-packages>/kivymd/
- Windows:
- Make a file named
libs\firebase_config.pywith the following content:
import os
os.environ["WEB_API_KEY"] = "[YOUR WEB API KEY HERE]" # Find web api key in firebase project settings
os.environ["DATABASE_URL"] = "[YOUR DATABASE URL HERE]" # Find database url in firebase project settings- To sanity check if everything is working fine, run
python main.pyand see if the app runs. - Also you can run
pip listto see if only the packages inrequirements.txtare installed.
Automated
- Run
.\build_windows.batto make windows build, optionally you can set version number by passing it as argument.- Example:
build_windows.bat 1.3.0 - This will first make .exe file using PyInstaller and then make MSI installer inside
Passlock-SetupFilesfolder.
- Example:
Manually
- Run
copy_kv_files.pyto copy kv files toall_filesfolder that will be used by PyInstaller. - NOTE: Do this every time you make changes to kv files.
- Make sure environment is activated if not run
env\Scripts\activate - Windows
pyinstaller passlock_windows.spec --noconfirm
Advanced Installer (MSI Build)
- Download and install Advanced Installer.
- Check to see if path is correct for advanced installer in
make_msi_build.batfile. - Run
make_msi_build.batto make MSI installer. - Output will be in
Passlock-SetupFilesfolder. - Run
Passlock-SetupFiles\Passlock.msito install and run app.- NOTE: While installing you should not install in
Program FilesorProgram Files (x86)folder as it will not have write permissions and app will not be able to create database file. Install inC:\PasslockorD:\Passlockor any other drive.
- NOTE: While installing you should not install in
Automated
- Run
./build_linux.shto make linux build, optionally you can set version number by passing it as argument.- Example:
./build_linux.sh 1.3.0 - This will make a tar.gz file inside
distfolder. - Extract the tar.gz file and run
./install.shto install the app.
- Example:
Manually
- Run
copy_kv_files.pyto copy kv files toall_filesfolder that will be used by PyInstaller.- NOTE: Do this every time you make changes to kv files.
- Make sure environment is activated if not run
source env/bin/activate - Linux
pyinstaller passlock_linux.spec --noconfirm
Automated
- Run
./build_macos.shto make MacOS build, optionally you can set version number by passing it as argument.- Example:
./build_macos.sh 1.3.0 - This will make a
.dmgfile insidedistfolder. - Open the
.dmgfile and drag the app to Applications folder. - Run the app from Applications folder.
- Example:
Manually
- Run
copy_kv_files.pyto copy kv files toall_filesfolder that will be used by PyInstaller.- NOTE: Do this every time you make changes to kv files.
- Make sure environment is activated if not run
source env/bin/activate - MacOS
pyinstaller passlock_macos.spec --noconfirm - Output will be in
dist/passlockfolder. - Open the
.dmgfile and drag the app to Applications folder.
Note
In case of any issues with packaging, please refer to the Issues section.
| Welcome | Home |
|---|---|
![]() |
![]() |
| Create Strong Passwords | Find |
![]() |
![]() |
| Backup and Sync | Choose Different Colors |
![]() |
![]() |
Made with π in Python using Kivy as framework, along with KivyMD library.





