README
¶
PassPort

A secure, cross-platform password manager built with Go and Fyne. PassPort provides both a graphical user interface (GUI) and command-line interface (CLI) for managing encrypted passwords and sensitive information.
Features
- Secure Encryption: AES encryption with PBKDF2 key derivation for maximum security
- Cross-Platform: Works on Windows, Linux, and macOS
- Dual Interface:
- Graphical User Interface (GUI) built with Fyne
- Command-Line Interface (CLI) for terminal users
- Master Password: Single master password protects all stored credentials
- Easy Installation: Includes installers for Windows and a cross-platform install script for Linux/macOS
- Customizable Theme: Configurable application theme
System Requirements
- Go 1.26.0 or later (for building from source)
- Windows 10+, Linux, or macOS 10.13+
- OpenGL support for GUI mode (Linux:
libgl1-mesa-dev xorg-dev)
Installation
Windows
Using winget
The easiest way to install PassPort on Windows is using the Windows Package Manager:
winget install Buct0r.PassPort
Manual Installation
- Download the latest release from the GitHub repository
- Extract the executable to a folder of your choice
- (Optional) Add the folder to your PATH environment variable for easy command-line access
Building from Source
-
Ensure Go 1.26.0+ is installed
-
Clone the repository:
git clone https://github.com/Buct0r/PassPort.git cd PassPort -
Build the GUI version:
go build -o passport.exe ./src -
Or build the CLI version:
go build -o passport-cli.exe ./cli
Linux
Using the Install Script
The quickest way to install PassPort on Linux and macOS:
# Install CLI only (works on all platforms)
curl -fsSL https://raw.githubusercontent.com/Buct0r/PassPort/main/install.sh | bash
# Install GUI + CLI (Linux amd64 only)
curl -fsSL https://raw.githubusercontent.com/Buct0r/PassPort/main/install.sh | bash -s -- --gui
The script will:
- Auto-detect your OS and architecture
- Fetch the latest release from GitHub
- Install to
/usr/local/bin/(usessudowhen needed) - Verify GUI dependencies on Linux
For a custom install location:
curl -fsSL https://raw.githubusercontent.com/Buct0r/PassPort/main/install.sh | bash -s -- --prefix ~/.local
Using .deb or .rpm packages
Pre-built .deb (Debian/Ubuntu) and .rpm (Fedora/RHEL) packages are available on the releases page.
# Debian/Ubuntu
sudo dpkg -i passport_*.deb
sudo apt install -f # install dependencies
# Fedora/RHEL
sudo rpm -i passport-*.rpm
Building from Source
-
Ensure Go 1.26.0+ is installed
-
Clone the repository:
git clone https://github.com/Buct0r/PassPort.git cd PassPort -
Install dependencies (for GUI):
sudo apt-get install libgl1-mesa-dev xorg-dev -
Build the GUI version:
go build -o passport ./src -
Or build the CLI version:
go build -o passport-cli ./cli
macOS
Using the Install Script
The install script works on macOS for both CLI and GUI installs:
# Install CLI only (default)
curl -fsSL https://raw.githubusercontent.com/Buct0r/PassPort/main/install.sh | bash
# Install GUI + CLI
curl -fsSL https://raw.githubusercontent.com/Buct0r/PassPort/main/install.sh | bash -s -- --gui
Using Homebrew
The easiest way to install PassPort on macOS and Linux is using Homebrew:
brew tap Buct0r/PassPort
brew install PassPort
To install the CLI version only:
brew install PassPort --without-gui
Building from Source
-
Ensure Go 1.26.0+ is installed and Xcode Command Line Tools:
xcode-select --install -
Clone the repository:
git clone https://github.com/Buct0r/PassPort.git cd PassPort -
Build the GUI version:
go build -o passport ./src -
Or build the CLI version:
go build -o passport-cli ./cli -
(Optional) Move the binary to a location in your PATH:
sudo mv passport /usr/local/bin/
Usage
GUI Mode
- Run
passport.exe - On first launch, set up your master password
- Authenticate with your master password
- Use the graphical interface to:
- Add new passwords/secrets
- View stored credentials
- Search for passwords
- Manage your password vault
CLI Mode
- Run
passport.exe --cliorpassport-cli.exe - Authenticate with your master password
- Navigate the menu to:
- Add new passwords
- Check existing passwords
- Search for specific credentials
- Manage your vault
Command-Line Options
PassPort [FLAGS]
FLAGS:
--cli, -c Run in command-line interface mode
--version, -v Show version information
--help, -h Show help message
Security
PassPort takes security seriously. The application features:
- PBKDF2 Key Derivation: Strengthens master password against brute-force attacks
- AES Encryption: Industry-standard encryption for stored data
- No Cloud Storage: All data remains local on your machine
- Master Password Required: All access requires authentication
File Structure
PassPort/
├── src/ # GUI application source code
│ ├── main.go
│ ├── gui.go
│ ├── encrypt.go
│ ├── functions.go
│ └── ...
├── cli/ # CLI application source code
│ ├── cli.go
│ ├── encrypt.go
│ ├── functions.go
│ └── ...
├── go.mod # Go module definition
└── config.json # Configuration file
Configuration
Theme
Customize the application theme by editing config.json:
{
"theme": "CustomTheme"
}
Data Storage
- Master password:
master.key(stored in user's home directory) - Encrypted vault:
SECRETfile (stored in user's home directory)
Development
Prerequisites
- Go 1.26.0+
- For GUI: Fyne framework (included in dependencies)
- OpenGL development libraries
Dependencies
Key dependencies:
fyne.io/fyne/v2- GUI frameworkgolang.org/x/crypto- Cryptographic functionsgolang.org/x/term- Terminal control
Building for Different Platforms
GUI application:
go build -o passport ./src
CLI application:
go build -o passport-cli ./cli
Contributing
Contributions are welcome! Please ensure:
- Code passes security review
- Documentation is updated
- Cross-platform compatibility is maintained
Support
For issues, questions, or suggestions, please open a Github issue.
Disclaimer
PassPort is provided as-is. While security has been prioritized, users should regularly review security documentation and updates. Keep your master password safe and unique. I suggest to check my other project JSrandom, to generate a secure master password.
Version: 0.4.0
Last Updated: June 2026
Maintainer: Buct0r