go-browserhttp

A pure-Go http.Client with a real Chrome TLS fingerprint (uTLS) โ€” bypass anti-bot 403s, no host web view.

CGO_ENABLED=0Chrome TLS fingerprint (uTLS)no web viewmacOS ยท Linux ยท WindowsBSD-3-Clause
Documentation GitHub

go-browserhttp is a pure-Go, CGO_ENABLED=0 http.Client that presents a real Chrome TLS fingerprint via uTLS. Many sites 403 non-browser clients based largely on the TLS ClientHello; mimicking Chrome's ciphers, extensions and curves โ€” plus a browser User-Agent and a warmed cookie jar โ€” lets a plain Go client reach public endpoints with no host web view. Identical on macOS, Linux and Windows.

Quickstart

Construct a client and issue a request that looks like Chrome:

c := browserhttp.NewClient(30 * time.Second)
resp, err := c.Get("https://www.reddit.com/r/golang/hot.json")

Repositories

The single module in the org today, mirrored from the live GitHub repo.

browserhttp client

Pure-Go http.Client presenting a Chrome TLS fingerprint via uTLS. CGO=0.

CI Go Reference

Pure Go with CGO_ENABLED=0 โ€” no host web view, no headless browser, no C toolchain. Extracted from go-news-reader/reader and shared by any fetcher that must look like a browser. BSD-3-Clause.