Update README, PROJECT, ROADMAP, TASKS, TODO, USAGE, CHEATSHEET, INSTALL, and DEBUG to reflect stealth connect, probation window, markov nick generation, local DNS resolution, and multi-IP failover. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
# bouncer
|
|
|
|
IRC bouncer with SOCKS5 proxy support and persistent message backlog.
|
|
|
|
## Features
|
|
|
|
- Connect to multiple IRC networks simultaneously
|
|
- All outbound connections routed through SOCKS5 proxy
|
|
- Stealth connect: registers with a random pronounceable nick and generic identity
|
|
- Probation window: waits 15s after registration to detect K-lines before revealing real nick
|
|
- Persistent message backlog (SQLite) with replay on reconnect
|
|
- Multiple clients can attach to the same network session
|
|
- Password authentication
|
|
- TLS support for IRC server connections
|
|
- Automatic reconnection with exponential backoff
|
|
- Local DNS resolution with multi-address failover
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
cd ~/git/bouncer
|
|
make dev
|
|
|
|
cp config/bouncer.example.toml config/bouncer.toml
|
|
$EDITOR config/bouncer.toml
|
|
|
|
bouncer -c config/bouncer.toml -v
|
|
```
|
|
|
|
## Connect
|
|
|
|
From your IRC client, connect to `127.0.0.1:6667` with:
|
|
|
|
```
|
|
PASS networkname:yourpassword
|
|
```
|
|
|
|
Where `networkname` matches a `[networks.NAME]` section in your config.
|
|
|
|
## How It Works
|
|
|
|
```
|
|
IRC Client(s) --> [bouncer:6667] --> Router --> [SOCKS5:1080] --> IRC Server(s)
|
|
|
|
|
Backlog
|
|
(SQLite)
|
|
```
|
|
|
|
1. Bouncer connects to IRC server via SOCKS5 with a random identity
|
|
2. Survives 15s probation (K-line detection)
|
|
3. Switches to your configured nick
|
|
4. Joins configured channels
|
|
5. Clients connect to bouncer, receive backlog replay and channel state
|
|
|
|
## Documentation
|
|
|
|
| Document | Description |
|
|
|----------|-------------|
|
|
| [docs/INSTALL.md](docs/INSTALL.md) | Prerequisites and setup |
|
|
| [docs/USAGE.md](docs/USAGE.md) | Comprehensive guide |
|
|
| [docs/CHEATSHEET.md](docs/CHEATSHEET.md) | Quick reference |
|
|
| [docs/DEBUG.md](docs/DEBUG.md) | Troubleshooting |
|
|
|
|
## Development
|
|
|
|
```bash
|
|
make dev # Install with dev deps
|
|
make test # Run tests
|
|
make lint # Run linter
|
|
make fmt # Format code
|
|
```
|