Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ssh-chatter — ssh-chat in C moderno | Kitploit
Strumenti/GitHubGitHub/gosuda/ssh-chatter
Strumenti di Crittografia/DecrittografiaScripting e AutomazioneSicurezza di ReteCTFPrivacyUtilità e FrameworkAutenticazioneApprendimento e FormazioneSicurezza dell'IA
GitHubgosuda/ssh-chatter

ssh-chatter

ssh-chat in C moderno

3329 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

SSH-Chatter: Sistema di Bacheca Elettronica TUI in C

Logo

ssh [email protected]

Software BBS Generale

SSH-Chatter è nato da una reimplementazione in C del server Go ssh-chat. Rispecchia/estende il comportamento originale utilizzando pattern C moderni e un core piccolo e testabile. Il server ascolta connessioni SSH/TELNET e colloca ogni utente autenticato in una chat room condivisa che espone la stessa superficie di comandi dell'implementazione di riferimento in Go.

Sai perché ci vuole così tanto per capire il C? Perché è un istinto.

Miglioramenti recenti

  • Lettore RSS adatto al terminale accessibile con /rss list, /rss read <tag>, più /rss add <url> <tag> e /rss del <tag> (solo operatori) così la stanza può navigare i titoli insieme.
  • Thread watchdog BBS in background che utilizza i backend di moderazione Gemini/Ollama per rimuovere post che pubblicizzano crimini o materiale nocivo, più /delete-msg per la pulizia mirata della cronologia chat.
  • Comando /bbs che sblocca un sistema di bacheca retrò immersivo con tag, commenti, bumping e un compositore multi-linea.
    • Ordinamento Dinamico (Stile Reddit/Discord): Visualizza i post ordinati per bumped (attività recente), hot (trend per punteggio e commenti), top (punteggio netto più alto di upvote) o new (data di creazione) usando list [hot|top|new|bumped|all].
    • Ricerca (Senso di Ricerca Google): Cerca istantaneamente titoli, corpi, autori o tag dei post senza distinzione maiuscole/minuscole con search <query>.
    • Badge di Upvote/Commenti (Stile Reddit/Discord): Mostra il punteggio netto di upvote e il numero di commenti in badge di stato colorati (▲ 12 💬 5) direttamente negli elenchi.
    • Navigazione Senza Soluzione di Continuità: Torna istantaneamente all'elenco della dashboard premendo Invio mentre leggi un post, o aggiorna l'elenco premendo Invio dalla schermata di elenco. Instrada automaticamente i comandi senza bisogno del prefisso /bbs nella modalità BBS.
  • Compositore live /asciiart con limite di 640 righe, un cooldown di dieci minuti per IP, output multi-linea e scorciatoie da tastiera per annullare con Ctrl+A e inviare con Ctrl+S o il predefinito >/__ARTWORK_END> sensibile alla locale.
  • /birthday per registrare compleanni, /grant <ip> così gli operatori LAN possono delegare privilegi per indirizzo, e /revoke <ip> così gli amministratori LAN principali possono reclamarli.
  • Aggiornamento UI della chat con un divisore pulito tra cronologia e input, pulizia istantanea dell'input dopo l'invio e un banner amichevole 'Attendi un attimo...'
  • Captcha multilingua amichevole con confronti facili e conteggi di nomi basati sulla lingua.
  • Supporto espanso per nickname con caratteri non latini più aggiornamenti /ban che accettano indirizzi IP grezzi insieme ai nomi utente.
  • /weather <città> per previsioni globali rapide.
  • Esperienza semplificata con sondaggi, messaggi di stato e moderatore Eliza rimossi.

Preview

Preview

Preview

Struttura del repository

Il codice è intenzionalmente compatto in modo che i nuovi contributori possano navigarlo rapidamente:

Architecture

Architecture

Rimanere aggiornati con main

Il branch work diverge regolarmente dallo sviluppo upstream in modo che funzionalità più grandi possano incubare senza interrompere il traffico di produzione. Quando è il momento di sincronizzarsi con main, esegui il pull dell'albero più recente e uniscilo localmente prima di aprire una pull request:```bash git fetch origin main git checkout work git merge --no-ff origin/main

