feat: add TCP DNS plugin with SOCKS5 proxy support
Extract shared DNS wire-format helpers into src/derp/dns.py so both the UDP plugin (dns.py) and the new TCP plugin (tdns.py) share the same encode/decode/build/parse logic. The !tdns command routes queries through the SOCKS5 proxy via derp.http.open_connection, using TCP framing (2-byte length prefix). Default server: 1.1.1.1. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
11
README.md
11
README.md
@@ -15,7 +15,8 @@ make run
|
||||
### Container
|
||||
|
||||
```bash
|
||||
make up # Build + start with podman-compose
|
||||
make build # Build image (only after dependency changes)
|
||||
make up # Start with podman-compose
|
||||
make logs # Follow logs
|
||||
make down # Stop
|
||||
```
|
||||
@@ -37,6 +38,7 @@ make down # Stop
|
||||
|--------|----------|-------------|
|
||||
| core | ping, help, version, uptime, whoami, admins, load, reload, unload, plugins, state | Bot management |
|
||||
| dns | dns | Raw UDP DNS resolver (A/AAAA/MX/NS/TXT/CNAME/PTR/SOA) |
|
||||
| tdns | tdns | TCP DNS resolver via SOCKS5 proxy (same record types) |
|
||||
| encode | encode, decode | Base64, hex, URL, ROT13 |
|
||||
| hash | hash, hashid | Hash generation + type identification |
|
||||
| defang | defang, refang | IOC defanging for safe sharing |
|
||||
@@ -63,6 +65,11 @@ make down # Stop
|
||||
| payload | payload | SQLi/XSS/SSTI/LFI/CMDi/XXE templates |
|
||||
| dork | dork | Google dork query builder |
|
||||
| wayback | wayback | Wayback Machine snapshot lookup |
|
||||
| username | username | Username enumeration across ~25 services |
|
||||
| remind | remind | One-shot, repeating, and calendar reminders |
|
||||
| rss | rss | RSS/Atom feed subscriptions with polling |
|
||||
| youtube | yt | YouTube channel follow with new-video alerts |
|
||||
| twitch | twitch | Twitch livestream notifications (public GQL) |
|
||||
| chanmgmt | kick, ban, unban, topic, mode | Channel management (admin) |
|
||||
| example | echo | Demo plugin |
|
||||
|
||||
@@ -90,7 +97,7 @@ async def on_join(bot, message):
|
||||
| `make lint` | Lint with ruff |
|
||||
| `make run` | Start the bot (bare metal) |
|
||||
| `make link` | Symlink to `~/.local/bin/` |
|
||||
| `make build` | Build container image |
|
||||
| `make build` | Build container image (only for dependency changes) |
|
||||
| `make up` | Start with podman-compose |
|
||||
| `make down` | Stop with podman-compose |
|
||||
| `make logs` | Follow compose logs |
|
||||
|
||||
Reference in New Issue
Block a user