Repository navigation
v0.5.0 — measured parity table + docs overhaul
Documentation and release polish. No breaking API changes; no behavioural change to the library.
Highlights
- Real measured parity table in the README: JA4, JA3, and HTTP/2 (Akamai) fingerprints for every profile (chrome, edge, firefox, safari, ios), captured with
go run ./cmd/measureagainst tls.peet.ws on 2026-10-25 (uTLS v1.8.2). Reproducible — no hand-written values. - Corrected the Chrome fingerprint claim. Chrome shuffles its TLS extension order on every connection (Chromium >= 110), so its JA3 is non-deterministic by design. The old README listed a single fixed Chrome JA3, which was misleading; JA4 (which sorts extensions) is now presented as the identifier to match on.
- Honest Edge caveat: uTLS
HelloEdge_Autodoes not reproduce Chromiums per-connection extension shuffle, so the Edge ClientHello is close but not shuffle-identical to real Edge 131. UseChrome` if you need the shuffle. - 30-second quickstart with a complete, runnable example.
- What it does / does not do section (no HTTP/3, regular-header order is best-effort, no JS/DOM) and a factual comparison to curl_cffi (Python + CGo/libcurl) and utls (TLS layer only).
- Godoc: documented the exported
Profiletype and all its fields.
Verified
go build ./..., go vet ./..., and go test ./... -race all pass (Go 1.25.3). CI green.
Full changelog: v0.4.0...v0.5.0