Catalog npm
Back to packageRELEASE DETAILS

0.1.0

npm

148tls-fetch

curl_cffi-like HTTP client with a real Chrome 148 TLS + HTTP/2 fingerprint (Rust/BoringSSL via napi-rs). Windows x64.

boringsslchromecurl-cffifingerprinthttp2impersonateja3ja4tls
Published23 May 2026
Direct dependencies0
Transitive dependenciesNot calculated

README

Current package documentation

148tls-fetch

curl_cffi-like HTTP client emitting a real Chrome 148 TLS ClientHello + HTTP/2 fingerprint. Engine: Rust (wreq / BoringSSL) compiled to a native Node addon via napi-rs.

Platform: Windows x64 only. (os: win32, cpu: x64)

Install

npm install 148tls-fetch

Usage

const { CurlSession, Curl, CurlOpt, CurlInfo } = require("148tls-fetch");

const s = new CurlSession({ impersonate: "chrome148", proxy: "http://user:pass@host:port" });

const r = await s.get("https://x.com/", {
  headers: { "User-Agent": "Mozilla/5.0 ... Chrome/148.0.0.0 Safari/537.36" },
  timeout: 20000,
});
console.log(r.status, r.text.length);
// r = { status, url, text, data, dataRaw(Buffer), headers, headersList }

// cookies persist in s.jar across requests automatically
s.jar.setCookieSync("auth_token=...; Domain=.x.com; Path=/; Secure", "https://x.com/");

const post = await s.post("https://api.example.com/x", JSON.stringify({ a: 1 }), {
  headers: { "Content-Type": "application/json" },
});

Low-level handle (curl-cffi Curl style)

const c = new Curl();
c.impersonate("chrome148", false);
c.setOption(CurlOpt.Url, "https://example.com/");
c.setOption(CurlOpt.HttpGet, true);
c.setHeadersRaw(["User-Agent: ...", "Accept: application/json"]);
await c.perform();
c.status();                                  // HTTP status
c.getRespBody();                             // Buffer
c.getInfoString(CurlInfo.EffectiveUrl);      // final URL after redirects
c.close();

Fingerprint

Matches real Chrome 148 on JA4, HTTP/2 Akamai, cipher list, supported groups, and extension set. (JA3 hash intentionally varies — Chrome 110+ randomizes TLS extension order each handshake; JA4 is the stable identifier.)

License

MIT

Downloads & popularity

1downloads
7-day window · source-reported counts21 Oct 2026
10.50
2026-10-21: 1 · observed 2026-10-21T18:38:09.6705795Z
21 Oct21 Oct

npm · 1 observations shown. Missing days are unknown.

View observed values
Date / source periodValueObserved at
2026-10-2112026-10-21T18:38:09.6705795Z

Declared dependencies 0

Native requirements
0 direct targetsNot calculated transitive count
No declared dependencies in this collected response

Declarations describe requirements; they are not a resolved dependency graph.

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "800b5b5255b53b26d37a0997942e4aaef149eb92",
  "tarball": "https://registry.npmjs.org/148tls-fetch/-/148tls-fetch-0.1.0.tgz",
  "fileCount": 8,
  "integrity": "sha512-uXBMr2HEXjdLHY41Dvt5E1ljxkOCCScE1LA/a/E8Mg9NkYXZ/aVGSXdnKmz+sviCEGe73qzK9Sf2aJRv6hnG2g==",
  "signatures": [
    {
      "sig": "MEYCIQDvbTdjcHeWssSf+1c+bJZZPElBbI5Nj69ajrk34ZYbMwIhALLZSp3ZfaPMl2GG8KUFjVK73V9aCwxEsfZu20a00GuB",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    }
  ],
  "unpackedSize": 7345410
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:14 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:cdfb042d829586edb085e610009b15cfc9f1e60fb6dde73fb4cd169c32bd30ff

Other collected versions

0.1.123 MayView all collected versions →