feat: initial IRC bouncer implementation
Async Python IRC bouncer with SOCKS5 proxy support, multi-network connections, password auth, and persistent SQLite backlog with replay. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
53
docs/CHEATSHEET.md
Normal file
53
docs/CHEATSHEET.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# Cheatsheet
|
||||
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
bouncer -c config/bouncer.toml # Start with config
|
||||
bouncer -c config/bouncer.toml -v # Start with debug output
|
||||
bouncer --version # Show version
|
||||
bouncer --help # Show help
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
make dev # Install with dev deps
|
||||
make test # Run pytest
|
||||
make lint # Run ruff
|
||||
make fmt # Format with black + ruff
|
||||
make run # Run with default config
|
||||
make clean # Remove .venv and build artifacts
|
||||
```
|
||||
|
||||
## Client Connection
|
||||
|
||||
```
|
||||
PASS <network>:<password> # Authenticate + select network
|
||||
PASS <password> # Authenticate, use first network
|
||||
```
|
||||
|
||||
## Config Structure
|
||||
|
||||
```toml
|
||||
[bouncer] # Listener settings
|
||||
bind / port / password
|
||||
[bouncer.backlog] # Backlog settings
|
||||
max_messages / replay_on_connect
|
||||
|
||||
[proxy] # SOCKS5 proxy
|
||||
host / port
|
||||
|
||||
[networks.<name>] # IRC server (repeatable)
|
||||
host / port / tls
|
||||
nick / user / realname
|
||||
channels / autojoin / password
|
||||
```
|
||||
|
||||
## Files
|
||||
|
||||
| Path | Purpose |
|
||||
|------|---------|
|
||||
| `config/bouncer.toml` | Active configuration |
|
||||
| `config/bouncer.db` | SQLite backlog database |
|
||||
| `config/bouncer.example.toml` | Example config template |
|
||||
Reference in New Issue
Block a user