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:
@@ -152,9 +152,11 @@ files, login.
|
||||
!username list # List services by category
|
||||
!username john # Full scan (~25 services)
|
||||
!username john github # Check single service
|
||||
!dns example.com # A record lookup
|
||||
!dns example.com # A record lookup (UDP, local resolver)
|
||||
!dns 1.2.3.4 # Reverse PTR lookup
|
||||
!dns example.com MX # Specific type (A/AAAA/MX/NS/TXT/CNAME/PTR/SOA)
|
||||
!tdns example.com # A record lookup (TCP via SOCKS5 proxy)
|
||||
!tdns example.com MX @8.8.8.8 # Explicit type + custom server
|
||||
!cert example.com # CT log lookup (max 5 domains)
|
||||
!whois example.com # WHOIS domain lookup
|
||||
!whois 8.8.8.8 # WHOIS IP lookup
|
||||
|
||||
@@ -82,6 +82,7 @@ format = "text" # Log format: "text" (default) or "json"
|
||||
| `!topic [text]` | Set or query channel topic (admin) |
|
||||
| `!mode <mode> [args]` | Set channel mode (admin) |
|
||||
| `!dns <target> [type]` | DNS lookup (A, AAAA, MX, NS, TXT, CNAME, PTR, SOA) |
|
||||
| `!tdns <target> [type] [@server]` | TCP DNS lookup via SOCKS5 proxy |
|
||||
| `!encode <fmt> <text>` | Encode text (b64, hex, url, rot13) |
|
||||
| `!decode <fmt> <text>` | Decode text (b64, hex, url, rot13) |
|
||||
| `!hash [algo] <text>` | Generate hash digests (md5, sha1, sha256, sha512) |
|
||||
|
||||
Reference in New Issue
Block a user