UNPKG

node-libcurl-ja3

Version:

Node.js native bindings for libcurl-impersonate. Impersonate Chrome, Edge, Firefox and Safari TLS fingerprints.

52 lines 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FIREFOX_BROWSER_CONFIGS = exports.getFirefoxConfig = exports.DEFAULT_FIREFOX_VERSION = exports.DEFAULT_FIREFOX_FINGERPRINT = exports.FirefoxBrowser = void 0; const fingerprint_1 = require("../fingerprint"); const util_1 = require("../util"); var FirefoxBrowser; (function (FirefoxBrowser) { FirefoxBrowser["Firefox135"] = "firefox135"; FirefoxBrowser["Firefox136"] = "firefox136"; FirefoxBrowser["Firefox144"] = "firefox144"; FirefoxBrowser["Firefox"] = "firefox144"; })(FirefoxBrowser || (exports.FirefoxBrowser = FirefoxBrowser = {})); exports.DEFAULT_FIREFOX_FINGERPRINT = { ja3: '771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-34-18-51-43-13-45-28-27-65037,4588-29-23-24-25-256-257,0', ja4: 't13d1717h2_1301,1303,1302,c02b,c02f,cca9,cca8,c02c,c030,c00a,c009,c013,c014,009c,009d,002f,0035_0000,0017,ff01,000a,000b,0023,0010,0005,0022,0012,0033,002b,000d,002d,001c,001b,fe0d_0403,0503,0603,0804,0805,0806,0401,0501,0601,0203,0201', akami: '1:65536;2:0;4:131072;5:16384|12517377|0|m,p,a,s', keepExtensionOrder: true, }; exports.DEFAULT_FIREFOX_VERSION = '144.0'; function getFirefoxConfig(config) { var _a, _b, _c; const version = (_a = config === null || config === void 0 ? void 0 : config.version) !== null && _a !== void 0 ? _a : exports.DEFAULT_FIREFOX_VERSION; return (0, util_1.deepMerge)({ compressed: true, headers: (0, util_1.parseHeaders)([ `User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:${version}) Gecko/20100101 Firefox/${version}`, 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: en-US,en;q=0.5', 'Accept-Encoding: gzip, deflate, br, zstd', 'Upgrade-Insecure-Requests: 1', 'Sec-Fetch-Dest: document', 'Sec-Fetch-Mode: navigate', 'Sec-Fetch-Site: none', 'Sec-Fetch-User: ?1', 'Priority: u=0, i', 'TE: Trailers', ]), http2StreamExclusive: 0, http2StreamWeight: 42, sslCertCompression: 'zlib,brotli,zstd', tlsDelegatedCredentials: 'ecdsa_secp256r1_sha256:ecdsa_secp384r1_sha384:ecdsa_secp521r1_sha512:ecdsa_sha1', tlsKeySharesLimit: 3, tlsRecordSizeLimit: 4001, }, (0, fingerprint_1.parseFingerprint)((0, util_1.deepMerge)(exports.DEFAULT_FIREFOX_FINGERPRINT, (_b = config === null || config === void 0 ? void 0 : config.fingerprint) !== null && _b !== void 0 ? _b : {})), (_c = config === null || config === void 0 ? void 0 : config.override) !== null && _c !== void 0 ? _c : {}); } exports.getFirefoxConfig = getFirefoxConfig; exports.FIREFOX_BROWSER_CONFIGS = { [FirefoxBrowser.Firefox135]: getFirefoxConfig({ version: '135.0' }), [FirefoxBrowser.Firefox136]: getFirefoxConfig({ version: '136.0' }), [FirefoxBrowser.Firefox144]: getFirefoxConfig(), }; //# sourceMappingURL=firefox.js.map