f4be111420
- Split host:port in Host header before DNS/IP validation, accept bare IPs - Guard sniffer connection ownership with snifferHandled flag to prevent double-close when sniffers take over the tunnel - Close req.Body in handleProxy keep-alive loop on both error and success paths to prevent goroutine leaks from idle HTTP transport connections - Log all resp.Write errors (5 call sites) instead of silently discarding - Respect resp.Close for all responses, not just ContentLength >= 0, fixing unnecessarily closed chunked keep-alive connections - Harden probe resistance: validate strconv.Atoi result, add 15s timeout to web redirect HTTP client, document pr.Knock empty/set/mismatch logic