Files
WTFnet/docs/status.md
2026-01-16 13:27:07 +08:00

3.0 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)
  • TLS extras: OCSP stapling indicator, more chain parsing
  • ports conns improvements (top talkers / summary)
  • better baseline/diff for system roots
  • smarter "diagnose " workflow mode

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 ifaces implemented in Windows/Linux providers (via network-interface) and wired to CLI.
  • CLI support for sys ip and sys route (platform routes still OS-specific work).
  • Platform sys route implementations (Linux via /proc/net, Windows via route print parsing).
  • Platform sys dns implementations (Linux /etc/resolv.conf, Windows ipconfig /all) and CLI command.
  • Platform ports listen/who best-effort parsing (Linux /proc/net, Windows netstat -ano).
  • Platform neigh list best-effort parsing (Linux /proc/net/arp, Windows arp -a).
  • Platform cert roots implementation via native trust store parsing.
  • CLI commands for ports listen/who, neigh list, and cert roots.
  • Process name/path enrichment for ports listen/who (Linux procfs, Windows tasklist/wmic).
  • wtfnet-geoip crate with local mmdb lookup and CLI commands (geoip, geoip status).
  • wtfnet-probe crate 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-geoip disable flags.
  • UDP traceroute now supports IPv6 on Unix and includes per-hop RTT.
  • wtfnet-dns crate 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.
  • DNS watch (passive, best-effort) implemented.
  • Calc subcrate with subnet/contains/overlap/summarize wired to CLI.

In progress

  • v0.2 features: http, tls, discover, diag.

Next

  • Complete remaining v0.2 crates/commands (http/tls/discover/diag/dns watch).
  • Add v0.2 tests (dns detect, calc, basic http/tls smoke).