https://github.com/am-ash-or-am-i/passlockdesktop
A cross-platform password manager
https://github.com/am-ash-or-am-i/passlockdesktop
cross-platform kivy kivymd password-manager
Last synced: about 1 month ago
JSON representation
A cross-platform password manager
- Host: GitHub
- URL: https://github.com/am-ash-or-am-i/passlockdesktop
- Owner: AM-ash-OR-AM-I
- License: mit
- Created: 2022-05-08T07:54:50.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-12-26T09:04:08.000Z (over 1 year ago)
- Last Synced: 2023-12-27T08:48:52.673Z (over 1 year ago)
- Topics: cross-platform, kivy, kivymd, password-manager
- Language: Python
- Homepage: https://am-ash-or-am-i.github.io/PasslockDesktop
- Size: 4.29 MB
- Stars: 11
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
# Passlock Desktop 🗝️
[]
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.
## Download 📥
[Download latest release 📥](https://github.com/AM-ash-OR-AM-I/PasslockDesktop/releases/latest)
> [!TIP]
> You might face issues with various platforms, please refer to the [Issues](#issues) section for solutions.Additional steps for linux
- Extract files to dir using `tar -xzvf passlock.tar.gz -C `
- `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.#### Manually (In case script doesn't work)
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
```bash
cd ~/.local/share/applications
nano passlock.desktop
```Paste the following lines by specifying the `/path/to/passlock` in `Exec` and `Icon` fields
```ini
[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
### Issues
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:
```bash
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.
## Features 📝
- 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.## Setup 🛠️
- 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.```sh
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/ ./kivymd/`
- Make a file named `libs\firebase_config.py` with the following content:```py
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 in `requirements.txt` are installed.## Packaging 📦
### Windows 🪟
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.
Manually
- Run `copy_kv_files.py` to copy kv files to `all_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` or `Program Files (x86)` folder as it will not have write permissions and app will not be able to create database file. Install in `C:\Passlock` or `D:\Passlock` or any other drive.### Linux 🐧
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.Manually
- Run `copy_kv_files.py` to copy kv files to `all_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`### MacOS 🍎
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 inside `dist` folder.
- Open the `.dmg` file and drag the app to Applications folder.
- Run the app from Applications folder.Manually
- Run `copy_kv_files.py` to copy kv files to `all_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](#issues) section.## Screenshots 📸
| Welcome | Home |
|--------------------------------------|-----------------------------------|
|  |  |
| Create Strong Passwords | Find |
|  |  |
| Backup and Sync | Choose Different Colors |
|  |  |## Frameworks ⚙️
Made with 💖 in Python using Kivy as framework, along with
KivyMD library.