Node.js wrapper for bogdanfinn/tls-client providing browser-like TLS fingerprinting via JA3, HTTP/2, and HTTP/3. Version 0.1.13 is current, with frequent releases. Uses a managed sidecar process (tls-client-api) by default for predictable async concurrency, with an optional native shared-library mode. Ships strict TypeScript types, supports ESM and CJS, and keeps lifecycle explicit through TLSClient and Session objects. Differentiates from node-tls-client by avoiding singleton state and aligning payloads closely with the upstream Go library. Requires Node.js >=18.17 and downloads platform-specific binaries during postinstall.
npm install tls-client-nodeNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Creates a TLSClient, opens a session with Chrome 136 emulation, makes a GET request, and properly closes session and client.
Use try/finally or async dispose patterns to ensure session.close() and client.close() are called.
Either rely on default managed mode or ensure TLS_CLIENT_VERSION is set to a supported version and the binary is present.
Replace 'timeout' with 'requestTimeout' for request-level timeout or 'connectTimeout' for connection timeout.
Access response.body instead of using the raw response value.
Always set User-Agent and other headers matching the emulated browser in the request options.
Set TLS_CLIENT_SKIP_DOWNLOAD=1 before install, then manually download the library and place it in node_modules/tls-client-node/bin/.
Use import { TLSClient } from 'tls-client-node' instead of import TLSClient from 'tls-client-node'.Upgrade to latest version, delete node_modules/tls-client-node/bin and reinstall, or switch to runtimeMode: 'native'.
Set the 'family' option to 4 in the session configuration to force IPv4.
No dependency data recorded yet.