Cybersecurity-Projects/PROJECTS/advanced/encrypted-p2p-chat
dependabot[bot] b51361c4d4
chore(deps): bump starlette
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>
2026-06-04 17:09:29 +00:00
..
assets/images docs(encrypted-p2p-chat): add DEMO.md with UI screenshots 2026-04-29 01:42:05 -04:00
backend chore(deps): bump starlette 2026-06-04 17:09:29 +00:00
conf fix(encrypted-p2p-chat): repair dev-up after surrealdb 3.x and pnpm migration 2026-04-29 01:46:36 -04:00
frontend chore(deps-dev): bump vitest 2026-06-02 11:15:51 +00:00
learn docs(encrypted-p2p-chat): refresh learn/ for the audit-fixed architecture 2026-04-29 02:57:17 -04:00
.env.example Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
.gitignore fix(encrypted-p2p-chat): apply audit findings — true E2EE, session auth, spec-correct crypto 2026-04-29 02:30:10 -04:00
DEMO.md Update DEMO.md 2026-04-29 01:56:31 -04:00
LICENSE - Standardize READMEs and add justfiles across all 14 projects 2026-02-11 07:01:25 -05:00
README.md - Standardize READMEs and add justfiles across all 14 projects 2026-02-11 07:01:25 -05:00
compose.yml fix(encrypted-p2p-chat): repair dev-up after surrealdb 3.x and pnpm migration 2026-04-29 01:46:36 -04:00
dev.compose.yml fix(encrypted-p2p-chat): repair dev-up after surrealdb 3.x and pnpm migration 2026-04-29 01:46:36 -04:00
justfile fix(encrypted-p2p-chat): apply audit findings — true E2EE, session auth, spec-correct crypto 2026-04-29 02:30:10 -04:00

README.md

██████╗ ██████╗ ██████╗      ██████╗██╗  ██╗ █████╗ ████████╗
██╔══██╗╚════██╗██╔══██╗    ██╔════╝██║  ██║██╔══██╗╚══██╔══╝
██████╔╝ █████╔╝██████╔╝    ██║     ███████║███████║   ██║
██╔═══╝ ██╔═══╝ ██╔═══╝     ██║     ██╔══██║██╔══██║   ██║
██║     ███████╗██║         ╚██████╗██║  ██║██║  ██║   ██║
╚═╝     ╚══════╝╚═╝          ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝

Cybersecurity Projects Python SolidJS License: AGPLv3 Docker Signal Protocol

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 just as a command runner. Type just to 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