Specter v3.3.0 — observability
Wire unchanged (0x03): v3.3 servers work with v3.2 clients, and vice versa.
Logging (SPECTER_LOG=error|warn|info|debug, default warn; no keys ever logged):
- warn: target dial failures + slow dials (>2s) with target host (where user -1s/spikes come from), client handshake failures with hints (wrong PSK? UDP blocked?), maxConns drops
- info: 5-min counters (tcp accept/drop/hs/dial, udp hello/dial/done, orphan drained/expired); SPECTER_STATS_SEC overrides interval
- debug: handshake rejects, hello retries/dups, relay ends, orphan drains; scanner noise rate-limited (1/5s + suppressed count) so the port still looks dead
- server startup line now logs version/listen/mode; UDP-only mode starts sweepers correctly