root@kitploit:~
Risolvi eventuali conflitti sul posto (le routine helper in `src/host_aggregate.c` rispecchiano già la struttura usata su `main`, quindi i merge sono generalmente semplici) ed esegui `make` per confermare che la build abbia ancora successo prima di inviare il risultato.

## Hooks di automazione

- `host_snapshot_last_captcha` espone il prompt e la risposta del captcha generato più di recente insieme a un timestamp, in modo che i client esterni possano superare le sfide per conto di automazione non presidiata.

## Rafforzamento della sicurezza

- `scripts/safe_permission.sh` restringe la proprietà e i permessi sui file di dati in esecuzione (stato BBS, stato dei voti, snapshot dei cooldown e stato generale della chat). Eseguilo dopo il deployment per confinare la directory dei dati a `ssh-chatter` e assicurarsi che ogni file sia impostato a `0600`. Sovrascrivi le destinazioni passando percorsi espliciti o esportando `STATE_ROOT` o le corrispondenti variabili d'ambiente `CHATTER_*_FILE` prima dell'esecuzione.
- Un watchdog BBS in background invia periodicamente post e commenti attraverso il pipeline di moderazione AI (Gemini primario con fallback su Ollama). I post segnalati vengono rimossi automaticamente e viene trasmesso un avviso nella stanza.
- I messaggi della chat, le ASCII art e i post/commenti BBS passano attraverso un pipeline di moderazione AI. Abilitalo con `CHATTER_SECURITY_AI=on` (imposta `GEMINI_API_KEY` per Gemini; il demone torna automaticamente al endpoint Ollama locale su `http://127.0.0.1:11434`). Disabilita tutto con `CHATTER_SECURITY_FILTER=off`. Se ogni provider fallisce, il filtro si disabilita automaticamente per mantenere il flusso delle conversazioni invece di eliminare silenziosamente i contenuti.
- Il trasporto SSH è ancorato a scambi di chiave, cifratura e MAC moderni, e ogni payload del bridge è avvolto in un onion AES-256-GCM triplo, così i relay vedono solo testo cifrato.
- I sottomissioni sospette che attivano il filtro a strati vengono ora tracciate per IP; colpi ripetuti attivano un kick e ban automatico quando abilitato, mentre il rilevatore di riconnessione rapida permette finestre di recupero più lunghe in modo che sessioni di rete instabili possano rientrare senza essere penalizzate. Le voci di ban automatico sono **disattivate per impostazione predefinita**; imposta `CHATTER_AUTO_BAN=on` (o `true`/`1`) per abilitarle, oppure lascia la variabile non impostata per mantenere avvisi e limitazioni senza scrivere voci di ban automatico.
- Gli operatori possono contrassegnare punti di ingresso fidati (uscite VPN, proxy inversi, localhost) con `CHATTER_PROTECTED_IPS` (separati da virgola, predefinito a `127.0.0.1,::1,192.168.0.1`) in modo che i ban di emergenza non blocchino mai il demone dal proprio piano di controllo.

## Archiviazione e trasferimento file

- Tutti i file gestiti dagli utenti ora si trovano in `/etc/ssh-chatter/user-files` (sovrascrivi con `CHATTER_FILESTORE_PATH`, fallback legacy: `CHATTER_FILE_STORAGE_ROOT`). Il demone crea la directory se necessario e mantiene gli upload confinati al suo interno.
- I client SSH usano `scp` standard senza wrapper personalizzato. Tratta `/name.ext` come radice dell'albero di archiviazione: `scp my.zip user@host:/demos/my.zip` scrive in `/etc/ssh-chatter/user-files/demos/my.zip` mentre `scp user@host:/readme.txt ./` scarica `/etc/ssh-chatter/user-files/readme.txt`.
- I client TELNET usano i nuovi comandi `/filestore`. `/filestore` elenca i file disponibili, `/filestore-upload` avvia una sessione `rz`, e `/filestore-download <name>` avvia una sessione `sz`. Installa `lrzsz` (o qualsiasi pacchetto che fornisca `rz`/`sz`) sul server così che il backend ZMODEM possa avviare questi helper.
- `/filestore-upload` accetta una destinazione opzionale (ad esempio `/filestore-upload /kitten/meow.png`). SSH-Chatter crea la directory `/kitten` automaticamente e posiziona lì il file caricato, rispecchiando come SCP usa percorsi come `user@host:/kitten/meow.png`.
- Entrambi i trasporti possono essere combinati: SSH per trasferimenti scriptati non presidiati, TELNET per client BBS nostalgici con strumentazione ZMODEM integrata.

