๐ azuretls-client - Awesome Go Library for Networking

An easy-to-use HTTP client 100% in Go to spoof TLS/JA3 and HTTP2 fingerprint
Detailed Description of azuretls-client
AzureTLS Client
A powerful HTTP client for Go that's simple to use but gives you full control when you need it.
Perfect for API clients, web scraping, testing, and any situation where you need more than the standard library offers, without the complexity.
Installation
go get github.com/Noooste/azuretls-client
Quick Start - 30 Seconds
package main
import (
"fmt"
"log"
"github.com/Noooste/azuretls-client"
)
func main() {
session := azuretls.NewSession()
defer session.Close()
response, err := session.Get("https://api.github.com")
if err != nil {
log.Fatal(err)
}
fmt.Printf("Status: %d\n", response.StatusCode)
fmt.Println(response.String())
}
That's it! Just create a session and make requests. This automatically uses Chrome's TLS (JA3) and HTTP/2 fingerprint, making it look like a real browser to servers.
๐ก New to Go? AzureTLS uses a session-based API (similar to creating an
http.Client). Each session automatically mimics Chrome by default, no fingerprint configuration needed. Advanced customization is completely optional.
Common Tasks
POST Request with JSON
session := azuretls.NewSession()
defer session.Close()
data := map[string]string{
"name": "AzureTLS",
"type": "HTTP Client",
}
response, err := session.Post("https://api.example.com/data", data)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Status: %d\n", response.StatusCode)
Using a Proxy
session := azuretls.NewSession()
defer session.Close()
// One line proxy setup: supports HTTP, HTTPS, SOCKS4, SOCKS5
err := session.SetProxy("http://username:[email protected]:8080")
if err != nil {
log.Fatal(err)
}
response, err := session.Get("https://api.ipify.org")
Browser Emulation
session := azuretls.NewSession()
defer session.Close()
// Default: Chrome fingerprint (already active, no configuration needed!)
// Want to mimic a different browser? Just change it:
session.Browser = azuretls.Firefox // or Safari, Edge, etc.
response, err := session.Get("https://example.com")
Custom Header Ordering
session := azuretls.NewSession()
defer session.Close()
// Precise control over header order
session.OrderedHeaders = azuretls.OrderedHeaders{
{"User-Agent", "MyApp/1.0"},
{"Accept", "application/json"},
{"Authorization", "Bearer token123"},
}
response, err := session.Get("https://api.example.com")
Why AzureTLS vs Standard Library?
| Feature | net/http | AzureTLS |
|---|---|---|
| API Style | Package or Client-based | Session-based |
| Browser Fingerprint | โ Looks like Go | โ Chrome by default |
| Cookie Management | Manual setup | โ Automatic jar |
| Ordered Headers | โ | โ Built-in |
| Proxy Support | Manual dialer setup | โ
session.SetProxy() |
| Multiple Proxy Types | Manual | โ HTTP/SOCKS4/SOCKS5 |
| Custom TLS (JA3/JA4) | โ | โ Easy |
| HTTP/2 Customization | โ | โ Easy |
| HTTP/3 Support | โ | โ Easy |
| Browser Presets | โ | โ Chrome/Firefox/Safari/Edge |
๐ Key Features
- ๐ Modern Protocols: HTTP/1.1, HTTP/2, and HTTP/3 support
- ๐ง TLS Fingerprinting: Full control over ClientHello (JA3/JA4)
- ๐ญ Browser Emulation: Chrome, Firefox, Safari, Edge presets
- ๐ Advanced Proxy Support: HTTP, HTTPS, SOCKS4, SOCKS5 with authentication.
- โ๏ธ Proxy Chaining: Multi-hop proxy connections for enhanced anonymity
- ๐ Header Control: Precise ordering and custom headers
- ๐ช Cookie Management: Automatic handling with persistent jar
- ๐ SSL Pinning: Enhanced security with certificate validation
- ๐ Debug Tools: Request logging and dumping capabilities
Documentation
- ๐ Complete API Reference: Every feature, method, and option
- ๐ฌ Examples Directory: Working code samples
- ๐ CFFI Documentation: Use AzureTLS from other languages
Learn More
- Making Requests: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS (examples/README.md)
- TLS Fingerprinting: JA3/JA4 customization (examples/README.md)
- HTTP/2 & HTTP/3: Protocol customization (examples/README.md)
- Proxy Management: Advanced proxy features (examples/README.md)
- Websockets: WebSocket support (examples/README.md)
- SSL Pinning: Certificate validation (examples/README.md)
Use Cases
Perfect for:
- ๐ API Integration: REST clients that look like real browsers by default
- ๐ Web Scraping: Automatic browser fingerprinting without configuration
- ๐ก๏ธ Testing antibot systems: Avoid bot detection with authentic browser signatures
- ๐ Proxy Rotation: Built-in support for multiple proxy types
- ๐งช Security Testing: Custom TLS configurations for advanced testing
- ๐ Load Testing: High-performance concurrent requests
Multi-Language Support via CFFI
AzureTLS can be used from any programming language that supports C Foreign Function Interface. Read the CFFI documentation for full details.
Community & Support
- ๐ฌ GitHub Discussions: Ask questions, share ideas
- ๐ GitHub Issues: Report bugs, request features
- ๐ Examples: Code samples and tutorials
Show Your Support
If AzureTLS helps you build something awesome:
- โญ Star this repository
- ๐ Report bugs or suggest features
- ๐ก Share your use cases in discussions
- ๐ค Contribute code or documentation
- ๐ Create bindings for your favorite programming language
Acknowledgments
Built with โค๏ธ by the open source community. Special thanks to all contributors.
๐ก๏ธ Need Antibot Bypass?
TLS fingerprinting alone isn't enough for modern bot protection. Hyper Solutions provides the missing piece - API endpoints that generate valid antibot tokens for:
Akamai โข DataDome โข Kasada โข Incapsula
No browser automation. Just simple API calls that return the exact cookies and headers these systems require.
๐ Get Your API Key | ๐ Docs | ๐ฌ Discord
