{"repo":"StopMakingThatBigFace/node-wreq","free":true,"listed":false,"github":"https://github.com/StopMakingThatBigFace/node-wreq","clone":"git clone https://github.com/StopMakingThatBigFace/node-wreq.git","description":"🎭 Typescript HTTP client with native TLS, HTTP2, JA3, JA4 browser impersonation backed by wreq's Rust core","language":"TypeScript","stars":48,"topics":["browser-fingerprint-bypass","impersonation","rust","typescript","web-scraping","wreq","rust-wrapper","crawler","fingerprint","http2"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"node-wreq node-wreq is a thin Node.js wrapper around 0x676e67's wreq — a Rust HTTP client exposing its full power to JavaScript. Use it when you need low-level control over the network layer: TLS configuration, transport fingerprinting, browser impersonation, or fine-grained HTTP/WebSocket behavior that standard Node.js clients simply don't expose. [!TIP] ### why does this exist? Node.js ships with a built-in https module, and the ecosystem offers popular clients like axios , got , and node-fetch — but all of them are built on top of OpenSSL via Node's tls module, which exposes no control over low-level TLS handshake parameters . This makes it fundamentally impossible to emulate real browser network behavior from pure JavaScript. - HTTP/1 over TLS Node.js HTTP clients normalize headers to lowercase internally, which is compliant with HTTP/2 semantics but breaks compatibility with some WAFs that enforce case-sensitive header validation on HTTP/1 requests. This wrapper preserves header case exactly as specified, preventing requests from being silently rejected. - HTTP/2 over TLS Fingerprints like JA3 , JA4 , and Akamai HTTP/2 are derived from the specifics of the TLS handshake and HTTP/2 SETTINGS frames — cipher suite ordering, TLS extensions, ALPN values, HPACK header compression parameters, and more. Node.js exposes none of these through its tls or http2 APIs. You simply cannot spoof them from JS land, no matter the library. This package solves that at the native layer, givin","default_branch":null,"files":null,"tree":[],"storefront":"/r/StopMakingThatBigFace","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/StopMakingThatBigFace/node-wreq/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}