Files
WTFnet/docs/implementation_status.md

1.3 KiB

Implementation Status vs Design

This document tracks current implementation status against the original design in docs/implementation_notes.md.

Matches the design

  • Workspace layout with feature crates (wtfnet-core, wtfnet-platform, wtfnet-geoip, wtfnet-probe, wtfnet-dns, wtfnet-http, wtfnet-tls, wtfnet-discover, wtfnet-diag).
  • CLI remains a thin wrapper around library crates.
  • Platform abstraction uses traits with OS dispatch.
  • GeoIP: local GeoLite2 Country + ASN support.
  • Probe: ping/tcping/trace with GeoIP enrichment.
  • DNS: Hickory-based query/detect with best-effort heuristics.
  • HTTP: head/get via reqwest.
  • TLS: rustls-based handshake/verify/cert/alpn.
  • Discover: mDNS/SSDP bounded collection.
  • Diag: bundle export in zip.

Deviations or refinements

  • DNS adds DoT/DoH and SOCKS5 proxy support.
  • HTTP/TLS/TCP ping include SOCKS5 proxy support.
  • HTTP timing breakdown is best-effort: dns_ms and ttfb_ms are captured; connect_ms/tls_ms remain placeholders.
  • DNS watch uses pnet and is feature-gated as best-effort.

Gaps vs design (as of now)

  • HTTP/3 not implemented.
  • TLS verification is rustls-based (no OS-native verifier).
  • Discover does not include LLMNR/NBNS.

Current stage summary

  • v0.1 scope is complete.
  • v0.2 scope mostly complete; remaining are deeper test coverage and optional enhancements.