π ZeePass is a comprehensive web application providing end-to-end encryption tools for text, files, chat, password generation, SSH keys, and Base64 encoding/decoding. Built with Go and HTMX for a modern, secure, and user-friendly experience.
- AES-256-GCM encryption for maximum security
- PIN protection with SHA-256 hashing
- Configurable lifetime: Once-read, 1 hour, 24 hours, 7 days, 30 days, or never expires
- Auto-destruction after reading (for once-read messages)
- Secure sharing via unique URLs
- Encrypt any file type up to 10MB
- AES-256-GCM encryption with same security features as text
- File metadata protection (filename, size, MIME type)
- Secure download with automatic cleanup
- Support for PIN protection and lifetime management
- Real-time encrypted chat via WebSockets
- End-to-end encryption - messages encrypted before transmission
- Auto-expiring messages with configurable lifetime
- Redis-backed storage for scalability
- No message logging - everything is encrypted
- Multiple password types:
- Random passwords with customizable character sets
- Memorable passwords using word combinations
- PIN codes for secure access
- Strength analysis (weak/medium/strong)
- Configurable length (4-64 characters)
- Character set options: uppercase, lowercase, numbers, symbols
- Multiple key types: RSA, Ed25519, ECDSA
- Key length options:
- RSA: 2048, 3072, 4096 bits
- ECDSA: 256, 384, 521 bits
- Ed25519: 256 bits (fixed)
- Passphrase protection with AES-256 encryption
- Custom comments for key identification
- Industry-standard formats (PEM, OpenSSH)
- Encode/Decode text to/from Base64
- File encoding - Upload files (up to 10MB) and convert to Base64
- File decoding - Convert Base64 back to downloadable files
- Real-time processing with HTMX
- Binary data handling with proper MIME type detection
- Error handling for invalid Base64 input and oversized files
- Clean, intuitive interface
- Modern Landing Page with comprehensive feature overview
- Dark/Light Theme Toggle with system preference detection
- Responsive Design optimized for all device sizes
- About Us Section featuring:
- Our Mission: Making advanced cryptography accessible to everyone
- Our Expertise: Built by security experts and cryptography specialists
- Our Commitment: Continuous innovation and transparency in security
- Enterprise Contact System with multiple inquiry types and advanced spam protection
- Cloud hosting, on-premise installation, technical support inquiries
- Multi-layered spam protection (honeypot, content filtering, rate limiting)
- reCAPTCHA v3 integration with score-based verification
- Professional email notifications via Resend API
- User Feedback & Survey System for business intelligence
- Comprehensive usage analytics and market research
- Net Promoter Score (NPS) collection
- Feature request tracking and enterprise interest assessment
- Smooth Animations and glassmorphism design effects
cmd/server/ # Application entry point
internal/
βββ handlers/ # HTTP request handlers
β βββ base64.go # Base64 encoding/decoding (text & files)
β βββ chat.go # Real-time chat WebSocket handlers
β βββ contact.go # Enterprise contact system with spam protection
β βββ encryption.go # Text and file encryption handlers
β βββ feedback.go # User survey and feedback collection
β βββ home.go # Landing page and core template rendering
β βββ password.go # Password generation with strength analysis
β βββ sshkey.go # SSH key generation with multiple algorithms
β βββ survey.go # Survey page template handler
β βββ view.go # Encrypted content viewing and validation
βββ models/ # Data structures
βββ services/ # Business logic
βββ crypto.go # Encryption/decryption
βββ storage.go # Redis data persistence
βββ password.go # Password generation
βββ sshkey.go # SSH key generation
βββ chat.go # Real-time chat
templates/ # HTML templates with responsive design
βββ index.html # Landing page with dark mode support
βββ base64.html # Base64 encoding/decoding tool (text & files)
βββ chat-encryption.html # Real-time encrypted chat
βββ file-encryption.html # File upload and encryption
βββ password-generator.html # Password generation tool
βββ ssh-key.html # SSH key generation tool
βββ survey.html # User feedback and survey collection
βββ text-encryption.html # Text encryption and sharing
Frontend Features:
- Dark/Light Theme Toggle with localStorage persistence
- Responsive Design optimized for mobile and desktop
- System Theme Detection (follows OS preferences)
- Smooth Animations and transitions
- Modern UI Components with glassmorphism effects
- Encrypted data storage with automatic TTL
- Chat message persistence
- View count tracking
- Automatic cleanup of expired content
- Go 1.24.2+
- Redis Server (for data persistence)
- Git (for cloning)
-
Clone the repository
git clone https://github.com/anazri/zeepass.git cd zeepass
-
Install dependencies
go mod download
-
Start Redis server
# On macOS with Homebrew brew services start redis # On Ubuntu/Debian sudo systemctl start redis-server # On Windows (with Redis for Windows) redis-server
-
Run the application
go run cmd/server/main.go
-
Access the application
Open your browser and navigate to: http://localhost:8080
Edit internal/services/storage.go
to configure Redis connection:
rdb = redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "your-redis-password",
DB: 0,
})
internal/services/crypto.go
:
var encryptionKey = []byte("your-32-byte-encryption-key-here")
Use a cryptographically secure 32-byte key in production.
- AES-256-GCM Encryption: Military-grade encryption for all data
- Zero-Knowledge Architecture: Server never sees unencrypted data
- SHA-256 PIN Hashing: Secure PIN protection
- Automatic Expiration: Time-based and view-count-based expiry
- Secure Random Generation: Cryptographically secure random number generation
- TLS-Ready: Designed for HTTPS deployment
- reCAPTCHA v3 Integration: Score-based bot detection with intelligent thresholds
- Multi-layered Spam Protection:
- Honeypot field detection for automated form submissions
- Content-based spam filtering with keyword blacklists
- Rate limiting (3 requests per 10-minute window per IP)
- Input Validation: Comprehensive form validation and sanitization
- IP Tracking: Client identification and monitoring for security analysis
ZeePass uses HTMX over client-side frameworks (React/Next.js) for enhanced security:
β HTMX Security Advantages:
- Server-Side Cryptography: All encryption/decryption operations execute server-side in Go
- Zero Client-Side Crypto: No JavaScript cryptographic libraries exposed to browser
- Minimal Attack Surface: Reduced client-side code minimizes potential vulnerabilities
- Server-Only Secrets: Encryption keys never transmitted to or accessible by client
- XSS Mitigation: Limited client-side JavaScript reduces XSS-based crypto key extraction risks
- JavaScript crypto libraries exposed in browser environment
- Potential crypto keys in client bundles
- Complex dependency chains increase attack surface
- Client-side state management vulnerabilities
- SSR/hydration security considerations
Security Decision: HTMX's server-centric approach aligns perfectly with ZeePass's zero-knowledge security model, ensuring all cryptographic operations remain server-side while clients only receive encrypted results.
Recommended Deployment: Docker Compose over Kubernetes
- Simplified Attack Surface: Fewer moving parts reduce security complexity
- Container Isolation: Docker provides process and filesystem isolation
- Secrets Management: Docker Compose secrets for encryption keys and Redis passwords
- Network Security: Internal container networking isolates services
# Run directly
go run cmd/server/main.go
# Or use Air for live reloading (recommended)
air
go build -o zeepass cmd/server/main.go
./zeepass
# Clone and navigate to the deploy directory
cd deploy
# Start with minimal setup (includes monitoring)
docker-compose -f docker-compose-minimal.yml up -d
# Or full setup with advanced monitoring
docker-compose up -d
1. Initialize Docker Swarm
# On manager node
docker swarm init --advertise-addr <MANAGER-IP>
# On worker nodes (use token from init output)
docker swarm join --token <TOKEN> <MANAGER-IP>:2377
2. Deploy ZeePass Stack
# Navigate to deploy directory
cd deploy
# Deploy the stack
docker stack deploy -c docker-swarm-minimal.yml zeepass
3. Manage the Stack
# Check stack status
docker stack ps zeepass
# Scale services
docker service scale zeepass_zeepass=3
docker service scale zeepass_nginx=2
# View logs
docker service logs zeepass_zeepass
# Remove stack
docker stack rm zeepass
4. Stack Features
- High Availability: 2 replicas of ZeePass app and Nginx
- Load Balancing: Automatic load balancing across replicas
- Rolling Updates: Zero-downtime deployments
- Health Checks: Automatic service recovery
- Monitoring: GoAccess, Uptime Kuma, and Netdata included
5. Access Services
- ZeePass: http://your-swarm-ip (load balanced)
- GoAccess: http://your-swarm-ip:7890
- Uptime Kuma: http://your-swarm-ip:3001
- Netdata: http://your-swarm-ip:19999
FROM golang:1.24.2-alpine AS builder
WORKDIR /app
COPY go.* ./
RUN go mod download
COPY . .
RUN go build -o zeepass cmd/server/main.go
FROM alpine:latest
RUN apk --no-cache add ca-certificates
WORKDIR /root/
COPY --from=builder /app/zeepass .
COPY --from=builder /app/templates ./templates
EXPOSE 8080
CMD ["./zeepass"]
REDIS_URL
: Redis connection stringENCRYPTION_KEY
: 32-byte encryption key (base64 encoded)PORT
: Server port (default: 8080)RESEND_API_KEY
: API key for professional email notificationsRECAPTCHA_SECRET_KEY
: reCAPTCHA v3 secret key for spam protection
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Nazri Abdullah
Software Architect/Engineer & Cybersecurity Expert
LinkedIn | GitHub
- Backend: Go 1.24.2
- Frontend: HTMX, TailwindCSS, Vanilla JavaScript
- Database: Redis
- Encryption: AES-256-GCM
- WebSockets: Gorilla WebSocket
- Security: reCAPTCHA v3, Rate Limiting, Spam Protection
- Email: Resend API for professional notifications
- Development: Air (live reloading)
- Deployment: Docker-ready
- β Text Encryption - Complete
- β File Encryption - Complete
- β Chat Encryption - Complete
- β Password Generator - Complete
- β SSH Key Generator - Complete
- β Base64 Tools (Text & Files) - Complete
- β Dark/Light Theme - Complete
- β Responsive Design - Complete
- β Enterprise Contact System - Complete
- β User Feedback & Survey System - Complete
- β Advanced Spam Protection - Complete
- β reCAPTCHA v3 Integration - Complete
- β Professional Email Integration - Complete
- β Rate Limiting & IP Tracking - Complete
- π PGP/GPG Key Tools - Generate/import/export OpenPGP keys, encrypt/decrypt/sign messages/files with PGP
- π JWT (JSON Web Token) Tools - Encode/decode/verify JWTs, sign with HS256/RS256/ES256/EdDSA
- π Hashing Tools - Compute SHA-256, SHA-512, BLAKE2, Argon2, MD5 for integrity checks and password hashing
- π QR Code Crypto - Generate QR codes for encrypted messages, passwords, SSH keys with scan/decrypt functionality
- π Key Derivation Functions (KDFs) - PBKDF2, scrypt, Argon2 for secure password-to-key generation
- π Digital Signature Tools - Sign and verify text/files using RSA/ECDSA/Ed25519 for software authenticity
- π Certificate & TLS Tools - Generate CSRs and self-signed X.509 certificates, inspect SSL/TLS certificates
- π Mnemonic & Wallet Tools - Generate BIP39 mnemonics, derive HD wallet keys (BIP32/44), export to ETH/BTC formats
- π Steganography Tools - Hide encrypted text inside images with extraction capabilities
- π Entropy & Randomness Tester - Generate cryptographically secure random numbers with entropy visualization
- π User Authentication - Planned
- π API Endpoints - Planned
- π Mobile App - Planned
- π Analytics Dashboard - Planned
β Star this repository if you find it useful!
π Found a bug? Report it here
π‘ Have a suggestion? Let us know!