Files
WTFnet/docs/implementation_status.md
2026-01-17 18:45:24 +08:00

1.6 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.
  • DNS leak detection: new passive monitor with policy and privacy modes (best-effort).
  • HTTP: head/get via reqwest with best-effort timing breakdown and optional HTTP/3 (feature-gated).
  • TLS: rustls-based handshake/verify/cert/alpn.
  • Discover: mDNS/SSDP bounded collection plus LLMNR/NBNS (best-effort).
  • 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/ttfb_ms are captured; connect_ms/tls_ms are measured via a separate probe and can be null with warnings.
  • DNS watch uses pnet and is feature-gated as best-effort.

Gaps vs design (as of now)

  • HTTP/3 is feature-gated and incomplete; not enabled in default builds.
  • TLS verification is rustls-based (no OS-native verifier).
  • DNS leak DoH detection is heuristic and currently optional.

Current stage summary

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