@ossiana/node-libcurl 1.9.9 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/libcurl.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LibCurl = exports.LibCurlError = exports.LibCurlJA3EcPointFormat = exports.LibCurlJA3SupportGroup = exports.LibCurlTLSVerifySigalgs = exports.LibCurlJA3Extension = exports.LibCurlJA3Cipher = exports.LibCurlJA3TlsVersion = void 0;
4
- const crypto_1 = require("crypto");
3
+ exports.LibCurl = exports.LibCurlError = exports.LibCurlJA3EcPointFormat = exports.LibCurlJA3SupportGroup = exports.LibCurlTLSVerifySigalgs = exports.LibCurlJA3Extension = exports.LibCurlJA3Cipher = exports.LibCurlJA3TlsVersion = exports.applyHttp3Fingerprint = exports.isLibCurlHttp3Version = void 0;
5
4
  const bindings_1 = require("../scripts/bindings");
6
5
  const utils_1 = require("./utils");
7
6
  bindings_1.BaoLibCurl.globalInit();
@@ -12,97 +11,25 @@ var LibCurlHttpVersionInfoEnum;
12
11
  LibCurlHttpVersionInfoEnum[LibCurlHttpVersionInfoEnum["http3"] = 2] = "http3";
13
12
  LibCurlHttpVersionInfoEnum[LibCurlHttpVersionInfoEnum["http3_only"] = 3] = "http3_only";
14
13
  })(LibCurlHttpVersionInfoEnum || (LibCurlHttpVersionInfoEnum = {}));
