A Go HTTP client that spoofs TLS/JA3, HTTP/2, and HTTP/3 fingerprints to emulate real browsers by default.
AzureTLS Client is a Go HTTP client library that spoofs TLS, HTTP/2, and HTTP/3 fingerprints to make requests appear as if they come from real browsers like Chrome or Firefox. It solves the problem of bot detection and anti-scraping systems by providing automatic browser emulation and fine-grained control over network protocols.
Go developers building API clients, web scrapers, security testing tools, or applications that need to bypass bot protection and mimic legitimate browser traffic.
Developers choose AzureTLS Client over the standard net/http package or other HTTP clients because it offers built-in browser fingerprint emulation by default, advanced proxy and protocol support, and a simple session-based API that balances ease of use with powerful customization for evading detection.
An easy-to-use HTTP client to spoof TLS/JA3, HTTP2 and HTTP3 fingerprint
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Sessions default to Chrome's TLS and HTTP/2 fingerprints, making requests appear as legitimate browser traffic without configuration, as shown in the quick start example where no setup is needed.
Supports HTTP, HTTPS, SOCKS4, and SOCKS5 proxies with authentication and chaining via a simple `SetProxy` method, demonstrated in the proxy setup example with one-line configuration.
Provides full control over ClientHello for custom JA3/JA4 signatures, essential for bypassing advanced bot detection systems, with documented examples in the TLS fingerprinting section.
Built-in support for HTTP/1.1, HTTP/2, and HTTP/3 enables compatibility with modern web servers without additional setup, as highlighted in the key features.
The README actively promotes Hyper Solutions for antibot tokens, indicating that standalone use might be insufficient for bypassing advanced protections like Akamai or DataDome, creating a reliance on external paid services.
While simple for basic requests, advanced features like custom TLS fingerprints and proxy chaining add unnecessary complexity for developers who only need standard HTTP functionality, beyond what net/http offers.
Using AzureTLS from other languages requires C Foreign Function Interface setup, which adds steps and complexity compared to native HTTP clients in those languages, as noted in the CFFI documentation.