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.sh
inside 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
$ passlock
or 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.desktop
Paste 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.png
Now 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
xrandr
by$ sudo dnf xrandr
in fedora or$ sudo apt xrandr
in 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.py
with 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.py
and see if the app runs. - Also you can run
pip list
to see if only the packages inrequirements.txt
are installed.
Automated
- Run
.\build_windows.bat
to 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-SetupFiles
folder.
- Example:
Manually
- Run
copy_kv_files.py
to copy kv files toall_files
folder 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.bat
file. - Run
make_msi_build.bat
to make MSI installer. - Output will be in
Passlock-SetupFiles
folder. - Run
Passlock-SetupFiles\Passlock.msi
to install and run app.- NOTE: While installing you should not install in
Program Files
orProgram Files (x86)
folder as it will not have write permissions and app will not be able to create database file. Install inC:\Passlock
orD:\Passlock
or any other drive.
- NOTE: While installing you should not install in
Automated
- Run
./build_linux.sh
to 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
dist
folder. - Extract the tar.gz file and run
./install.sh
to install the app.
- Example:
Manually
- Run
copy_kv_files.py
to copy kv files toall_files
folder 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.sh
to 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
.dmg
file insidedist
folder. - Open the
.dmg
file and drag the app to Applications folder. - Run the app from Applications folder.
- Example:
Manually
- Run
copy_kv_files.py
to copy kv files toall_files
folder 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/passlock
folder. - Open the
.dmg
file 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.