15
- const randomStringExtensions = (exts) => exts
16
- .split("-")
17
- .sort(() => (Math.random() > 0.5 ? 1 : -1))
18
- .join("-");
19
- const LibCurlJA3FingerPrintImplMap = {
20
- chrome99: () => [
21
- `771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-21-41,29-23-24,0`,
22
- [],
23
- ],
24
- chrome101: () => [
25
- `771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-21-41,29-23-24,0`,
26
- [],
27
- ],
28
- chrome110: () => [
29
- `771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,${randomStringExtensions("0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-21")}-41,29-23-24,0`,
30
- [],
31
- ],
32
- chrome124: () => [
33
- `771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,${randomStringExtensions("0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-65037-21")}-41,25497-29-23-24,0`,
34
- [],
35
- ],
36
- chrome131: () => [
37
- `771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,${randomStringExtensions("0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-65037-21")}-41,4588-29-23-24,0`,
38
- [],
39
- ],
40
- chrome133: () => [
41
- `771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,${randomStringExtensions("0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17613-65037-21")}-41,4588-29-23-24,0`,
42
- [],
43
- ],
44
- chrome150: () => [
45
- `771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,${randomStringExtensions("0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17613-65037-21")}-41,4588-29-23-24,0`,
46
- [
47
- "ml_dsa_44",
48
- "ml_dsa_65",
49
- "ml_dsa_87",
50
- "ecdsa_secp256r1_sha256",
51
- "rsa_pss_rsae_sha256",
52
- "rsa_pkcs1_sha256",
53
- "ecdsa_secp384r1_sha384",
54
- "rsa_pss_rsae_sha384",
55
- "rsa_pkcs1_sha384",
56
- "rsa_pss_rsae_sha512",
57
- "rsa_pkcs1_sha512",
58
- ],
59
- ],
60
- auto(chromeVersion) {
61
- if (!chromeVersion) {
62
- return this.chrome150();
63
- }
64
- if (chromeVersion < 101) {
65
- return this.chrome99();
66
- }
67
- else if (chromeVersion < 110) {
68
- return this.chrome101();
69
- }
70
- else if (chromeVersion < 124) {
71
- return this.chrome110();
72
- }
73
- else if (chromeVersion < 131) {
74
- return this.chrome124();
75
- }
76
- else if (chromeVersion < 133) {
77
- return this.chrome131();
78
- }
79
- else if (chromeVersion < 150) {
80
- return this.chrome133();
81
- }
82
- else {
83
- return this.chrome150();
84
- }
85
- },
86
- };
87
- const LibCurlAkamaiFingerPrintImplMap = {
88
- chrome99: () => `1:65536;3:1000;4:6291456;6:262144|15663105|0|m,a,s,p`,
89
- chrome107: () => `1:65536;2:0;3:1000;4:6291456;6:262144|15663105|0|m,a,s,p`,
90
- chrome119: () => `1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p`,
91
- auto(chromeVersion) {
92
- if (!chromeVersion) {
93
- return this.chrome119();
94
- }
95
- if (chromeVersion < 107) {
96
- return this.chrome99();
97
- }
98
- else if (chromeVersion < 119) {
99
- return this.chrome107();
100
- }
101
- else {
102
- return this.chrome119();
103
- }
104
- },
14
+ const isLibCurlHttp3Version = (v) => v === "http3" ||
15
+ v === "http3_only" ||
16
+ v === LibCurlHttpVersionInfoEnum.http3 ||
17
+ v === LibCurlHttpVersionInfoEnum.http3_only;
18
+ exports.isLibCurlHttp3Version = isLibCurlHttp3Version;
19
+ const applyHttp3Fingerprint = (curl, httpVersion, http3Fingerprint) => {
20
+ if ((0, exports.isLibCurlHttp3Version)(httpVersion)) {
21
+ curl.setHttp3Fingerprint(http3Fingerprint || "auto");
22
+ }
105
23
  };
24
+ exports.applyHttp3Fingerprint = applyHttp3Fingerprint;
25
+ const fingerprints_1 = require("./fingerprints");
26
+ var fingerprints_2 = require("./fingerprints");
27
+ Object.defineProperty(exports, "LibCurlJA3TlsVersion", { enumerable: true, get: function () { return fingerprints_2.LibCurlJA3TlsVersion; } });
28
+ Object.defineProperty(exports, "LibCurlJA3Cipher", { enumerable: true, get: function () { return fingerprints_2.LibCurlJA3Cipher; } });
29
+ Object.defineProperty(exports, "LibCurlJA3Extension", { enumerable: true, get: function () { return fingerprints_2.LibCurlJA3Extension; } });
30
+ Object.defineProperty(exports, "LibCurlTLSVerifySigalgs", { enumerable: true, get: function () { return fingerprints_2.LibCurlTLSVerifySigalgs; } });
31
+ Object.defineProperty(exports, "LibCurlJA3SupportGroup", { enumerable: true, get: function () { return fingerprints_2.LibCurlJA3SupportGroup; } });
32
+ Object.defineProperty(exports, "LibCurlJA3EcPointFormat", { enumerable: true, get: function () { return fingerprints_2.LibCurlJA3EcPointFormat; } });
106
33
  const defaultSortRequestHeadersConfig = {
107
34
  prefix: ["host", "connection", "content-length", "pragma", "cache-control"],
108
35
  clientHint: [
@@ -170,184 +97,6 @@ const LibCurlAutoSortRequestHeadersImplMap = (opt, chromeVersion) => {
170
97
  return autoSortRequestHeadersConfigV2;
171
98
  }
172
99
  };
173
- const LibCurlHttp3FingerPrintImplMap = {
174
- chrome126: () => ({
175
- scid: "scid=0",
176
- settings: "1:65536;6:262144;7:100;51:1;GREASE",
177
- transport_params: `9:103;18258:1;3:1472;4:15728640;GREASE;1:30000;8:100;32:65536;15:AUTO;7:6291456;5:6291456;12583:${(0, crypto_1.randomInt)(120000, 200000)};6:6291456;16741339:1@GREASE,1`,
178
- tls: "ciphers=1,2,3;alps=h3;grease=off;rand=on",
179
- permutation: "7,0,14,19,15,9,4,24,17,21,1",
180
- verify_sigalgs: "0x0403,0x0804,0x0401,0x0503,0x0805,0x0501,0x0806,0x0601,0x0201",
181
- }),
182
- chrome150: () => ({
183
- scid: "scid=0",
184
- settings: "1:65536;6:262144;7:100;51:1;GREASE",
185
- transport_params: `12584:0x4f524947;9:103;1:30000;7:6291456;15:AUTO;4:15728640;GREASE;32:65536;3:1472;17:1@1,GREASE;8:100;6:6291456;12583:${(0, crypto_1.randomInt)(120000, 200000)};5:6291456`,
186
- tls: "ciphers=1,2,3;alps=h3;grease=off;rand=on",
187
- permutation: "0,15,19,23,9,1,14,21,17,4,7",
188
- verify_sigalgs: "0x0403,0x0804,0x0401,0x0503,0x0805,0x0501,0x0806,0x0601,0x0201",
189
- }),
190
- auto(chromeVersion) {
191
- if (!chromeVersion) {
192
- return this.chrome150();
193
- }
194
- if (chromeVersion < 150) {
195
- return this.chrome126();
196
- }
197
- return this.chrome150();
198
- },
199
- };
200
- var LibCurlJA3TlsVersion;
201
- (function (LibCurlJA3TlsVersion) {
202
- LibCurlJA3TlsVersion[LibCurlJA3TlsVersion["TLSv1_2"] = 771] = "TLSv1_2";
203
- LibCurlJA3TlsVersion[LibCurlJA3TlsVersion["TLSv1_3"] = 772] = "TLSv1_3";
204
- })(LibCurlJA3TlsVersion = exports.LibCurlJA3TlsVersion || (exports.LibCurlJA3TlsVersion = {}));
205
- var LibCurlJA3Cipher;
206
- (function (LibCurlJA3Cipher) {
207
- LibCurlJA3Cipher[LibCurlJA3Cipher["NULL-SHA"] = 2] = "NULL-SHA";
208
- LibCurlJA3Cipher[LibCurlJA3Cipher["DES-CBC3-SHA"] = 10] = "DES-CBC3-SHA";
209
- LibCurlJA3Cipher[LibCurlJA3Cipher["AES128-SHA"] = 47] = "AES128-SHA";
210
- LibCurlJA3Cipher[LibCurlJA3Cipher["AES256-SHA"] = 53] = "AES256-SHA";
211
- LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES128-SHA"] = 51] = "DHE-RSA-AES128-SHA";
212
- LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES256-SHA"] = 57] = "DHE-RSA-AES256-SHA";
213
- LibCurlJA3Cipher[LibCurlJA3Cipher["AES128-SHA256"] = 60] = "AES128-SHA256";
214
- LibCurlJA3Cipher[LibCurlJA3Cipher["AES256-SHA256"] = 61] = "AES256-SHA256";
215
- LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES128-SHA256"] = 103] = "DHE-RSA-AES128-SHA256";
216
- LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES256-SHA256"] = 107] = "DHE-RSA-AES256-SHA256";
217
- LibCurlJA3Cipher[LibCurlJA3Cipher["PSK-AES128-CBC-SHA"] = 140] = "PSK-AES128-CBC-SHA";
218
- LibCurlJA3Cipher[LibCurlJA3Cipher["PSK-AES256-CBC-SHA"] = 141] = "PSK-AES256-CBC-SHA";
219
- LibCurlJA3Cipher[LibCurlJA3Cipher["AES128-GCM-SHA256"] = 156] = "AES128-GCM-SHA256";
220
- LibCurlJA3Cipher[LibCurlJA3Cipher["AES256-GCM-SHA384"] = 157] = "AES256-GCM-SHA384";
221
- LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES128-GCM-SHA256"] = 158] = "DHE-RSA-AES128-GCM-SHA256";
222
- LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES256-GCM-SHA384"] = 159] = "DHE-RSA-AES256-GCM-SHA384";
223
- LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_AES_128_GCM_SHA256"] = 4865] = "TLS_AES_128_GCM_SHA256";
224
- LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_AES_256_GCM_SHA384"] = 4866] = "TLS_AES_256_GCM_SHA384";
225
- LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_CHACHA20_POLY1305_SHA256"] = 4867] = "TLS_CHACHA20_POLY1305_SHA256";
226
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-DES-CBC3-SHA"] = 49160] = "ECDHE-ECDSA-DES-CBC3-SHA";
227
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES128-SHA"] = 49161] = "ECDHE-ECDSA-AES128-SHA";
228
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES256-SHA"] = 49162] = "ECDHE-ECDSA-AES256-SHA";
229
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-DES-CBC3-SHA"] = 49170] = "ECDHE-RSA-DES-CBC3-SHA";
230
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES128-SHA"] = 49171] = "ECDHE-RSA-AES128-SHA";
231
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES256-SHA"] = 49172] = "ECDHE-RSA-AES256-SHA";
232
- LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"] = 49187] = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256";
233
- LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"] = 49188] = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384";
234
- LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"] = 49191] = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256";
235
- LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"] = 49192] = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384";
236
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES128-GCM-SHA256"] = 49195] = "ECDHE-ECDSA-AES128-GCM-SHA256";
237
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES256-GCM-SHA384"] = 49196] = "ECDHE-ECDSA-AES256-GCM-SHA384";
238
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES128-GCM-SHA256"] = 49199] = "ECDHE-RSA-AES128-GCM-SHA256";
239
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES256-GCM-SHA384"] = 49200] = "ECDHE-RSA-AES256-GCM-SHA384";
240
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-PSK-AES128-CBC-SHA"] = 49205] = "ECDHE-PSK-AES128-CBC-SHA";
241
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-PSK-AES256-CBC-SHA"] = 49206] = "ECDHE-PSK-AES256-CBC-SHA";
242
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-CHACHA20-POLY1305"] = 52392] = "ECDHE-RSA-CHACHA20-POLY1305";
243
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-CHACHA20-POLY1305"] = 52393] = "ECDHE-ECDSA-CHACHA20-POLY1305";
244
- LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-PSK-CHACHA20-POLY1305"] = 52396] = "ECDHE-PSK-CHACHA20-POLY1305";
245
- })(LibCurlJA3Cipher = exports.LibCurlJA3Cipher || (exports.LibCurlJA3Cipher = {}));
246
- var LibCurlJA3Extension;
247
- (function (LibCurlJA3Extension) {
248
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_server_name"] = 0] = "TLSEXT_TYPE_server_name";
249
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_status_request"] = 5] = "TLSEXT_TYPE_status_request";
250
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_ec_point_formats"] = 11] = "TLSEXT_TYPE_ec_point_formats";
251
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_signature_algorithms"] = 13] = "TLSEXT_TYPE_signature_algorithms";
252
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_srtp"] = 14] = "TLSEXT_TYPE_srtp";
253
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_application_layer_protocol_negotiation"] = 16] = "TLSEXT_TYPE_application_layer_protocol_negotiation";
254
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_padding"] = 21] = "TLSEXT_TYPE_padding";
255
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_extended_master_secret"] = 23] = "TLSEXT_TYPE_extended_master_secret";
256
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_quic_transport_parameters_legacy"] = 65445] = "TLSEXT_TYPE_quic_transport_parameters_legacy";
257
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_quic_transport_parameters"] = 57] = "TLSEXT_TYPE_quic_transport_parameters";
258
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_cert_compression"] = 27] = "TLSEXT_TYPE_cert_compression";
259
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_session_ticket"] = 35] = "TLSEXT_TYPE_session_ticket";
260
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_supported_groups"] = 10] = "TLSEXT_TYPE_supported_groups";
261
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_pre_shared_key"] = 41] = "TLSEXT_TYPE_pre_shared_key";
262
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_early_data"] = 42] = "TLSEXT_TYPE_early_data";
263
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_supported_versions"] = 43] = "TLSEXT_TYPE_supported_versions";
264
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_cookie"] = 44] = "TLSEXT_TYPE_cookie";
265
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_psk_key_exchange_modes"] = 45] = "TLSEXT_TYPE_psk_key_exchange_modes";
266
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_certificate_authorities"] = 47] = "TLSEXT_TYPE_certificate_authorities";
267
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_signature_algorithms_cert"] = 50] = "TLSEXT_TYPE_signature_algorithms_cert";
268
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_key_share"] = 51] = "TLSEXT_TYPE_key_share";
269
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_renegotiate"] = 65281] = "TLSEXT_TYPE_renegotiate";
270
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_delegated_credential"] = 34] = "TLSEXT_TYPE_delegated_credential";
271
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_application_settings_old"] = 17513] = "TLSEXT_TYPE_application_settings_old";
272
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_application_settings"] = 17613] = "TLSEXT_TYPE_application_settings";
273
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_encrypted_client_hello"] = 65037] = "TLSEXT_TYPE_encrypted_client_hello";
274
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_ech_outer_extensions"] = 64768] = "TLSEXT_TYPE_ech_outer_extensions";
275
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_certificate_timestamp"] = 18] = "TLSEXT_TYPE_certificate_timestamp";
276
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_next_proto_neg"] = 13172] = "TLSEXT_TYPE_next_proto_neg";
277
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_channel_id"] = 30032] = "TLSEXT_TYPE_channel_id";
278
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_record_size_limit"] = 28] = "TLSEXT_TYPE_record_size_limit";
279
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_delegated_credentials"] = 34] = "TLSEXT_TYPE_delegated_credentials";
280
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_pake"] = 35387] = "TLSEXT_TYPE_pake";
281
- LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_trust_anchors"] = 51764] = "TLSEXT_TYPE_trust_anchors";
282
- })(LibCurlJA3Extension = exports.LibCurlJA3Extension || (exports.LibCurlJA3Extension = {}));
283
- var LibCurlTLSVerifySigalgs;
284
- (function (LibCurlTLSVerifySigalgs) {
285
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha1"] = 513] = "rsa_pkcs1_sha1";
286
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha256"] = 1025] = "rsa_pkcs1_sha256";
287
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha384"] = 1281] = "rsa_pkcs1_sha384";
288
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha512"] = 1537] = "rsa_pkcs1_sha512";
289
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_sha1"] = 515] = "ecdsa_sha1";
290
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_secp256r1_sha256"] = 1027] = "ecdsa_secp256r1_sha256";
291
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_secp384r1_sha384"] = 1283] = "ecdsa_secp384r1_sha384";
292
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_secp521r1_sha512"] = 1539] = "ecdsa_secp521r1_sha512";
293
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pss_rsae_sha256"] = 2052] = "rsa_pss_rsae_sha256";
294
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pss_rsae_sha384"] = 2053] = "rsa_pss_rsae_sha384";
295
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pss_rsae_sha512"] = 2054] = "rsa_pss_rsae_sha512";
296
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ed25519"] = 2055] = "ed25519";
297
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ml_dsa_44"] = 2308] = "ml_dsa_44";
298
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ml_dsa_65"] = 2309] = "ml_dsa_65";
299
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ml_dsa_87"] = 2310] = "ml_dsa_87";
300
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha256_legacy"] = 1056] = "rsa_pkcs1_sha256_legacy";
301
- LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_md5_sha1"] = 65281] = "rsa_pkcs1_md5_sha1";
302
- })(LibCurlTLSVerifySigalgs = exports.LibCurlTLSVerifySigalgs || (exports.LibCurlTLSVerifySigalgs = {}));
303
- var LibCurlJA3SupportGroup;
304
- (function (LibCurlJA3SupportGroup) {
305
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["P-256"] = 23] = "P-256";
306
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["P-384"] = 24] = "P-384";
307
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["P-521"] = 25] = "P-521";
308
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["X25519"] = 29] = "X25519";
309
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["ffdhe2048"] = 256] = "ffdhe2048";
310
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["ffdhe3072"] = 257] = "ffdhe3072";
311
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["X25519Kyber768Draft00"] = 25497] = "X25519Kyber768Draft00";
312
- LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["X25519MLKEM768"] = 4588] = "X25519MLKEM768";
313
- })(LibCurlJA3SupportGroup = exports.LibCurlJA3SupportGroup || (exports.LibCurlJA3SupportGroup = {}));
314
- var LibCurlJA3EcPointFormat;
315
- (function (LibCurlJA3EcPointFormat) {
316
- LibCurlJA3EcPointFormat[LibCurlJA3EcPointFormat["uncompressed"] = 0] = "uncompressed";
317
- LibCurlJA3EcPointFormat[LibCurlJA3EcPointFormat["compressed_fixed"] = 1] = "compressed_fixed";
318
- LibCurlJA3EcPointFormat[LibCurlJA3EcPointFormat["compressed_variable"] = 2] = "compressed_variable";
319
- })(LibCurlJA3EcPointFormat = exports.LibCurlJA3EcPointFormat || (exports.LibCurlJA3EcPointFormat = {}));
320
- const LibCurlBoringSSLExtensionPermutation = [
321
- LibCurlJA3Extension.TLSEXT_TYPE_server_name,
322
- LibCurlJA3Extension.TLSEXT_TYPE_encrypted_client_hello,
323
- LibCurlJA3Extension.TLSEXT_TYPE_extended_master_secret,
324
- LibCurlJA3Extension.TLSEXT_TYPE_renegotiate,
325
- LibCurlJA3Extension.TLSEXT_TYPE_supported_groups,
326
- LibCurlJA3Extension.TLSEXT_TYPE_ec_point_formats,
327
- LibCurlJA3Extension.TLSEXT_TYPE_session_ticket,
328
- LibCurlJA3Extension.TLSEXT_TYPE_application_layer_protocol_negotiation,
329
- LibCurlJA3Extension.TLSEXT_TYPE_status_request,
330
- LibCurlJA3Extension.TLSEXT_TYPE_signature_algorithms,
331
- LibCurlJA3Extension.TLSEXT_TYPE_next_proto_neg,
332
- LibCurlJA3Extension.TLSEXT_TYPE_certificate_timestamp,
333
- LibCurlJA3Extension.TLSEXT_TYPE_channel_id,
334
- LibCurlJA3Extension.TLSEXT_TYPE_srtp,
335
- LibCurlJA3Extension.TLSEXT_TYPE_key_share,
336
- LibCurlJA3Extension.TLSEXT_TYPE_psk_key_exchange_modes,
337
- LibCurlJA3Extension.TLSEXT_TYPE_early_data,
338
- LibCurlJA3Extension.TLSEXT_TYPE_supported_versions,
339
- LibCurlJA3Extension.TLSEXT_TYPE_cookie,
340
- LibCurlJA3Extension.TLSEXT_TYPE_quic_transport_parameters,
341
- LibCurlJA3Extension.TLSEXT_TYPE_quic_transport_parameters_legacy,
342
- LibCurlJA3Extension.TLSEXT_TYPE_cert_compression,
343
- LibCurlJA3Extension.TLSEXT_TYPE_delegated_credential,
344
- LibCurlJA3Extension.TLSEXT_TYPE_application_settings,
345
- LibCurlJA3Extension.TLSEXT_TYPE_application_settings_old,
346
- LibCurlJA3Extension.TLSEXT_TYPE_record_size_limit,
347
- LibCurlJA3Extension.TLSEXT_TYPE_pake,
348
- LibCurlJA3Extension.TLSEXT_TYPE_trust_anchors,
349
- LibCurlJA3Extension.TLSEXT_TYPE_pre_shared_key,
350
- ];
351
100
  class LibCurlError extends Error {
352
101
  constructor(message) {
353
102
  super(message);
@@ -355,7 +104,6 @@ class LibCurlError extends Error {
355
104
  }
356
105
  }
357
106
  exports.LibCurlError = LibCurlError;
358
- const textEncoder = new TextEncoder();
359
107
  class LibCurl {
360
108
  m_libCurl_impl_;
361
109
  m_method_ = "GET";
@@ -365,8 +113,10 @@ class LibCurl {
365
113
  m_nextRequestHeadersOrderMap = new utils_1.CaseInsensitiveMap();
366
114
  m_requestType = "fetch";
367
115
  m_nextRequestType = null;
368
- m_chromeVersion = 150;
116
+ m_chromeVersion = 152;
369
117
  m_hasCustomTLSVerifySigalgs = false;
118
+ m_lastJA3FingerprintArgs = null;
119
+ m_lastHttp3FingerprintArgs = null;
370
120
  formatTLSVerifySigalgs(sigalgs) {
371
121
  if (typeof sigalgs === "string") {
372
122
  return sigalgs;
@@ -380,7 +130,7 @@ class LibCurl {
380
130
  if (sigalg.startsWith("0x") || sigalg.startsWith("0X")) {
381
131
  return sigalg;
382
132
  }
383
- const value = LibCurlTLSVerifySigalgs[sigalg];
133
+ const value = fingerprints_1.LibCurlTLSVerifySigalgs[sigalg];
384
134
  if (typeof value === "number") {
385
135
  return `0x${value.toString(16).padStart(4, "0")}`;
386
136
  }
@@ -393,6 +143,9 @@ class LibCurl {
393
143
  constructor() {
394
144
  this.m_libCurl_impl_ = new bindings_1.BaoLibCurl();
395
145
  }
146
+ get impl() {
147
+ return this.m_libCurl_impl_;
148
+ }
396
149
  checkSending() {
397
150
  if (this.m_isSending_) {
398
151
  throw new LibCurlError("the last request is sending, don't send one more request on one instance!");
@@ -510,10 +263,15 @@ class LibCurl {
510
263
  }
511
264
  this.checkError();
512
265
  }
266
+ setConnectTo(connectTo) {
267
+ this.checkSending();
268
+ this.m_libCurl_impl_.setConnectTo(Array.isArray(connectTo) ? connectTo.join("\n") : connectTo);
269
+ this.checkError();
270
+ }
513
271
  setTimeout(connectTime, sendTime) {
514
272
  this.checkSending();
515
273
  if (connectTime > sendTime) {
516
- throw new LibCurlError("连接时间大于发送等待时间.");
274
+ throw new LibCurlError("connectTime cannot be greater than sendTime.");
517
275
  }
518
276
  this.m_libCurl_impl_.setTimeout(connectTime, sendTime);
519
277
  }
@@ -569,9 +327,10 @@ class LibCurl {
569
327
  .filter(Boolean)
570
328
  .filter((header) => !header.startsWith("HTTP/"))
571
329
  .filter((header) => header.includes(": "));
572
- return new Headers(lines.map((line) => line
573
- .split(": ", 2)
574
- .map((e) => String.fromCharCode(...textEncoder.encode(e)))));
330
+ return new Headers(lines.map((line) => {
331
+ const [key, value] = line.split(": ", 2);
332
+ return [key, value];
333
+ }));
575
334
  }
576
335
  getResponseStatus() {
577
336
  this.checkSending();
@@ -611,19 +370,9 @@ class LibCurl {
611
370
  }
612
371
  setHttpVersion(version) {
613
372
  this.checkSending();
614
- let _version = version;
615
- if (version == "http1.1") {
616
- _version = 0;
617
- }
618
- else if (version == "http2") {
619
- _version = 1;
620
- }
621
- else if (version == "http3") {
622
- _version = 2;
623
- }
624
- else if (version == "http3_only") {
625
- _version = 3;
626
- }
373
+ const _version = typeof version == "string"
374
+ ? { "http1.1": 0, http2: 1, http3: 2, http3_only: 3 }[version]
375
+ : version;
627
376
  this.m_libCurl_impl_.setHttpVersion(_version);
628
377
  }
629
378
  setInterface(network) {
@@ -632,13 +381,17 @@ class LibCurl {
632
381
  }
633
382
  setJA3Fingerprint(ja3 = "auto") {
634
383
  this.checkSending();
635
- const [ja3String, tlsVerifySigalgs] = LibCurlJA3FingerPrintImplMap[ja3]?.(this.m_chromeVersion) || [ja3, []];
384
+ const [ja3String, tlsVerifySigalgs, trustAnchors] = fingerprints_1.LibCurlJA3FingerPrintImplMap[ja3]?.(this.m_chromeVersion) || [
385
+ ja3,
386
+ [],
387
+ undefined,
388
+ ];
636
389
  const ja3Arr = ja3String.split(",");
637
390
  if (ja3Arr.length != 5) {
638
391
  throw new LibCurlError("ja3 fingerprint error");
639
392
  }
640
393
  const tlsVersion = ja3Arr.at(0);
641
- if (!LibCurlJA3TlsVersion[ja3Arr.at(0)]) {
394
+ if (!fingerprints_1.LibCurlJA3TlsVersion[ja3Arr.at(0)]) {
642
395
  throw new LibCurlError("ja3 fingerprint tlsVersion no support");
643
396
  }
644
397
  let tls13_ciphers = [];
@@ -646,7 +399,7 @@ class LibCurl {
646
399
  .at(1)
647
400
  .split("-")
648
401
  .map((key) => {
649
- const cipher = LibCurlJA3Cipher[key];
402
+ const cipher = fingerprints_1.LibCurlJA3Cipher[key];
650
403
  if (!cipher) {
651
404
  throw new LibCurlError(`ja3 fingerprint cipher ${key} no support`);
652
405
  }
@@ -669,7 +422,7 @@ class LibCurl {
669
422
  })
670
423
  .map((e) => parseInt(e));
671
424
  const extension_permutation = extensions.map((extension) => {
672
- const pos = LibCurlBoringSSLExtensionPermutation.indexOf(extension);
425
+ const pos = fingerprints_1.LibCurlBoringSSLExtensionPermutation.indexOf(extension);
673
426
  if (pos == -1) {
674
427
  throw new LibCurlError(`ja3 fingerprint extension ${extension} no support`);
675
428
  }
@@ -679,31 +432,59 @@ class LibCurl {
679
432
  .at(3)
680
433
  .split("-")
681
434
  .map((key) => {
682
- if (!LibCurlJA3SupportGroup[key]) {
435
+ if (!fingerprints_1.LibCurlJA3SupportGroup[key]) {
683
436
  throw new LibCurlError(`ja3 fingerprint supportGroup ${key} no support`);
684
437
  }
685
- return LibCurlJA3SupportGroup[key];
438
+ return fingerprints_1.LibCurlJA3SupportGroup[key];
686
439
  });
687
- this.m_libCurl_impl_.setJA3Fingerprint(parseInt(tlsVersion), cipherArr.join(":"), tls13_ciphers.join(""), extension_permutation.join(","), supportGroups.join(":"), 0);
440
+ const ja3Args = [
441
+ parseInt(tlsVersion),
442
+ cipherArr.join(":"),
443
+ tls13_ciphers.join(""),
444
+ extension_permutation.join(","),
445
+ supportGroups.join(":"),
446
+ 0,
447
+ trustAnchors || "",
448
+ ].join("\u0001");
449
+ if (ja3Args === this.m_lastJA3FingerprintArgs) {
450
+ return;
451
+ }
452
+ this.m_libCurl_impl_.setJA3Fingerprint(parseInt(tlsVersion), cipherArr.join(":"), tls13_ciphers.join(""), extension_permutation.join(","), supportGroups.join(":"), 0, trustAnchors || "");
453
+ this.m_lastJA3FingerprintArgs = ja3Args;
454
+ this.m_lastHttp3FingerprintArgs = null;
688
455
  if (!this.m_hasCustomTLSVerifySigalgs) {
689
456
  this.applyTLSVerifySigalgs(tlsVerifySigalgs);
690
457
  }
691
458
  }
692
459
  setAkamaiFingerprint(akamai = "auto") {
693
- const [settings, window_update, streams, pseudo_headers_order] = (LibCurlAkamaiFingerPrintImplMap[akamai]?.(this.m_chromeVersion) ||
460
+ const [settings, window_update, streams, pseudo_headers_order] = (fingerprints_1.LibCurlAkamaiFingerPrintImplMap[akamai]?.(this.m_chromeVersion) ||
694
461
  akamai).split("|");
695
462
  this.m_libCurl_impl_.setAkamaiFingerprint(settings.replaceAll(",", ";"), parseInt(window_update), streams, pseudo_headers_order.replaceAll(",", ""));
696
463
  }
697
464
  setHttp3Fingerprint(http3Fingerprint = "auto") {
698
465
  this.checkSending();
699
466
  const presetConfig = typeof http3Fingerprint == "string"
700
- ? LibCurlHttp3FingerPrintImplMap[http3Fingerprint]?.(this.m_chromeVersion)
467
+ ? fingerprints_1.LibCurlHttp3FingerPrintImplMap[http3Fingerprint]?.(this.m_chromeVersion)
701
468
  : undefined;
702
469
  const config = presetConfig || http3Fingerprint;
703
470
  if (typeof config == "string") {
704
471
  throw new LibCurlError("http3 fingerprint no support");
705
472
  }
706
- this.m_libCurl_impl_.setHttp3Fingerprint(config.scid, config.settings, config.transport_params, config.tls, config.permutation, config.verify_sigalgs);
473
+ const http3Args = [
474
+ config.scid,
475
+ config.settings,
476
+ config.transport_params,
477
+ config.tls,
478
+ config.permutation,
479
+ config.verify_sigalgs,
480
+ config.trust_anchors || "",
481
+ ].join("\u0001");
482
+ if (http3Args === this.m_lastHttp3FingerprintArgs) {
483
+ return;
484
+ }
485
+ this.m_libCurl_impl_.setHttp3Fingerprint(config.scid, config.settings, config.transport_params, config.tls, config.permutation, config.verify_sigalgs, config.trust_anchors || "");
486
+ this.m_lastHttp3FingerprintArgs = http3Args;
487
+ this.m_lastJA3FingerprintArgs = null;
707
488
  }
708
489
  setHttp2NextStreamId(stream_id) {
709
490
  if (stream_id < 1 || stream_id % 2 == 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"libcurl.js","sourceRoot":"","sources":["../src/libcurl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libcurl.js","sourceRoot":"","sources":["../src/libcurl.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ class LibCurlWebSocket {
13
13
  m_onError = () => { };
14
14
  constructor(url, option = {}) {
15
15
  const curl = option.instance || new libcurl_1.LibCurl();
16
- const impl = curl.m_libCurl_impl_;
16
+ const impl = curl.impl;
17
17
  impl.setRequestHeader("Accept", "");
18
18
  impl.setRequestHeader("Accept-Encoding", "");
19
19
  if (option.cookie) {
@@ -34,7 +34,7 @@ class LibCurlWebSocket {
34
34
  if (option.ja3) {
35
35
  curl.setJA3Fingerprint(option.ja3);
36
36
  }
37
- const ws = (this.m_libcurlWebSocket_impl_ = new WebSocket(curl.m_libCurl_impl_));
37
+ const ws = (this.m_libcurlWebSocket_impl_ = new WebSocket(curl.impl));
38
38
  ws.setOnOpen(() => {
39
39
  this.m_isOpen = true;
40
40
  try {