
ssh-chat em c moderno

Software Geral de BBS
O SSH-Chatter começou como uma reimplementação em C do servidor Go ssh-chat. Ele espelha/estende o comportamento original enquanto usa padrões modernos de C e um núcleo pequeno e testável. O servidor escuta por conexões SSH/TELNET e coloca cada usuário autenticado em uma sala de bate-papo compartilhada que expõe a mesma superfície de comandos que a implementação de referência em Go.
Você sabe por que demora tanto para entender C? Porque é um instinto.
/rss list, /rss read <tag>, além de /rss add <url> <tag> e /rss del <tag> (apenas operadores) para que a sala possa navegar por manchetes juntos./delete-msg para limpeza direcionada do histórico do chat./bbs que desbloqueia um sistema imersivo de quadro de avisos retro com tags, comentários, bumping e um compositor de várias linhas.
bumped (atividade recente), hot (em alta por pontuação e comentários), top (maior pontuação líquida de upvotes) ou new (data de criação) usando list [hot|top|new|bumped|all].search <consulta>.▲ 12 💬 5) diretamente nas listagens./bbs dentro do modo BBS./asciiart com limite de 640 linhas, um cooldown de dez minutos por IP, saída de várias linhas e atalhos de teclado para cancelar com Ctrl+A e enviar com Ctrl+S ou o padrão >/__ARTWORK_END>./birthday para registrar aniversários, /grant <ip> para que operadores de LAN possam delegar privilégios por endereço, e /revoke <ip> para que administradores LAN principais possam recuperá-los./ban que aceitam endereços IP brutos juntamente com nomes de usuário./weather <cidade> para previsões globais rápidas.

A base de código é intencionalmente compacta para que novos contribuidores possam navegar rapidamente:
| Caminho | Descrição |
|---|---|
src/main.c | Análise de linha de comando e inicialização do processo (endereço de bind, porta, MOTD, diretório de chave do host). |
src/host_aggregate.c, include/ssh_chatter/host.h | Implementação do host do chat – ciclo de vida da sessão, manipulação do MOTD e ganchos para lógica futura de broadcast de mensagens. |
src/host | Subsistemas modulares do host que compilam em uma única unidade de tradução através de src/host_aggregate.c. |
include/ssh_chatter | Cabeçalhos compartilhados para o daemon, ferramentas de estresse e o backend de tradução. |
include/ssh_chatter/contexts | Definições para session_ctx_t e estruturas relacionadas que encapsulam o estado por conexão. |
data/banner/banner | Exemplo de banner de boas-vindas que pode ser apontado com CHATTER_WELCOME_BANNER. |
scripts/install_chatter_service.sh | Instalador conveniente que compila o binário, instala-o em /usr/local/bin e configura uma unit systemd (chatter.service). |
scripts/install_dependencies.sh | Instalador mínimo de pacotes para pré-requisitos de compilação em sistemas Debian/Ubuntu. |

mainO branch work diverge regularmente do desenvolvimento upstream para que funcionalidades maiores possam incubar sem interromper o tráfego de produção. Quando for hora de sincronizar com main, puxe a árvore mais recente e faça o merge localmente antes de abrir um pull request:```bash
git fetch origin main
git checkout work
git merge --no-ff origin/main
Resolva quaisquer conflitos no local (as rotinas auxiliares em `src/host_aggregate.c` já espelham o layout usado no `main`, então as mesclagens são geralmente diretas) e execute `make` para confirmar que a compilação ainda é bem-sucedida antes de enviar o resultado.
## Automation hooks
- `host_snapshot_last_captcha` expõe o prompt e a resposta do captcha gerado mais recentemente, juntamente com um timestamp, para que clientes externos possam passar desafios em nome de automação não supervisionada.
## Security hardening