Initial vault setup
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
---
|
||||
title: Chitchatter
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, messaging, p2p, webrtc, e2e, browser, sans-serveur, foss]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/jeremyckahn/chitchatter, https://chitchatter.im/]
|
||||
---
|
||||
|
||||
# 💬 Chitchatter
|
||||
|
||||
> **Du chat P2P pur, dans le navigateur, sans aucun serveur central** : chaque conversation est un canal WebRTC chiffré entre pairs. Pas de backend à déployer, pas de base de données, pas de trace côté serveur — uniquement les pairs.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [chitchatter.im](https://chitchatter.im/) |
|
||||
| **GitHub** | [jeremyckahn/chitchatter](https://github.com/jeremyckahn/chitchatter) |
|
||||
| **Licence** | MPL-2.0 |
|
||||
| **Langage** | JavaScript, TypeScript |
|
||||
| **Étoiles GitHub** | 2.3k ⭐ |
|
||||
| **Catégorie** | Messaging |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Chitchatter** est une expérience radicale : un client de chat **100% peer-to-peer** qui tourne entièrement dans le **navigateur**. Pas de serveur de messagerie, pas de base de données : chaque salon de discussion est un **canal WebRTC** établi directement entre les participants, le **chiffrement E2E est systématique**, et seuls les pairs connectés détiennent l'historique des messages.
|
||||
|
||||
L'app utilise un **serveur de signaling minimal** (juste pour établir la connexion initiale) qui peut être remplacé par votre propre instance si vous souhaitez un contrôle total. Ensuite, tous les échanges passent en P2P via **WebRTC DataChannel**, ce qui rend Chitchatter **résistant à la censure** et à l'analyse réseau en clair.
|
||||
|
||||
Fonctionnalités notables : **salons publics ou privés** (avec lien d'invitation), **partage de fichiers** chiffré en P2P, **messagerie directe**, **modèles de LLM locaux** (intégration optionnelle pour les conversations IA), **citations et Markdown**, **avatars et profils locaux** (pas d'annuaire central). C'est un excellent choix pour des conversations sensibles, à condition que tous les pairs soient en ligne simultanément pour persister l'historique.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Utilisation directe (le plus simple)
|
||||
|
||||
Rendez-vous sur **[chitchatter.im](https://chitchatter.im/)** : aucun compte, aucune installation. Créez un salon, partagez le lien.
|
||||
|
||||
### Auto-hébergement via Docker
|
||||
|
||||
```yaml
|
||||
services:
|
||||
chitchatter:
|
||||
image: ghcr.io/jeremyckahn/chitchatter:latest
|
||||
container_name: chitchatter
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8080:8080"
|
||||
environment:
|
||||
PORT: 8080
|
||||
# Signaling server par défaut, ou votre propre instance
|
||||
PUBLIC_URL: https://chat.example.com
|
||||
```
|
||||
|
||||
### Build statique
|
||||
|
||||
```bash
|
||||
git clone https://github.com/jeremyckahn/chitchatter
|
||||
cd chitchatter
|
||||
npm install
|
||||
npm run build
|
||||
# Le build statique est servable depuis n'importe quel serveur web
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Choisir l'instance de signaling** : publique par défaut ou auto-hébergée (variable d'environnement `SIGNALING_URL`).
|
||||
2. **Configurer HTTPS** : WebRTC impose HTTPS (sauf localhost).
|
||||
3. **(Optionnel) Activer le mode TURN** si des pairs sont derrière des NAT très stricts.
|
||||
4. **Tester un salon à 2 pairs** pour valider la connectivité.
|
||||
5. **Partager le lien** avec vos contacts : ils rejoignent instantanément.
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
- **Briar** — P2P via Tor/Bluetooth, apps natives Android
|
||||
- **Jami** — P2P distribué, multi-plateforme
|
||||
- **Tox** — P2P avec clients desktop
|
||||
- **SimpleX Chat** — P2P aussi, mais avec serveurs de files chiffrés optionnels
|
||||
- **Matrix / Element** — Fédéré mais avec serveurs persistants
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- ✅ **Chiffrement E2E obligatoire** sur tous les canaux WebRTC
|
||||
- ✅ **Aucun message ne transite par un serveur applicatif** après l'établissement du canal
|
||||
- ✅ **Open-source** et auditable (MPL-2.0)
|
||||
- ⚠️ L'historique de conversation n'existe que sur les pairs connectés : si personne n'est en ligne, pas d'archive
|
||||
- ⚠️ Vulnérable à l'analyse du trafic de signaling si le serveur de signaling n'est pas de confiance
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel](https://chitchatter.im/)
|
||||
- [GitHub jeremyckahn/chitchatter](https://github.com/jeremyckahn/chitchatter)
|
||||
- [Démo en ligne](https://chitchatter.im/)
|
||||
- [Documentation WebRTC DataChannel](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Using_data_channels)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-messaging]] — Catégorie Messaging
|
||||
- [[app-traefik]] — Reverse proxy HTTPS (requis pour WebRTC)
|
||||
- [[securisation-home-lab]] — Bonnes pratiques P2P
|
||||
- [[recettes-docker-compose]] — Stack static + reverse proxy
|
||||
- [[app-simplex-chat]] — Autre approche privacy-first
|
||||
Reference in New Issue
Block a user