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:
65
README.md
Normal file
65
README.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# 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
|
||||
- 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
|
||||
- Nick collision handling
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Clone and install
|
||||
cd ~/git/bouncer
|
||||
make dev
|
||||
|
||||
# Copy and edit config
|
||||
cp config/bouncer.example.toml config/bouncer.toml
|
||||
$EDITOR config/bouncer.toml
|
||||
|
||||
# Run
|
||||
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.
|
||||
|
||||
## Configuration
|
||||
|
||||
See [config/bouncer.example.toml](config/bouncer.example.toml) for a full example.
|
||||
|
||||
## 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
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
Reference in New Issue
Block a user