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:
75
docs/DEBUG.md
Normal file
75
docs/DEBUG.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user