@ossiana/node-libcurl
TypeScript icon, indicating that this package has built-in type declarations

1.3.11 • Public • Published

node-libcurl

Different with Nodejs fetch api

  • The fingerprint can be customized to look like chrome or firefox ,it modified the BoringSSL extension, set the custom cipher suite with Libcurl

Attention by custom ja3 fingerprint!!!

  • ssl support for node-libcurl is provided by boringssl
  • boringssl does not provided the following support
    1. extension support group only support [P-256, P-384, P-521, X25519], but the library was modified to provide dummy support groups, like [ffdhe2048, ffdhe3072] (ja3 is 256,257). if you use them, it may cause an SSL connection error. This depends on whether the server selects these two support groups
    1. ec_point_format (ja3 is ...,0-1-2) only support 0 (uncompressed)
    1. extensions only support (ja3)[0, 65037, 23, 65281, 10, 11, 35, 16, 5, 13, 13172, 18, 30032, 14, 51, 45, 42, 43, 44, 57, 65445, 27, 34, 17513, 28, 41]

support

Build Status

Platform Support
Windows (x64) Yes
Windows (x86) No
Windows (arm) No
Ubuntu (x86_64) Yes
MacOS (x86_64) Yes
MacOS (arm64) Yes

How to Install

npm i -g @ossiana/node-libcurl


Use Sample

import as ES Module

import { LibCurl, fetch, requests } from '@ossiana/node-libcurl'

import as CommonJS Module

const { LibCurl, fetch, requests } = require('@ossiana/node-libcurl')

browser fetch style

fetch("https://xxx.io/api/graphql/").then(e => e.json())

requests style

const session = requests.session();

session.setCookie('ua', '123=/1a', '.baidu.com', '/');

const res = await session.get('https://www.baidu.com', {
    headers: {
        "user-Agent": "1"
    }
});
console.log(res.headersMap);
console.log(session.getCookiesMap().get('ua'));
console.log(res.text);

Readme

Keywords

none

Package Sidebar

Install

npm i @ossiana/node-libcurl

Weekly Downloads

14

Version

1.3.11

License

MIT

Unpacked Size

98.3 kB

Total Files

29

Last publish

Collaborators

  • ossiana