Serein
Rust로 만든 가볍고 성능 좋은 Discord 전용 네이티브 클라이언트
양자택일 암호화 메시징, 포스트 양자 암호학(ML‑KEM‑1024·CRYSTALS‑Kyber·CRYSTALS‑Dilithium) 적용
End-to-end encrypted messaging with post-quantum cryptography (ML-KEM-1024 / CRYSTALS-Kyber and CRYSTALS-Dilithium). Open source, self-hostable, and accessible over Tor.
소셜JavaScript · PLpgSQLGitHub @profullstack온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
QryptChat — code now lives in moshcoder/moshcode at apps/qryptchat-web; qrypt.chat deploys from there.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Quantum-Resistant End-to-End Encrypted Messaging
A secure, privacy-focused chat application built with post-quantum cryptography to protect against both classical and quantum computer attacks.
curl -fsSL https://qrypt.chat/install.sh | sh
qc
qc is qrypt.chat in your terminal: a full-screen chat client, a CLI and an MCP server
(packages/qryptchat). Remove it with sh ~/.local/share/qryptchat/uninstall.sh.
/talk, replies are read aloud (how it works)| Layer | Technology | Purpose |
|---|---|---|
| Frontend | SvelteKit 5 + Svelte 5 | Reactive UI framework with runes |
| Styling | Vanilla CSS + Custom Properties | Modern design system with themes |
| Database | Supabase PostgreSQL | User data, messages, and file storage |
| Real-time | Custom WebSocket + Supabase Realtime | Live message delivery & presence |
| Auth | Custom SMS + Supabase Auth | Phone-based verification system |
| SMS | Twilio | SMS verification and notifications |
| Crypto | ML-KEM-1024 + ChaCha20-Poly1305 | Post-quantum encryption (FIPS 203) |
| Key Exchange | ML-KEM (Kyber) + Dilithium | Quantum-resistant key management |
| File Encryption | Multi-recipient PQ encryption | Secure file sharing with metadata |
| PWA | Vite PWA Plugin + Service Worker | Offline-first with background sync |
| I18n | Custom Svelte Store | Multi-language with RTL support |
| WebRTC | Native WebRTC + ML-KEM | Encrypted voice/video calls |
| Testing | Vitest + Custom Test Suite | Comprehensive crypto and integration tests |
# Clone the repository
git clone https://github.com/yourusername/qryptchat.git
cd qryptchat
# Install dependencies
bun install
# Set up environment variables
cp .env.example .env
# Edit .env with your Supabase and Twilio credentials
# Run Supabase migrations (if using local Supabase)
pnpx supabase db reset
# Start development server
bun dev
The app will be available at http://localhost:8080 (or the PORT specified in your .env file).
# Development
PORT=8080
# Supabase
PUBLIC_SUPABASE_URL=your_supabase_url
PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
# Twilio (for SMS verification)
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_token
TWILIO_PHONE_NUMBER=your_twilio_phone
# App
PUBLIC_APP_URL=http://localhost:8080
If you want to run the frontend locally while connecting to your production Supabase instance (useful for testing or development without setting up a local database), follow these steps:
From your Supabase project dashboard:
https://xxxxx.supabase.co)Update your .env file with production values:
# Point to production Supabase
PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
PUBLIC_SUPABASE_ANON_KEY=your_production_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_production_service_role_key
# Keep local development settings
PORT=8080
PUBLIC_APP_URL=http://localhost:8080
NODE_ENV=development
# Production Twilio credentials (if testing SMS)
TWILIO_ACCOUNT_SID=your_production_twilio_sid
TWILIO_AUTH_TOKEN=your_production_twilio_token
TWILIO_PHONE_NUMBER=your_production_twilio_phone
⚠️ Security Warnings:
💡 Best Practices:
Start your development server:
bun dev
The app should now connect to your production Supabase instance. You can verify by:
To switch back to local Supabase:
# Start local Supabase
pnpx supabase start
# Update .env with local credentials
PUBLIC_SUPABASE_URL=http://localhost:54321
PUBLIC_SUPABASE_ANON_KEY=your_local_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_local_service_role_key
QryptChat implements a zero-knowledge post-quantum architecture where:
# Start development server
bun dev
# Run tests
bun run test
# Run tests with UI
bun run test:ui
# Build for production
bun run build
# Preview production build
pnpm preview
# Lint code
pnpm lint
# Format code
pnpm format
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ for a quantum-safe future