Multiplex all networks onto a single client connection using /network suffixes on channels and nicks. PASS is now just the password (no network prefix). Channels appear as #channel/network, foreign nicks as nick/network, own nicks stay bare. New namespace.py module with pure encode/decode functions. Router tracks clients globally (not per-network), namespaces messages before delivery. Client attaches to all networks on connect, sends synthetic JOIN/TOPIC/NAMES for every channel across all networks. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# Roadmap
|
|
|
|
## v0.1.0 (current)
|
|
|
|
- [x] IRC protocol parser/formatter
|
|
- [x] TOML configuration
|
|
- [x] SOCKS5 proxy connector with local DNS + multi-IP failover
|
|
- [x] Multi-network support
|
|
- [x] Client authentication (password)
|
|
- [x] Persistent backlog (SQLite)
|
|
- [x] Backlog replay on reconnect
|
|
- [x] Automatic reconnection with exponential backoff
|
|
- [x] Nick collision handling
|
|
- [x] TLS support
|
|
- [x] Stealth connect (random markov-generated identity)
|
|
- [x] Probation window (K-line detection before revealing nick)
|
|
- [x] Verified end-to-end on Libera.Chat via SOCKS5
|
|
- [x] Multi-network namespace multiplexing (`/network` suffixes)
|
|
|
|
## v0.2.0
|
|
|
|
- [ ] Client-side TLS (accept TLS from clients)
|
|
- [ ] SASL authentication to IRC servers
|
|
- [ ] CTCP VERSION/PING response
|
|
- [ ] Channel key support (JOIN #channel key)
|
|
- [ ] Configurable probation duration
|
|
- [ ] Configurable backlog timestamp format
|
|
|
|
## v0.3.0
|
|
|
|
- [ ] Hot config reload (SIGHUP)
|
|
- [ ] Systemd service file
|
|
- [ ] Per-client backlog tracking (multi-user)
|
|
- [ ] Web status page
|
|
- [ ] DCC passthrough
|
|
|
|
## v1.0.0
|
|
|
|
- [ ] Stable API
|
|
- [ ] Comprehensive test coverage
|
|
- [ ] Packaged for PyPI
|