Terminal chat server. Vim-style interface. SSH-based.
curl -sSL https://raw.githubusercontent.com/m1ngsama/TNT/main/install.sh | shOr download from releases.
tnt # port 2222
tnt -p 3333 # custom port
PORT=3333 tnt # env varConnect: ssh -p 2222 localhost
Anonymous Access: By default, users can connect with ANY username and ANY password (or empty password). No SSH keys required. This makes TNT perfect for public chat servers.
Configure via environment variables.
TNT_ACCESS_TOKEN="secret" tnt # require password
TNT_BIND_ADDR=127.0.0.1 tnt # localhost onlyWithout TNT_ACCESS_TOKEN, server is open (default).
TNT_MAX_CONNECTIONS=100 tnt # total limit
TNT_MAX_CONN_PER_IP=10 tnt # per-IP limit
TNT_RATE_LIMIT=0 tnt # disable (testing only)Default: 64 total, 5 per IP, rate limiting enabled.
TNT_SSH_LOG_LEVEL=3 tnt # verbose logging (0-4)INSERT (default)
ESC→ NORMALEnter→ sendBackspace→ delete
NORMAL
i→ INSERT:→ COMMANDj/k→ scrollg/G→ top/bottom?→ help
COMMAND
:list→ users:help→ commandsESC→ back
make # normal
make debug # with symbols
make asan # sanitizer
make check # static analysisRequires: libssh
See DEPLOYMENT.md for systemd setup.
messages.log chat history
host_key SSH key (auto-gen)
tnt.service systemd unit
./test_basic.sh # functional
./test_stress.sh 50 # 50 clientsREADME- man page styleEASY_SETUP.md- 🚀 快速部署指南 / Quick Setup GuideHACKING- dev guideDEPLOYMENT.md- productionCICD.md- automationQUICKREF- cheat sheet
MIT