TNT's Not Tunnel
Find a file
m1ngsama 5f8b8fd843 feat: enhance anonymous access and long-term stability
Improvements for low-barrier anonymous access:
- Enhanced welcome message to clarify anonymous access
- Added EASY_SETUP.md guide in Chinese and English
- Updated README with anonymous access notes

Long-term stability enhancements:
- Improved systemd service with auto-restart and resource limits
- Added log rotation script (scripts/logrotate.sh)
- Added health check script (scripts/healthcheck.sh)
- Added cron setup script for automated maintenance
- Added anonymous access test suite

Testing:
- All security features verified (10/10 passed)
- Anonymous access tests passed (2/2)
- Health check verified

This ensures:
- Zero-barrier SSH access (any username, any password)
- Stable long-term operation with auto-restart
- Automated log management
- Continuous health monitoring
2026-01-22 15:06:54 +08:00
.github/workflows Add CI/CD and deployment automation 2025-12-02 12:47:15 +08:00
include fix(security): implement buffer security enhancements 2026-01-22 13:54:15 +08:00
scripts feat: enhance anonymous access and long-term stability 2026-01-22 15:06:54 +08:00
src feat: enhance anonymous access and long-term stability 2026-01-22 15:06:54 +08:00
.gitignore Add development and testing infrastructure 2025-12-02 10:00:00 +08:00
CHANGELOG.md docs: document comprehensive security fixes 2026-01-22 14:12:55 +08:00
CICD.md Add CI/CD and deployment automation 2025-12-02 12:47:15 +08:00
DEPLOYMENT.md Add CI/CD and deployment automation 2025-12-02 12:47:15 +08:00
EASY_SETUP.md feat: enhance anonymous access and long-term stability 2026-01-22 15:06:54 +08:00
HACKING Add developer documentation 2025-12-02 15:00:00 +08:00
IMPLEMENTATION_SUMMARY.txt docs: add comprehensive implementation summary 2026-01-22 14:48:15 +08:00
install.sh Add CI/CD and deployment automation 2025-12-02 12:47:15 +08:00
LICENSE Initial commit 2025-07-01 09:00:00 +08:00
Makefile Add development and testing infrastructure 2025-12-02 10:00:00 +08:00
QUICKREF Add developer documentation 2025-12-02 15:00:00 +08:00
README Rewrite README in classic Unix style 2025-12-02 12:57:18 +08:00
README.md feat: enhance anonymous access and long-term stability 2026-01-22 15:06:54 +08:00
SECURITY_QUICKREF.md docs: add security quick reference guide 2026-01-22 14:35:00 +08:00
test_anonymous_access.sh feat: enhance anonymous access and long-term stability 2026-01-22 15:06:54 +08:00
test_basic.sh Add development and testing infrastructure 2025-12-02 10:00:00 +08:00
TEST_RESULTS.md test: add comprehensive security feature test suite 2026-01-22 14:32:38 +08:00
test_security_features.sh test: add comprehensive security feature test suite 2026-01-22 14:32:38 +08:00
test_stress.sh Add development and testing infrastructure 2025-12-02 10:00:00 +08:00
tnt.service feat: enhance anonymous access and long-term stability 2026-01-22 15:06:54 +08:00

TNT

Terminal chat server. Vim-style interface. SSH-based.

Install

curl -sSL https://raw.githubusercontent.com/m1ngsama/TNT/main/install.sh | sh

Or download from releases.

Run

tnt              # port 2222
tnt -p 3333      # custom port
PORT=3333 tnt    # env var

Connect: 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.

Security

Configure via environment variables.

Access Control

TNT_ACCESS_TOKEN="secret" tnt           # require password
TNT_BIND_ADDR=127.0.0.1 tnt             # localhost only

Without TNT_ACCESS_TOKEN, server is open (default).

Rate Limiting

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.

SSH Options

TNT_SSH_LOG_LEVEL=3 tnt                 # verbose logging (0-4)

Keys

INSERT (default)

  • ESC → NORMAL
  • Enter → send
  • Backspace → delete

NORMAL

  • i → INSERT
  • : → COMMAND
  • j/k → scroll
  • g/G → top/bottom
  • ? → help

COMMAND

  • :list → users
  • :help → commands
  • ESC → back

Build

make              # normal
make debug        # with symbols
make asan         # sanitizer
make check        # static analysis

Requires: libssh

Deploy

See DEPLOYMENT.md for systemd setup.

Files

messages.log      chat history
host_key          SSH key (auto-gen)
tnt.service       systemd unit

Test

./test_basic.sh         # functional
./test_stress.sh 50     # 50 clients

Docs

  • README - man page style
  • EASY_SETUP.md - 🚀 快速部署指南 / Quick Setup Guide
  • HACKING - dev guide
  • DEPLOYMENT.md - production
  • CICD.md - automation
  • QUICKREF - cheat sheet

License

MIT