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>
54 lines
1.2 KiB
Markdown
54 lines
1.2 KiB
Markdown
# 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 |
|