Messagerie terminal chiffrée pour développeurs — by Aboudev Labs 🇨🇮
📖 Nouveau sur TermChat ? Lis le Guide d'utilisation complet pour tout comprendre : installation, création de compte, chiffrement, menu.
TermChat est un projet solo, développé et maintenu entièrement depuis Termux sur Android par Aboudev Labs, Côte d'Ivoire 🇨🇮. C'est un laboratoire d'apprentissage autant qu'une vraie messagerie : chaque mise à jour vise à rapprocher le projet des standards de sécurité d'une vraie application de messagerie, tout en gardant l'esprit terminal qui fait son originalité.
Le projet évolue par itérations rapides — si tu trouves un bug ou une faille, ouvre une issue sur GitHub, ou contribue directement (voir plus bas).
- 🔐 Mots de passe chiffrés avec bcrypt (migration automatique des anciens comptes)
- 🔐 Chiffrement des messages Fernet/AES avec phrase secrète partagée (remplace l'ancien XOR)
- 🔐 TLS sur la connexion (certificat auto-signé, avec repli en clair si indisponible)
- 🛡️ Protection anti-bruteforce (5 tentatives max, blocage 5 min) sur login/PIN/admin
- 🏷️ Pseudo unique (@handle) pour retrouver facilement un contact
- 📧 Connexion par email en plus du nom et du numéro
- 📎 Correction : les fichiers et messages vocaux apparaissent maintenant bien dans l'historique
- 🔍 Suppression de la recherche libre d'utilisateurs (protection de la vie privée) — remplacée par une recherche stricte par numéro ou pseudo exact
- ⚙️ Serveur rendu plus robuste (le handshake TLS ne bloque plus les autres connexions)
- Base de données Firebase Firestore (données permanentes)
- Accès libre, sans système de paiement
- Interface messages avec liste des conversations
- 5 pays disponibles : CI, SN, GN, BF, GH
curl -s https://raw.githubusercontent.com/daboujohan-hub/termchat/main/install.sh | bash
termchatDétails complets, création de compte et utilisation : voir le Guide d'utilisation.
| Variable | Description |
|---|---|
FIREBASE_CREDS |
Contenu JSON complet des identifiants Firebase |
ADMIN_CODE |
Code d'accès admin (sinon valeur par défaut peu sûre) |
PORT |
Port d'écoute (fourni automatiquement par Railway) |
TermChat est un projet open source et toute contribution est la bienvenue ! Pas besoin d'expérience énorme — c'est un bon projet pour apprendre Python, Firebase, la cryptographie appliquée et les outils CLI.
Comment contribuer :
- Fork le repo
- Crée une branche (
git checkout -b fix-mon-probleme) - Fais tes modifications
- Ouvre une Pull Request en expliquant ce que tu as changé
- Diomandé Abou Johan (Aboudev) — créateur du projet
Deux façons de faire remonter une remarque, un bug ou une idée :
- Depuis l'app directement : menu principal →
f — Feedback au développeur. Ton message est transmis en direct, sans avoir besoin de GitHub. - Via GitHub Issues : https://github.com/daboujohan-hub/termchat/issues/new — utile si tu veux suivre l'avancement de ta demande publiquement.
- Diagnostiquer l'échec systématique du handshake TLS sur le proxy Railway (le repli en clair fonctionne, mais le TLS échoue toujours — piste à creuser côté configuration proxy).
- Ajouter la possibilité de modifier l'email depuis "Mon profil" pour les comptes existants (actuellement modifiable seulement à l'inscription).
- Tests automatisés pour les actions serveur principales (inscription, connexion, envoi de message).
- Documentation des actions du protocole (
inscrire,connecter,message, etc.) dans un fichierPROTOCOL.md. - Support d'un 6ème pays avec son indicatif et sa validation.
Si une tâche t'intéresse, ouvre une issue GitHub en précisant laquelle tu prends, pour éviter que deux personnes travaillent dessus en même temps.