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>
1.3 KiB
1.3 KiB
Debugging
Verbose Mode
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:
bouncer -c /full/path/to/bouncer.toml
Connection refused (SOCKS5 proxy)
Verify the proxy is running:
ss -tlnp | grep 1080
Connection timeout to IRC server
Check the SOCKS5 proxy can reach the IRC server:
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
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