
ssh-chat en C moderno

Software General de BBS
SSH-Chatter comenzó como una reimplementación en C del servidor Go ssh-chat. Refleja/extiende el comportamiento original mientras usa patrones modernos de C y un núcleo pequeño y comprobable. El servidor escucha conexiones SSH/TELNET y coloca a cada usuario autenticado en una sala de chat compartida que expone la misma superficie de comandos que la implementación de referencia en Go.
¿Sabes por qué lleva tanto tiempo entender C? Porque es un instinto.
/rss list, /rss read <tag>, además de /rss add <url> <tag> y /rss del <tag> (solo operadores) para que la sala pueda navegar juntos por los titulares./delete-msg para limpieza selectiva del historial del chat./bbs que desbloquea un sistema de tablón de anuncios retro inmersivo con etiquetas, comentarios, bumping y un compositor multilínea.
bumped (actividad reciente), hot (tendencia por puntuación y comentarios), top (mayor puntuación neta de votos positivos) o new (fecha de creación) usando list [hot|top|new|bumped|all].search <query>.▲ 12 💬 5) directamente en las listas./bbs dentro del modo BBS./asciiart con un límite de 640 líneas, un tiempo de espera de diez minutos por IP, salida multilínea y atajos de teclado para cancelar con Ctrl+A y enviar con Ctrl+S o el valor predeterminado sensible a la configuración regional >/__ARTWORK_END>./birthday para registrar cumpleaños, /grant <ip> para que los operadores de LAN puedan delegar privilegios por dirección, y /revoke <ip> para que los administradores principales de LAN puedan recuperarlos./ban que aceptan direcciones IP sin formato junto con nombres de usuario./weather <city> para pronósticos globales rápidos.

El código base es intencionalmente compacto para que los nuevos contribuyentes puedan navegar rápidamente:
| Ruta | Descripción |
|---|---|
src/main.c | Análisis de línea de comandos e inicio del proceso (dirección de enlace, puerto, MOTD, directorio de claves de host). |
src/host_aggregate.c, include/ssh_chatter/host.h | Implementación del host de chat – ciclo de vida de sesiones, manejo de MOTD y enganches para lógica futura de difusión de mensajes. |
src/host | Subsistemas de host modulares que se compilan en una sola unidad de traducción a través de src/host_aggregate.c. |
include/ssh_chatter | Cabeceras compartidas para el daemon, herramientas de estrés y el backend de traducción. |
include/ssh_chatter/contexts | Definiciones para session_ctx_t y estructuras relacionadas que encapsulan el estado por conexión. |
data/banner/banner | Ejemplo de banner de bienvenida al que se puede apuntar con CHATTER_WELCOME_BANNER. |
scripts/install_chatter_service.sh | Instalador de conveniencia que compila el binario, lo instala en /usr/local/bin y configura una unidad systemd (chatter.service). |
scripts/install_dependencies.sh | Instalador mínimo de paquetes para requisitos previos de compilación en sistemas Debian/Ubuntu. |

mainLa rama work se desvía regularmente del desarrollo ascendente para que las funcionalidades más grandes puedan incubarse sin interrumpir el tráfico de producción. Cuando sea el momento de sincronizar con main, extrae el árbol más reciente y combínalo localmente antes de abrir una solicitud de extracción:```bash
git fetch origin main
git checkout work
git merge --no-ff origin/main
Resuelva cualquier conflicto en el lugar (las rutinas auxiliares en `src/host_aggregate.c` ya reflejan el diseño usado en `main`, por lo que las fusiones suelen ser sencillas) y ejecute `make` para confirmar que la compilación aún tenga éxito antes de enviar el resultado.
## Hooks de automatización
- `host_snapshot_last_captcha` expone el aviso de captcha generado más recientemente y su respuesta junto con una marca de tiempo para que los clientes externos puedan pasar desafíos en nombre de la automatización no supervisada.
## Endurecimiento de seguridad