## Relay Morse
SSH-Chatter supporta il relay per radioamatori.
Questo mostra i segnali Morse globali.
`/morse on` per vedere, `/morse-reply` per inviare.

### Dettagli del protocollo

L'implementazione segue le specifiche del protocollo Binkp:
- Struttura standard del frame Binkp con header a 2 byte
- Autenticazione tramite password di sessione (CMD\_PWD/CMD\_OK)
- Meccanismo keepalive (CMD\_NUL) ogni 60 secondi
- Comando CHAT personalizzato (CMD\_CHAT, estensione) per la sincronizzazione dei messaggi

## Prerequisiti

Per compilare il progetto è necessario un ambiente POSIX con:

- Un compilatore compatibile con C23 (ad es. `gcc` o `clang`)
- `make`
- Header e librerie di sviluppo `libssh` (`libssh-dev` su Debian/Ubuntu)
- Header e librerie di sviluppo `libcurl` (`libcurl4-openssl-dev` su Debian/Ubuntu)
- Header e librerie di sviluppo `uchardet` (`libuchardet-dev` su Debian/Ubuntu)
- Header e librerie di sviluppo `icu` (International Components for Unicode) (`libicu-dev` su Debian/Ubuntu)
- Libreria di compressione `lz4` e header di sviluppo (`liblz4-dev` su Debian/Ubuntu)
- Thread POSIX (di solito forniti dal sistema `libpthread`)
- `python3-pygments` (fornisce l'evidenziatore `pygmentize` per lo schermo di camuffamento Tetris)

Su Debian/Ubuntu le dipendenze possono essere installate con:```bash
sudo apt-get update
sudo apt-get install build-essential libssh-dev libcurl4-openssl-dev libuchardet-dev libicu-dev liblz4-dev

Compilazione dal sorgente

Clona il repository e usa il Makefile fornito:```bash make

root@kitploit:~
Questo produce un binario `ssh-chatter` nella root del repository e un oggetto condiviso `libssh_chatter_backend.so` che espone gli helper di traduzione per il riutilizzo in altre applicazioni.  Pulisci gli artefatti intermedi con `make clean`.

### Utilizzo del backend di traduzione condiviso

L'oggetto condiviso riutilizza la pipeline di traduzione C del server (inclusa la conservazione dei placeholder ANSI) in modo che altri processi possano ottenere traduzioni senza avviare l'host SSH completo.  Collega con `libssh_chatter_backend.so` e includi `include/ssh_chatter/ssh_chatter_backend.h`:```c
#include "ssh_chatter/ssh_chatter_backend.h"

int main(void) {
  char translated[4096];
  char detected[64];

  if (ssh_chatter_backend_translate_line("Hello, world!", "ko", translated, sizeof(translated), detected, sizeof(detected))) {
    printf("Detected %s -> %s\n", detected, translated);
  }
}

Imposta GEMINI_API_KEY (e opzionalmente GEMINI_API_BASE o GEMINI_MODEL) nell'ambiente in modo che l'helper possa raggiungere l'API Google Generative Language, rispecchiando i requisiti di runtime del demone principale. Puoi eseguire ./scripts/test_gemini_connection.sh prima di avviare il server chat per verificare che le credenziali consentano chiamate in uscita; lo script stampa la risposta grezza di Gemini in modo da vedere se la richiesta è riuscita.

Esecuzione manuale del server

Il server è impostato in ascolto su 0.0.0.0:2222. Puoi regolare i parametri di runtime con i flag disponibili:``` Usage: ./ssh-chatter [-a address] [-p port] [-m motd_file] [-k host_key_dir] [-T telnet_port|off] [-J json_port|off] ./ssh-chatter [-h] ./ssh-chatter [-V]

root@kitploit:~
Quando fornito, `-m` legge il messaggio del giorno dal percorso del file specificato.

Esempi comuni:```bash
# Start the chat server on port 2022, loading host keys from /etc/ssh
./ssh-chatter -p 2022 -k /etc/ssh

# Enable telnet access on 0.0.0.0:4242 alongside SSH
./ssh-chatter -T 0.0.0.0:4242

# Serve a custom MOTD from a file and bind to localhost
./ssh-chatter -a 127.0.0.1 -m /etc/ssh-chatter/motd

La directory delle chiavi host deve contenere un file ssh_host_rsa_key (e opzionalmente il .pub). Generane uno con ssh-keygen -t rsa -b 4096 -f /path/to/dir/ssh_host_rsa_key se non desideri riutilizzare le chiavi host SSH del tuo sistema. Le chiavi host aggiuntive denominate ssh_host_ed25519_key e ssh_host_ecdsa_key vengono caricate automaticamente quando presenti, in modo che il server possa offrire algoritmi moderni durante lo scambio di chiavi.

Connessione come client

Una volta in esecuzione, connettiti con qualsiasi client SSH:```bash ssh -p 2222 user@server-address

root@kitploit:~
Il server pubblico è disponibile all'indirizzo `bbs.chatter.pw` sulla porta SSH predefinita:```bash
ssh -p 2222 [email protected]

I nomi utente forniti al prompt SSH vengono usati come nickname della chat.

I client Telnet possono accedere con le stesse funzionalità. L'ascolto Telnet è abilitato per impostazione predefinita sulla porta 2323 e può essere regolato o disattivato con il flag -T. Fornisci -T indirizzo:porta per sovrascrivere l'indirizzo di bind (eredita il bind SSH se omesso; usa un host vuoto come -T :4242 per ascoltare su tutte le interfacce). Ad esempio, per connettersi via telnet da un terminale retro:```bash telnet server-address 2323

root@kitploit:~
Passa `-T off` (o `-T disable`) per disattivare completamente il listener telnet.

### JSON line API

Il server espone anche un protocollo JSON line su TCP per automazione e integrazioni esterne. Ascolta sulla porta `34567` di default e può essere disabilitato o riconfigurato con `-J`:```bash
# Disable the JSON API
./ssh-chatter -J off

# Bind JSON API on a custom port
./ssh-chatter -J 0.0.0.0:45678

Ogni richiesta è un singolo oggetto JSON terminato da \n. Le risposte e gli eventi di chat sono oggetti JSON, anche delimitati da newline. L'API supporta chat generale e i flussi /poll, /vote, /image, /video, /audio, /files, e /asciiart.

Payload degli eventi (server → client)```json {"type":"event","event":"message","payload":{"id":123,"username":"alice","message":"hello","created_at":1710000000,"system":false,"preserve_whitespace":false,"attachment":{"type":"none","target":"","caption":""}}}

root@kitploit:~
**Esempi di richieste (client → server)**```json
{"type":"chat","id":1,"username":"alice","message":"안녕하세요"}
{"type":"image","id":2,"username":"alice","url":"https://example.com/cat.png","caption":"cat"}
{"type":"asciiart","id":3,"username":"alice","message":" /\\_/\\\\n( o.o )\\\\n > ^ <"}
{"type":"poll","id":4,"username":"op","is_operator":true,"question":"Favorite color?","options":["red","blue","green"]}
{"type":"poll","id":5,"username":"bob","action":"vote","choice":2}
{"type":"vote","id":6,"username":"op","label":"weekend","question":"Plan?","options":["hike","rest"],"allow_multiple":true}
{"type":"vote","id":7,"username":"bob","label":"weekend","action":"vote","choice":1}

Le risposte riportano l'id e includono gli oggetti status, message e, opzionalmente, result:```json {"type":"response","id":4,"status":"ok","message":"poll started","result":{"poll":{"active":true,"allow_multiple":false,"id":10,"question":"Favorite color?","options":[{"index":1,"text":"red","votes":0},{"index":2,"text":"blue","votes":0}]}}}

root@kitploit:~
Per un esempio eseguibile, vedi `scripts/json_api_example.py`:```bash
python3 scripts/json_api_example.py --url tcp://127.0.0.1:34567 --save /tmp/json_api_output.txt

Installazione come servizio systemd

Viene fornito uno script di supporto per automatizzare l'installazione su sistemi che utilizzano systemd:```bash sudo ./scripts/install_chatter_service.sh

root@kitploit:~
Cosa fa lo script:

1. Compila il progetto (`make`).
2. Installa il binario risultante in `/usr/local/bin/ssh-chatter`.
3. Crea un utente e gruppo di sistema `ssh-chatter` dedicati (se non esistono già).
4. Crea `/var/lib/ssh-chatter` per lo stato di runtime (inclusa la chiave host SSH) e `/etc/ssh-chatter` per i file di configurazione.
5. Genera una chiave host RSA predefinita in `/var/lib/ssh-chatter/ssh_host_rsa_key` quando manca.
6. Crea un MOTD predefinito in `/etc/ssh-chatter/motd` e un file di override `/etc/ssh-chatter/chatter.env` per la regolazione basata sulle variabili d'ambiente.
7. Scrive `/etc/systemd/system/chatter.service`, ricarica `systemd`, abilita il servizio e lo avvia immediatamente.

L'unità `chatter.service` risultante avvia il server con impostazioni predefinite sensate e concede la capacità `CAP_NET_BIND_SERVICE` in modo che l'account di servizio non root possa associarsi a porte privilegiate se necessario.

### Personalizzare il servizio

È possibile modificare le impostazioni predefinite modificando `/etc/ssh-chatter/chatter.env` e riavviando il servizio:```bash
sudo systemctl edit chatter.service   # or edit the environment file directly
sudo systemctl restart chatter.service

Le variabili d'ambiente supportate includono:

  • CHATTER_BIND_ADDRESS – Indirizzo IP su cui ascoltare (predefinito 0.0.0.0).
  • CHATTER_PORT – Porta TCP esposta ai client (predefinito 2222).
  • CHATTER_MOTD_FILE – Percorso del file del messaggio del giorno (predefinito /etc/ssh-chatter/motd).
  • CHATTER_HOST_KEY_DIR – Directory contenente ssh_host_rsa_key (predefinito /var/lib/ssh-chatter).
  • CHATTER_EXTRA_ARGS – Argomenti aggiuntivi aggiunti all'invocazione di ssh-chatter.
  • CHATTER_VOTE_FILE – Percorso del file di stato del voto (predefinito vote_state.dat).

Frammenti di codice per Camouflage: Per la funzionalità di camouflage Tetris, il runtime si aspetta file di snippet di codice in /var/lib/ssh-chatter/. Questo repository ora include esempi pronti all'uso in ./camouflage/ (c.txt, cpp.txt, java.txt, go.txt, js.txt, ts.txt, rust.txt). Copiali nella directory di runtime una volta durante la configurazione:```bash sudo install -d /var/lib/ssh-chatter sudo cp camouflage/*.txt /var/lib/ssh-chatter/

root@kitploit:~
Puoi modificare qualsiasi file copiato per personalizzare ciò che appare quando la schermata di mimetizzazione è attiva.

Il supporto per la traduzione ora si basa sull'API Google Gemini. Imposta quanto segue in `chatter.env` (o nell'ambiente) per abilitarlo:

- `GEMINI_API_KEY` – Chiave API segreta utilizzata per autenticare le richieste di traduzione.
- `GEMINI_API_BASE` – Override opzionale per l'URL di base dell'API (predefinito a `https://generativelanguage.googleapis.com/v1beta`).
- `GEMINI_MODEL` – Override opzionale per il nome del modello Gemini (predefinito a `gemini-2.5-flash`).

Quando la traduzione è attiva, la chat consegna ogni messaggio immediatamente nella lingua originale e lo segue con una didascalia
rientrata che contiene il testo tradotto una volta che la risposta di Gemini arriva. I riepiloghi delle reazioni utilizzano lo stesso stile di didascalia in modo che
gli aggiornamenti appaiano direttamente sotto il messaggio a cui si riferiscono.

Se gli inserimenti di didascalie in linea risultano fastidiosi, puoi riservare in anticipo un piccolo buffer di righe vuote con `/chat-spacing <0-5>`.
L'impostazione riguarda solo i thread di chat in diretta—il contenuto della bacheca continua a tradursi senza riserva—così puoi regolare la
spaziatura per la tua sessione senza influenzare i post lunghi.

La tua opzione di traduzione e le scelte linguistiche vengono salvate in `chatter_state.dat`, quindi le sessioni future ripristinano automaticamente la stessa
configurazione una volta che ti riconnetti.

Se preferisci installare senza avviare immediatamente il servizio, esegui lo script con `SKIP_START=1`.

Comandi di gestione del servizio:```bash
sudo systemctl status chatter.service
sudo systemctl restart chatter.service
sudo systemctl disable --now chatter.service

Stato delle funzionalità

Implementate

  • Listener SSH che negozia le connessioni e genera un thread per sessione.
  • Captcha di accesso
  • Consegna del MOTD tramite il flag -m o file di configurazione gestito dal servizio.
  • Comando /help per i client connessi.
  • Log lato server di connessioni, disconnessioni e tentativi di comandi amministrativi (/ban, /poke).
  • Trasmissione dei messaggi della chat a tutti i partecipanti connessi.
  • Tavolozze di colori
  • Messaggio personale in stile BBS
  • Tag multimediale
  • Banna utente
  • Orologio
  • Cambia nickname
  • Scorrimento chat
  • Controllo elenco utenti
  • Traduzione della lingua
  • OpenWeather /weather
  • Sondaggi nominativi con voto basato su etichette, che supportano sondaggi a scelta multipla /vote e alternative a scelta singola /vote-single, incluso /elect <label> <choice> come abbreviazione di voto testuale.
  • Sistema di bacheca retrò accessibile tramite /bbs con tagging, commenti, "bump" e un compositore interattivo che termina con un terminatore sensibile alla lingua (predefinito >/__BBS_END>).

In corso / pianificate

  • Applicazione dei comandi di moderazione oltre la registrazione nei log.

Contributi

Issue e pull request sono benvenuti. Si prega di includere i passaggi per riprodurre i bug e assicurarsi che make abbia successo prima di inviare le modifiche.

Scarica lo strumento
PercorsoDescrizione
src/main.cAnalisi della riga di comando e bootstrap del processo (indirizzo di bind, porta, MOTD, directory delle chiavi host).
src/host_aggregate.c, include/ssh_chatter/host.hImplementazione dell'host chat – ciclo di vita della sessione, gestione MOTD e hook per la futura logica di broadcast dei messaggi.
src/hostSottosistemi host modulari che compilano in una singola unità di traduzione tramite src/host_aggregate.c.
include/ssh_chatterHeader condivisi per il demone, strumenti di stress e il backend di traduzione.
include/ssh_chatter/contextsDefinizioni per session_ctx_t e strutture correlate che incapsulano lo stato per connessione.
data/banner/bannerBanner di benvenuto di esempio a cui si può puntare con CHATTER_WELCOME_BANNER.
scripts/install_chatter_service.shInstaller di comodo che compila il binario, lo installa in /usr/local/bin e configura un'unità systemd (chatter.service).
scripts/install_dependencies.shInstaller di pacchetti minimo per i prerequisiti di build su sistemi Debian/Ubuntu.
  • CHATTER_GEMINI_COOLDOWN_FILE – Percorso del file di stato del cooldown Gemini (predefinito gemini_cooldown.dat).
  • CHATTER_SECURITY_FILTER – Imposta su off/false/0 per disabilitare il filtro di sicurezza a più livelli (abilitato per impostazione predefinita).
  • CHATTER_SECURITY_AI – Imposta su on/true/1 per abilitare la moderazione AI (disabilitato per impostazione predefinita).
  • CHATTER_FILESTORE_PATH – Sostituisce il percorso di archiviazione dei file gestiti (predefinito /etc/ssh-chatter/user-files).
  • CHATTER_FILE_STORAGE_ROOT – Fallback legacy per il percorso di archiviazione dei file gestiti.
  • CHATTER_MAX_ALLOC_BYTES – Limite superiore per un singolo tentativo di allocazione contigua nel gestore di memoria interno. Per impostazione predefinita non c'è limite (SIZE_MAX). Imposta questo solo se vuoi imporre un limite rigido su una singola allocazione. Imposta su 0, unlimited, inf o infinity per rimuovere esplicitamente qualsiasi limite.
  • Editor /asciiart con bozze da 640 righe, un cooldown di pubblicazione di dieci minuti per IP, consegna su più righe e scorciatoie Ctrl+A/Ctrl+S.
  • Hub /game con tetris integrato (transcodificato dall'implementazione C originale dell'era sovietica) e liargame, entrambi sospendibili tramite /suspend! o Ctrl+Z.