local-chat
v0.1.0
Published
Private local network CLI chat - no server, no logs, just vibes
Maintainers
Readme
local-chat
Private local network CLI chat. No server, no logs, just vibes.
Same WiFi, terminal-based, fully encrypted, completely volatile.
Quick Start
npx local-chatThat's it. Create a room or join one automatically discovered on your network.
Features
- Fully local — No external server. Works on the same WiFi only.
- Volatile — Messages exist in memory only. Leave the room, they're gone.
- Encrypted — AES-256-GCM on all messages. Packet sniffing gets you nothing.
- Password rooms — Optional password protection with SHA-256 auth.
- Auto discovery — Rooms broadcast via UDP. No IP sharing needed.
- Korean input — Full IME support via Ink.
Usage
Create a room
npx local-chat
# → Create a room → enter room name, optional password, nicknameJoin a room (auto-discover)
npx local-chat
# → Join a room → pick from discovered roomsJoin directly
npx local-chat join 192.168.1.5:41567Commands
| Command | Description |
|---------|-------------|
| /users | List online users |
| /clear | Clear screen |
| /help | Show help |
| /quit | Leave room |
Shortcuts
| Key | Action |
|-----|--------|
| Ctrl+C | Exit |
| Ctrl+L | Clear screen |
| Ctrl+H | Toggle help |
How It Works
Room Creator (Host) Participants
┌─────────────────────┐ ┌──────────────┐
│ WebSocket Server │◄──────ws─────►│ WS Client │
│ (message relay) │ └──────────────┘
│ │ ┌──────────────┐
│ UDP Broadcaster │──broadcast───►│ UDP Listener │
│ (room announce) │ port 41568 └──────────────┘
└─────────────────────┘- The room creator's machine runs a WebSocket server
- Room info is broadcast via UDP every 3 seconds (port 41568)
- All messages are encrypted with AES-256-GCM
- Password rooms derive keys via PBKDF2; public rooms use a random session key
Security
- Messages encrypted with AES-256-GCM (Node.js built-in
crypto) - Passwords hashed with SHA-256, keys derived with PBKDF2 (100k iterations)
- Nothing written to disk. Ever.
- Network-local only — no internet traffic
Requirements
- Node.js >= 18
- Same WiFi/LAN network
License
MIT
