
ssh-chat en c moderne

Logiciel BBS général
SSH-Chatter a commencé comme une réimplémentation en C du serveur Go ssh-chat. Il reflète/étend le comportement original tout en utilisant des motifs C modernes et un noyau petit et testable. Le serveur écoute les connexions SSH/TELNET et place chaque utilisateur authentifié dans un salon de discussion partagé qui expose la même interface de commandes que l'implémentation de référence en Go.
Savez-vous pourquoi il faut si longtemps pour comprendre le C ? Parce que c'est un instinct.
/rss list, /rss read <tag>, plus /rss add <url> <tag> et /rss del <tag> (opérateurs seulement) pour que le salon puisse parcourir les titres ensemble./delete-msg pour un nettoyage ciblé de l'historique du chat./bbs déverrouillant un système de babillard rétro immersif avec tags, commentaires, bumping et un composeur multi-lignes.
bumped (activité récente), hot (tendance selon le score et les commentaires), top (score net de votes positifs le plus élevé) ou new (date de création) en utilisant list [hot|top|new|bumped|all].search <query>.▲ 12 💬 5) directement dans les listes./bbs en mode BBS./asciiart avec une limite de 640 lignes, un temps de recharge de dix minutes par adresse IP, une sortie multi-lignes et des raccourcis clavier pour annuler avec Ctrl+A et soumettre avec Ctrl+S ou la valeur par défaut >/__ARTWORK_END> adaptée à la locale./birthday pour enregistrer les anniversaires, /grant <ip> pour que les opérateurs LAN puissent déléguer les privilèges par adresse, et /revoke <ip> pour que les administrateurs LAN principaux puissent les révoquer./ban qui acceptent les adresses IP brutes en plus des noms d'utilisateur./weather <city> pour des prévisions météorologiques mondiales rapides.

La base de code est intentionnellement compacte pour que les nouveaux contributeurs puissent la naviguer rapidement :
| Chemin | Description |
|---|---|
src/main.c | Analyse de la ligne de commande et amorçage du processus (adresse de liaison, port, MOTD, répertoire des clés d'hôte). |
src/host_aggregate.c, include/ssh_chatter/host.h | Implémentation de l'hôte de chat – cycle de vie de session, gestion du MOTD, et hooks pour la future logique de diffusion de messages. |
src/host | Sous-systèmes d'hôte modulaires qui compilent en une seule unité de traduction via src/host_aggregate.c. |
include/ssh_chatter | En-têtes partagés pour le démon, les outils de stress, et le backend de traduction. |
include/ssh_chatter/contexts | Définitions pour session_ctx_t et les structures associées qui encapsulent l'état par connexion. |
data/banner/banner | Exemple de bannière de bienvenue qui peut être pointée avec CHATTER_WELCOME_BANNER. |
scripts/install_chatter_service.sh | Installeur pratique qui construit le binaire, l'installe sous /usr/local/bin, et met en place une unité systemd (chatter.service). |
scripts/install_dependencies.sh | Installeur de paquets minimal pour les prérequis de construction sur les systèmes Debian/Ubuntu. |

mainLa branche work diverge régulièrement du développement amont afin que les fonctionnalités plus importantes puissent incuber sans interrompre le trafic de production. Lorsqu'il est temps de se synchroniser avec main, tirez l'arbre le plus récent et fusionnez-le localement avant d'ouvrir une pull request :```bash
git fetch origin main
git checkout work
git merge --no-ff origin/main
Résolvez les conflits sur place (les routines d'aide `src/host_aggregate.c` reflètent déjà la disposition utilisée sur `main`, donc les fusions sont généralement simples) et exécutez `make` pour confirmer que la construction réussit toujours avant de pousser le résultat.
## Hooks d'automatisation
- `host_snapshot_last_captcha` expose l'invite et la réponse du captcha généré le plus récemment ainsi qu'un horodatage afin que des clients externes puissent passer les défis pour le compte d'une automatisation non supervisée.
## Durcissement de la sécurité