3.9 KiB
3.9 KiB
WTFnet Roadmap and Status
This document tracks the planned roadmap alongside the current implementation status.
Roadmap (from docs/requirement_docs.md)
v0.1 (MVP)
- sys: ifaces/ip/route/dns
- ports: listen/who
- probe: ping + tcping
- calc: subnet/contains/overlap
- basic logging + --json everywhere
v0.2 (current requirements)
- dns: query + detect + watch (best-effort)
- geoip: local Country+ASN mmdb integration
- http: head/get (HTTP/2 required; HTTP/3 best-effort optional)
- tls: handshake/verify/cert/alpn
- neigh: ARP/NDP snapshot
- discover: mdns + ssdp (bounded)
- diag: bundle export (zip)
v0.3 (future upgrades)
- richer trace output (reverse lookup, per-hop loss, per-hop stats)
- HTTP timing accuracy (connect/tls)
- TLS extras: OCSP stapling indicator, richer cert parsing
- ports conns improvements (top talkers / summary)
- better baseline/diff for system roots
- optional LLMNR/NBNS discovery
- optional HTTP/3 (feature-gated; experimental, incomplete)
Current stage
Implemented
- Workspace and core crate scaffold.
- Core data model: command envelope, meta, warnings/errors.
- Exit code mapping.
- Logging initialization with text/json formats and optional file output.
- CLI crate scaffold with global flags and logging config wiring (placeholder
sys ifaces). - Config/env parsing helpers in core (config file + env overrides).
- Platform trait crate and OS-specific stub crates for Windows/Linux.
sys ifacesimplemented in Windows/Linux providers (vianetwork-interface) and wired to CLI.- CLI support for
sys ipandsys route(platform routes still OS-specific work). - Platform
sys routeimplementations (Linux via/proc/net, Windows viaroute printparsing). - Platform
sys dnsimplementations (Linux/etc/resolv.conf, Windowsipconfig /all) and CLI command. - Platform
ports listen/whobest-effort parsing (Linux/proc/net, Windowsnetstat -ano). - Platform
neigh listbest-effort parsing (Linux/proc/net/arp, Windowsarp -a). - Platform
cert rootsimplementation via native trust store parsing. - CLI commands for
ports listen/who,neigh list, andcert roots. - Process name/path enrichment for
ports listen/who(Linux procfs, Windows tasklist/wmic). wtfnet-geoipcrate with local mmdb lookup and CLI commands (geoip,geoip status).wtfnet-probecrate with ping/tcping and best-effort TCP trace, plus CLI commands.- ICMP/UDP traceroute support (IPv4) via pnet.
- Probe outputs now include GeoIP by default with
--no-geoipdisable flags. - UDP traceroute now supports IPv6 on Unix and includes per-hop RTT.
wtfnet-dnscrate with query/detect support wired to CLI.- DNS query/detect output includes GeoIP enrichment for server and answer IPs.
- DNS query/detect supports DoT and DoH transports.
- DNS query/detect supports SOCKS5 proxying for DoH/DoT.
- DNS watch (passive, best-effort) implemented.
- Calc subcrate with subnet/contains/overlap/summarize wired to CLI.
- CMake/Makefile build, install, and package targets for release packaging.
- HTTP crate with head/get support, timing breakdown, optional GeoIP, and SOCKS5 proxy.
- TLS crate with handshake/verify/cert/alpn support in CLI (SOCKS5 proxy supported).
- TCP ping supports SOCKS5 proxy.
- v0.3: probe trace per-hop stats + rdns support.
- v0.3: http connect/tls timing best-effort with warnings.
- v0.3: ports conns (active TCP connections + summaries).
- v0.3: TLS extras (OCSP flag + richer cert parsing).
- v0.3: cert baseline/diff improvements.
- v0.3: HTTP/3 request path (feature-gated; experimental, incomplete).
- Discover crate with mdns/ssdp commands.
- Diag crate with report and bundle export.
- Basic unit tests for calc and TLS parsing.
In progress
- v0.3: optional HTTP/3 (feature-gated; keep disabled until stabilized).
Next
- Complete v0.3 trace upgrades and update CLI output.
- Add v0.2 tests (dns detect, basic http/tls smoke).