Cybersecurity-Projects/PROJECTS/advanced/encrypted-p2p-chat
dependabot[bot] 467e5c88ac
chore(deps): bump python-multipart
Bumps [python-multipart](https://github.com/Kludex/python-multipart) from 0.0.22 to 0.0.26.
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.22...0.0.26)

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.26
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-15 21:19:02 +00:00
..
backend chore(deps): bump python-multipart 2026-04-15 21:19:02 +00:00
conf Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
frontend chore(deps-dev): bump vite 2026-04-06 23:28:45 +00:00
learn Add learn folder for encrypted-p2p-chat (phase 3.4) 2026-02-11 09:29:54 -05:00
.env.example Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
.gitignore Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05: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 Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
dev.compose.yml Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
justfile - Standardize READMEs and add justfiles across all 14 projects 2026-02-11 07:01:25 -05: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