PassFile Locker is a secure open source password manager and a file encryption application for the people who like to store their passwords themselves instead of an online password manager.
It has highly secure encryption for passwords and files. Your passwords are encrypted using the master password you provide and converted into unrecognisable bytes which cannot be read or converted back without knowing the master password.
- ⚡ No installation required.
- 🔑 AES-256 encryption for passwords.
- 🗝️ XChaCha20 encryption for files.
- 🤺 Uses scrypt for key derivation, disabling brute force attacks.
- 🧂 All encryptions are fully salted, i.e. even when encrypting same data with the same password, different ciphertext is generated each time.
- 💼 Everything is saved in a portable .lkr file, so that you can store it anywhere (Even in Google Drive; google will have no idea about your passwords).
- 🎨 Both GUI and CLI modes are available.
- 🤩 So simple to use that there is no need for a manual.
❗❗Note: Only file contents are encrypted, not file names, therefore don't store any sensitive information in file names.
-
Download passfile-gui-2.0.1-win-x64.zip.
If you want the CLI version, download passfile-cli-2.0.1-win-x64.zip. -
Extract the zip file. Run passfile.exe inside the passfile folder.
Note: After you have created a .lkr file, you can open it directly by selecting the above passfile.exe in Open with > Choose another app... option or when Windows prompts you after double-clicking the file.
-
Download passfile-gui-2.0.1-linux-x64.zip.
If you want the CLI version, download passfile-cli-2.0.1-linux-x64.zip. -
Extract the zip file. Run the passfile executable inside the passfile folder.
Note: After you have created a .lkr file, you can open it directly by opening it with the above passfile executable. Your Linux distro may ask you to choose a program to open it with when you double-click the file.
App was originally written in Python v3.12.1
- Clone the repo and move into it.
git clone https://github.com/ZenithFlux/PassFile_Locker.git && cd PassFile_Locker
- Install the requirments using pip.
pip install -r requirements.txt
- Run either gui.py or cli.py as per your wish.
OR
python gui.py
python cli.py
If you want to build a standalone PassFile executable for your platform, follow these additional steps:
-
Install pyinstaller and pillow using pip. Pillow because sometimes pyinstaller needs it to generate the app icon.
pip install pyinstaller==6.4.0 pillow==10.2.0
-
Run the following commands:
For GUI version:pyinstaller -w --contents-directory . --add-binary=icon.png:. --icon=icon.png -n=passfile gui.py
For CLI version:
pyinstaller --contents-directory . --icon=icon.png -n=passfile cli.py
-
You will find the built application in dist folder.
.lkr is the extension of the locker file created by the program. Double clicking .lkr file will prompt you for the password if opened with gui.py, cli.py, passfile.exe(Windows) or passfile executable(Linux).
Download the packaged zip files from releases section on github to get a pre-built executable for the program.
AES-256 Encyption is used for passwords: Extremely secure encryption method. Anything encrypted with AES has never been broken till date.
XChaCha20 Encryption is used for files: A less resource intensive encryption, hence it is used here to encrypt files. Also popular as highly secure stream cipher.
Adding, deleting, renaming or extracting files with very large size takes some time to complete. During that time GUI will become unresponsive since there is no loading screen in the application yet. Users are advised to patiently wait for the application to complete its operations.
Similar issue can also occur when locker size is very large.
Due to the above reasons, size limit is set to 2GB for a single file, and 3GB for the whole locker.