hellojs
Node.js HTTP client whose TLS/H2/H3 handshake produces the same JA4/Akamai/peetprint fingerprint as a real Chrome browser. Drop-in request-shape API.
A Node.js HTTP client that mimics a real Chrome browser's network fingerprint so requests are not blocked by bot detection services.
hellojs is a Node.js HTTP client library designed to bypass browser-detection systems by making your code look exactly like a real Chrome browser at the network level. When a program connects to a website over HTTPS, the initial security handshake — called a TLS handshake — leaves a fingerprint that identifies what kind of client made the request. Services like Cloudflare Bot Management, PerimeterX, DataDome, and Akamai Bot Manager use these fingerprints (identified by names like JA4, Akamai, and peetprint) to detect and block automated traffic, because standard Node.js clients such as undici, axios, got, and node-fetch all produce fingerprints that look nothing like Chrome.
hellojs produces the exact same fingerprints as Chrome 147 on macOS, including the cipher list ordering, the presence of GREASE values (random-looking noise Chrome injects to keep servers flexible), the ALPS extension, the hybrid key exchange algorithm, and the HTTP/2 framing details. Per-connection random fields rotate every handshake, matching how a real browser behaves.
The programming interface is modeled on the popular request package, so switching an existing codebase over requires minimal changes. You pass a URL (or an options object with URL, method, headers, and body) and get back the response body. It supports GET, POST, and other HTTP methods via shortcuts, cookie persistence across requests, connection pooling that reuses established sessions, proxy support, per-phase timeouts, automatic retry, and observability hooks. It also supports HTTP/3 (the newest version of the web protocol, which runs over QUIC instead of TCP). The full README is longer than what was provided.
Where it fits
- Make HTTP requests that pass Cloudflare Bot Management and similar fingerprint checks
- Swap an existing codebase built on the request package over to hellojs with minimal changes
- Persist cookies and reuse connections across multiple requests
- Route requests through a proxy while keeping a realistic Chrome fingerprint