Version: 1.0.1
Architecture: Multi-Repository
Status: Production Ready
A secure, privacy-focused paste system that ensures complete client-side encryption before data ever leaves your browser. Built with TypeScript, Kotlin (Ktor), and a commitment to zero-knowledge architecture.
Delirium is a zero-knowledge encrypted paste service where the server never sees your unencrypted data. All encryption happens client-side using AES-256-GCM, ensuring true end-to-end privacy.
Key Principle: If you have nothing to hide, why do you have a lock on your door? π
Inspired by PrivateBin and old-school pastebin culture, Delirium puts privacy and anonymity first.
Delirium uses a multi-repository architecture for better maintainability and independent release cycles:
π± delerium-client
Frontend TypeScript Application
- Client-side encryption (AES-256-GCM)
- Web Crypto API integration
- Comprehensive test suite (Jest + Playwright)
- Type-safe TypeScript codebase
Quick Start:
git clone https://github.com/marcusb333/delerium-client.git
cd delerium-client
npm install && npm run buildβ‘ delerium-server
Backend Kotlin/Ktor API
- REST API for paste operations
- Proof-of-work spam protection
- SQLite database with Exposed
- OWASP dependency scanning
Quick Start:
git clone https://github.com/marcusb333/delerium-server.git
cd delerium-server
./gradlew runDeployment & Orchestration
- Docker Compose configurations
- Nginx reverse proxy
- Automated deployment scripts
- SSL/TLS setup tools
Quick Start:
git clone https://github.com/marcusb333/delerium-infrastructure.git
cd delerium-infrastructure
./scripts/setup.shDeploy the entire stack in under 5 minutes:
# Clone infrastructure repository
git clone https://github.com/marcusb333/delerium-infrastructure.git
cd delerium-infrastructure
# Run automated setup
./scripts/setup.sh
# Access at http://localhost:8080The setup script will:
- β Check prerequisites (Docker, Docker Compose)
- β Generate secure secrets automatically
- β Pull pre-built container images
- β Start all services
- β Verify health status
For contributing or customizing:
# Create workspace
mkdir delerium-dev && cd delerium-dev
# Clone all repositories
git clone https://github.com/marcusb333/delerium-client.git
git clone https://github.com/marcusb333/delerium-server.git
git clone https://github.com/marcusb333/delerium-infrastructure.git
# Start development environment
cd delerium-infrastructure
./scripts/setup.sh --dev- Zero-Knowledge Architecture - Server never sees unencrypted data
- Client-Side Encryption - AES-256-GCM encryption in browser
- Perfect Forward Secrecy - Unique keys per paste
- Secure Deletion - Cryptographic token-based deletion
- Proof of Work - Spam protection without accounts
- No Accounts Required - Truly anonymous
- No Tracking - No analytics, no cookies
- No Logging - Minimal server logs
- Self-Destructing Pastes - Single-view option
- Expiration Support - Time-limited pastes
- Type-Safe - TypeScript + Kotlin for reliability
- Comprehensive Tests - Unit, integration, and E2E coverage
- CI/CD Ready - GitHub Actions pipelines
- Docker Native - Easy deployment anywhere
- Well Documented - Architecture diagrams + guides
graph TB
subgraph "User's Browser"
UI[Web UI]
Crypto[Crypto Module<br/>AES-256-GCM]
PoW[Proof of Work<br/>Solver]
end
subgraph "Delirium System"
Nginx[Nginx<br/>Reverse Proxy]
API[Ktor API<br/>Kotlin/JVM]
DB[(SQLite<br/>Database)]
end
UI -->|Encrypt| Crypto
Crypto -->|Compute| PoW
PoW -->|HTTPS| Nginx
Nginx -->|Proxy| API
API -->|Store| DB
style UI fill:#1168bd,color:#fff
style Crypto fill:#1168bd,color:#fff
style PoW fill:#1168bd,color:#fff
style Nginx fill:#51cf66,color:#fff
style API fill:#4dabf7,color:#fff
style DB fill:#ffd43b,color:#000
Key Flow:
- User writes paste in browser
- Client encrypts with AES-256-GCM
- Client computes proof-of-work
- Encrypted data sent to server
- Server stores encrypted blob (never sees plaintext)
- Client generates shareable link with decryption key in URL fragment
Security Guarantee: The server only stores encrypted ciphertext. The decryption key never leaves the client or reaches the server.
- Quick Start Guide - 5-minute setup
- Development Guide - Local development
- Deployment Guide - Production setup
- C4 Architecture Diagrams - System design
- Proof of Work - PoW implementation
- Security Overview - Security model
- Contributing Guide - How to contribute
- Code Standards - Style guide
- PR Guidelines - Pull request process
- Security Policy - Security practices
- Responsible Disclosure - Report vulnerabilities
We welcome contributions to all Delirium repositories!
-
Choose a repository based on what you want to work on:
- Frontend/UI β
delerium-client - Backend/API β
delerium-server - Infrastructure β
delerium-infrastructure - Documentation β
delerium
- Frontend/UI β
-
Fork and clone the appropriate repository
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes with tests
-
Run quality checks:
# Client npm run lint && npm run test:all # Server ./gradlew test # Infrastructure docker compose config
-
Submit a pull request with clear description
- β Write tests for new features
- β Follow code style (ESLint/Kotlin conventions)
- β Keep PRs focused (100-300 lines ideal)
- β Update documentation as needed
- β All CI checks must pass
See detailed guidelines in CONTRIBUTING.md.
- Client: v1.0.1 - TypeScript SPA with 22 source files, 21 test files
- Server: v1.0.1 - Kotlin/Ktor API with 18 source files
- Infrastructure: v1.0.1 - Docker Compose + deployment tools
- Client Tests: 60+ tests (unit + integration + E2E)
- Server Tests: Comprehensive Ktor test suite
- Integration Tests: Full-stack E2E scenarios
- β Automated testing on all PRs
- β Docker image publishing to GHCR
- β Security scanning (npm audit + OWASP)
- β Daily integration test runs
Do not open public GitHub issues for security vulnerabilities.
Instead, please email: [Your security email]
Or use GitHub's private security advisories feature in the appropriate repository.
- π AES-256-GCM encryption
- π Cryptographically secure key generation
- π‘οΈ HTTPS/TLS for all connections
- π« No plaintext storage ever
- β±οΈ Auto-expiration of pastes
- π¨ Proof-of-work spam protection
Regular security practices:
- Automated dependency scanning
- OWASP dependency checks
- npm audit on every PR
- Manual security reviews
- Syntax highlighting for code pastes
- Dark mode theme
- API rate limiting improvements
- Mobile app (React Native)
- File attachment support (encrypted)
- Markdown rendering
- Password-protected pastes
- Custom expiration times
- End-to-end encrypted chat
- Peer-to-peer paste sharing
- WebRTC for real-time collaboration
- Decentralized storage options
See ROADMAP.md for detailed planning.
This project is licensed under the MIT License - see the LICENSE file for details.
- β Commercial use allowed
- β Modification allowed
- β Distribution allowed
- β Private use allowed
β οΈ No warranty providedβ οΈ License and copyright notice required
- PrivateBin - For pioneering zero-knowledge paste services
- Old-school pastebins - For the original concept
- Privacy advocates - For fighting for digital rights
- Ktor - Excellent Kotlin web framework
- TypeScript - Type-safe JavaScript development
- Web Crypto API - Browser-native encryption
- Docker - Simplified deployment
- GitHub Actions - CI/CD automation
- All contributors who have helped improve Delirium
- Security researchers who report vulnerabilities responsibly
- Users who trust us with their encrypted data
- Main Repository: github.com/marcusb333/delerium
- Client: github.com/marcusb333/delerium-client
- Server: github.com/marcusb333/delerium-server
- Infrastructure: github.com/marcusb333/delerium-infrastructure
- Documentation: github.com/marcusb333/delerium/docs
- Issues: Report in the appropriate repository
- Discussions: github.com/marcusb333/delerium/discussions
Join the conversation:
- π¬ GitHub Discussions - Questions and ideas
- π GitHub Issues - Bug reports and feature requests
- π§ Email - [Your email]
- π¦ Twitter - [Your handle] (if applicable)
git clone https://github.com/marcusb333/delerium-infrastructure.git
cd delerium-infrastructure
./scripts/setup.shAccess at http://localhost:8080 in under 5 minutes!
HACK THE PLANET! π
Built with β€οΈ by the Delirium community
Last updated: 2025-11-20