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>
76 lines
1.3 KiB
Markdown
76 lines
1.3 KiB
Markdown
# Debugging
|
|
|
|
## Verbose Mode
|
|
|
|
```bash
|
|
bouncer -c config/bouncer.toml -v
|
|
```
|
|
|
|
Debug logging shows:
|
|
- SOCKS5 proxy connection attempts
|
|
- IRC server registration
|
|
- Client connect/disconnect events
|
|
- Message routing
|
|
- Backlog replay counts
|
|
|
|
## Common Issues
|
|
|
|
### "config not found"
|
|
|
|
Ensure the config path is correct:
|
|
|
|
```bash
|
|
bouncer -c /full/path/to/bouncer.toml
|
|
```
|
|
|
|
### Connection refused (SOCKS5 proxy)
|
|
|
|
Verify the proxy is running:
|
|
|
|
```bash
|
|
ss -tlnp | grep 1080
|
|
```
|
|
|
|
### Connection timeout to IRC server
|
|
|
|
Check the SOCKS5 proxy can reach the IRC server:
|
|
|
|
```bash
|
|
curl --socks5 127.0.0.1:1080 -v telnet://irc.libera.chat:6697
|
|
```
|
|
|
|
### Nick already in use
|
|
|
|
The bouncer appends `_` to the nick and retries. Check logs for:
|
|
|
|
```
|
|
WARNING bouncer.network [libera] nick in use, trying mynick_
|
|
```
|
|
|
|
### TLS certificate errors
|
|
|
|
If connecting to a server with a self-signed cert, this is currently not supported. All TLS connections use the system CA store.
|
|
|
|
## Inspecting the Backlog Database
|
|
|
|
```bash
|
|
sqlite3 config/bouncer.db
|
|
|
|
-- Recent messages
|
|
SELECT * FROM messages ORDER BY id DESC LIMIT 20;
|
|
|
|
-- Messages per network
|
|
SELECT network, COUNT(*) FROM messages GROUP BY network;
|
|
|
|
-- Client state
|
|
SELECT * FROM client_state;
|
|
```
|
|
|
|
## Log Format
|
|
|
|
```
|
|
HH:MM:SS LEVEL module message
|
|
```
|
|
|
|
Levels: `DEBUG`, `INFO`, `WARNING`, `ERROR`
|