V vaha_

Dossier · № 05 / 16

TerraCrypt Messenger

Messenger à courbe sur mesure — Messenger chiffré de bout en bout sur iOS, Android, desktop Tauri et un backend Go entièrement auto-hébergé, avec un panneau d'administration et une stack d'observabilité complète. Discussions de groupe, voix, vidéo et transfert de fichiers — le tout sous une cryptographie qui s'exécute sur l'appareil. Le premier grand système où le pattern « un cœur, plusieurs clients » a fait ses preuves, et l'ancêtre de la refonte post-quantique de vChat.

Catégorie
Projet phare · iOS · Android · Desktop
Années
2022 → aujourd'hui
Statut
en ligne
En ligne
TerraCrypt Messenger — Messenger à courbe sur mesure
Capture d'écran 05 · TerraCrypt — les clients sur trois plateformes partagent la même couche crypto en C.
01

Ce qui a été fait

  • Client iOS natif dans un monorepo SPM modulaire (Core*, Feature*) avec ses propres paquets crypto
  • Client Android en Kotlin, architecture data/domain/ui, Gradle multi-module
  • Desktop Tauri pour Windows, macOS et Linux (~20 MB d'installateur, sans Chromium)
  • Backend Go en monorepo : API, signaling, push, paiements, migrations PostgreSQL + Redis
  • CoTURN pour la traversée NAT et MinIO comme stockage média chiffré compatible S3
  • Panneau d'administration (RBAC + audit trail) avec des métriques en temps réel
  • Observabilité : Grafana, Loki, Fluent-bit, Kibana, traces APM et endpoints Prometheus
02

Couches du système

Cryptographie sur l'appareil

SwiftKotlinCJNI
  • Courbe elliptique sur mesure et primitives maison, pas un simple appel à la bibliothèque d'un tiers
  • CoreCrypto / CoreCryptoDM / CoreCryptoGroup : primitives, DM et chiffrement de groupe
  • Couche C native via JNI sur Android — comportement identique à celui d'iOS
  • Base locale chiffrée (SQLCipher) et coffre biométrique

Clients

SwiftUICombineComposeTauri 2
  • iOS : SwiftUI + Combine, appels de groupe WebRTC avec signaling maison
  • Android : Jetpack Compose, Hilt, Room, WorkManager pour un arrière-plan fiable
  • Desktop : cœur Rust + TypeScript/Vite, auto-update et signature de code
  • Une extension de notification déchiffre les messages push avant que le système ne les affiche

Backend et observabilité

GoPostgreSQLRedisDockerGrafana
  • Services Go dans une stack Docker Compose, scalables horizontalement
  • PostgreSQL comme store principal avec des migrations maison, Redis pour les sessions et le rate-limit
  • Reverse proxies Apache et nginx avec un vhost par service
  • Mises à jour à chaud sans interruption sur le serveur de production
03

Technologies

Langages de programmationSwift, Kotlin, Rust, TypeScript, Go, PHP, C
Frameworks et outilsSwiftUI, Combine, Jetpack Compose, Hilt, Room, Tauri 2, React, WebRTC
InfrastructurePostgreSQL, Redis, CoTURN, MinIO, Docker Compose, Grafana, Loki, Kibana
04

Faits

PlateformesiOS · Android · Desktop · Server
Statuten ligne
Années2022 → aujourd'hui
CatégorieProjet phare · iOS · Android · Desktop

TerraCrypt — les clients sur trois plateformes partagent la même couche crypto en C.

Tous les projets

← Retour à l'index