nullock started as a weekend tool to debug a TLS bug I couldn't see through. The commercial proxy cost more than my laptop; the free ones choked on a busy capture. So I wrote my own, put it on GitHub, and people kept showing up.
It's still mostly one person. That shapes everything: the scope stays small, the code stays readable, and I only build features I'd use myself. Hosting and Premium support pay for the time — they never paywall the core.
_ _ _ _ __ _ _| | | ___ ___| | __ | '_ \| | | | | |/ _ \ / __| |/ / | | | | |_| | | | (_) | (__| < |_| |_|\__,_|_|_|\___/ \___|_|\_\
Your captures are yours. Nothing syncs unless you ask it to. The binary makes no calls home — ever.
Free desktop. Paid hosting. No bait, no seat traps, no "contact sales" wall. The price is on the page.
One binary, one config dir, one SQLite file. We say no to features more than yes, and the tool is faster for it.
Hold and rewrite responses and WS frames, not just requests, plus a repeater to inject frames. Merged and on main; not in v3.7.0 yet.
/api/gate?fail-on=<sev> plus a GitHub Action; an unreachable target fails the gate rather than passing it. Merged and on main; not in v3.7.0 yet.
Alt-Svc h3 readiness detection shipped in v3.7.0 (nullock http3). Decoding QUIC streams needs a QUIC transport dependency and is not started.
Share a read-only session over the LAN. Self-hosted relay.
The code is on GitHub, the issues are open, and good PRs get merged fast. Or just sponsor a maintainer's coffee.