Bumps [starlette](https://github.com/Kludex/starlette) from 0.50.0 to 1.0.1. - [Release notes](https://github.com/Kludex/starlette/releases) - [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md) - [Commits](https://github.com/Kludex/starlette/compare/0.50.0...1.0.1) --- updated-dependencies: - dependency-name: starlette dependency-version: 1.0.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> |
||
|---|---|---|
| .. | ||
| assets/images | ||
| backend | ||
| conf | ||
| frontend | ||
| learn | ||
| .env.example | ||
| .gitignore | ||
| DEMO.md | ||
| LICENSE | ||
| README.md | ||
| compose.yml | ||
| dev.compose.yml | ||
| justfile | ||
README.md
██████╗ ██████╗ ██████╗ ██████╗██╗ ██╗ █████╗ ████████╗
██╔══██╗╚════██╗██╔══██╗ ██╔════╝██║ ██║██╔══██╗╚══██╔══╝
██████╔╝ █████╔╝██████╔╝ ██║ ███████║███████║ ██║
██╔═══╝ ██╔═══╝ ██╔═══╝ ██║ ██╔══██║██╔══██║ ██║
██║ ███████╗██║ ╚██████╗██║ ██║██║ ██║ ██║
╚═╝ ╚══════╝╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝
End-to-end encrypted peer-to-peer chat with Signal Protocol (Double Ratchet + X3DH) and WebAuthn/Passkey authentication.
This is a quick overview — security theory, architecture, and full walkthroughs are in the learn modules.
What It Does
- Double Ratchet protocol (Signal) with X3DH key exchange for end-to-end encryption
- WebAuthn/Passkey authentication with discoverable credentials and multi-device support
- Forward secrecy and break-in recovery with out-of-order message handling
- Real-time WebSocket messaging with SurrealDB live queries
- Presence tracking, typing indicators, read receipts, and heartbeat keep-alive
- Alembic database migrations with full test suite
Quick Start
docker compose up -d
Visit http://localhost:8080 to open the application.
[!TIP] This project uses
justas a command runner. Typejustto see all available commands.Install:
curl -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin
Stack
Backend: FastAPI, PostgreSQL + SQLModel, SurrealDB, Redis, Alembic
Frontend: SolidJS 1.9, TypeScript, Vite 6, Tailwind CSS v4
Learn
This project includes step-by-step learning materials covering security theory, architecture, and implementation.
| Module | Topic |
|---|---|
| 00 - Overview | Prerequisites and quick start |
| 01 - Concepts | Security theory and real-world breaches |
| 02 - Architecture | System design and data flow |
| 03 - Implementation | Code walkthrough |
| 04 - Challenges | Extension ideas and exercises |
License
AGPL 3.0