Passenger-Go is a secure, self-hosted passphrase manager that runs in your local network. It provides a modern, responsive web interface for managing your passphrases and sensitive information, with all data encrypted and stored locally on your server.
Additionally provides an api, so you can use it in your own client projects.
Passenger-Go is designed to run as a always online server. So you can consider using a VPS or a dedicated server.
You can use Tailscale to connect to your server from anywhere.
- Install Tailscale: Assuming you are using a Linux server, and you already installed and configured Tailscale.
- Clone the repository:
git clone https://github.com/Elagoht/passenger-go.git
cd passenger-go
- Run the installation script:
./install.sh
The installation script will ask you for the following information:
- The port to run the server on (default: 8080)
- The JWT secret (a complex string)
- The AES-GCM secret (exactly 32 characters)
- The salt (recommended: 16 characters)
- Serve the application with Tailscale:
tailscale serve --port http://localhost:[YOUR_PORT_HERE]
- Use the application!: Your server is now accessible only in your Tailscale network. Your tailscale domain will be your server's domain.
- 🔒 AES-GCM encryption for stored data
- 🔑 JWT-based authentication
- 🍃 Environment-based secret management
- 💾 SQLite database for easy backup and portability
- 🐿️ Built with Go for performance and reliability
- 🎨 Modern, responsive UI with dark/light mode support
- 🔍 Real-time search functionality
- 🌐 Automatic favicon fetching for account cards
- 📱 Mobile-friendly design
- 📦 API for client projects (you can create a mobile app, desktop app, etc.)
- Modern Card Layout: Clean, card-based interface for easy account management
- Favicon Support: Automatic favicon fetching from websites using icon.horse
- URL Integration: Click to open account websites in new tabs
- Real-time Search: Instant search across platform names, usernames, and notes
- Passphrase Generator: Generate strong passphrases with customizable length and complexity
- Passphrase Alternator: Changes the given passphrase's characters to similar looking characters
- Responsive Design: Works perfectly on desktop, tablet, and mobile devices
- Copy to Clipboard: One-click copying of usernames and passphrases
- Import/Export: Support for Firefox and Chromium CSV exports
- API Documentation: Comprehensive API reference with interactive endpoint documentation
Required environment variables:
JWT_SECRET
: Secret for JWT token generationAES_GCM_SECRET
: Secret for AES-GCM encryptionSALT
: Salt for passphrase hashingPORT
: Port to run the server on
This project is licensed under the GPL-3.0 license.
This project is open source and free to use. Feel free to contribute to the project.
Passwords are obsolete and not secure. Passphrases are more secure and easier to remember. word means, a single word. phrase means, a group of words. How long is your "passkey" means how secure it is. By using phrases, you can remember them easier while being more secure.