@ossiana/node-libcurl 1.9.10 → 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/fetch.js +2 -4
- package/dist/fetch.js.map +1 -1
- package/dist/fingerprints.d.ts +146 -0
- package/dist/fingerprints.js +310 -0
- package/dist/fingerprints.js.map +1 -0
- package/dist/libcurl.d.ts +50 -130
- package/dist/libcurl.js +76 -300
- package/dist/libcurl.js.map +1 -1
- package/dist/libcurlWebSocket.js +2 -2
- package/dist/libcurlWebSocket.js.map +1 -1
- package/dist/requests.js +6 -3
- package/dist/requests.js.map +1 -1
- package/dist/utils.d.ts +0 -1
- package/dist/utils.js +1 -11
- package/dist/utils.js.map +1 -1
- package/package.json +7 -7
- package/readme.md +7 -4
package/dist/fetch.js
CHANGED
|
@@ -25,9 +25,7 @@ async function fetch(url, request = {}) {
|
|
|
25
25
|
}
|
|
26
26
|
if (cookies) {
|
|
27
27
|
const { hostname } = new URL(url);
|
|
28
|
-
|
|
29
|
-
(0, utils_1.libcurlSetCookies)(curl, cookies, hostname);
|
|
30
|
-
}
|
|
28
|
+
(0, utils_1.libcurlSetCookies)(curl, cookies, hostname);
|
|
31
29
|
}
|
|
32
30
|
if (proxy) {
|
|
33
31
|
curl.setProxy(proxy);
|
|
@@ -54,7 +52,7 @@ async function fetch(url, request = {}) {
|
|
|
54
52
|
if (typeof tlsVerifySigalgs != "undefined") {
|
|
55
53
|
curl.setTLSVerifySigalgs(tlsVerifySigalgs);
|
|
56
54
|
}
|
|
57
|
-
|
|
55
|
+
(0, libcurl_1.applyHttp3Fingerprint)(curl, httpVersion, http3Fingerprint);
|
|
58
56
|
await curl.send(body);
|
|
59
57
|
return {
|
|
60
58
|
status: () => curl.getResponseStatus(),
|
package/dist/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";;;AAAA,uCAoBmB;AACnB,mCAA4C;AAyDrC,KAAK,UAAU,KAAK,CACvB,GAAiB,EACjB,UAA8B,EAAE;IAEhC,OAAO,CAAC,QAAQ,KAAK,IAAI,iBAAO,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,MAAM,EACF,MAAM,GAAG,KAAK,EACd,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,CAAC,EACf,OAAO,GAAG,KAAK,EACf,KAAK,EACL,SAAS,EACT,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EAAE,UAAU,EACrB,GAAG,EACH,MAAM,EACN,sBAAsB,EACtB,OAAO,EACP,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACnB,GAAG,OAAO,CAAC;IACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC5B,IAAI,OAAO,EAAE;QACT,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACnC;IACD,IAAI,QAAQ,EAAE;QACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,IAAI,WAAW,EAAE;QACb,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACpC;IACD,IAAI,UAAU,EAAE;QACZ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KACjC;IACD,IAAI,OAAO,EAAE;QACT,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC5B;IACD,IAAI,OAAO,EAAE;QACT,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
export type LibCurlJA3FingerPrintImpl = "chrome99" | "chrome101" | "chrome110" | "chrome124" | "chrome131" | "chrome133" | "chrome150" | "chrome152" | "auto";
|
|
2
|
+
export type LibCurlAkamaiFingerPrintImpl = "chrome99" | "chrome107" | "chrome119" | "auto";
|
|
3
|
+
type LibCurlJA3FingerPrintConfig = [
|
|
4
|
+
ja3String: string,
|
|
5
|
+
tlsVerifySigalgs: LibCurlTLSVerifySigalgsInfo,
|
|
6
|
+
trustAnchors?: string
|
|
7
|
+
];
|
|
8
|
+
export declare const LibCurlJA3FingerPrintImplMap: {
|
|
9
|
+
[K in LibCurlJA3FingerPrintImpl]: K extends Exclude<LibCurlJA3FingerPrintImpl, "auto"> ? () => LibCurlJA3FingerPrintConfig : (chromeVersion: number) => LibCurlJA3FingerPrintConfig;
|
|
10
|
+
};
|
|
11
|
+
export declare const LibCurlAkamaiFingerPrintImplMap: {
|
|
12
|
+
[K in LibCurlAkamaiFingerPrintImpl]: K extends Exclude<LibCurlAkamaiFingerPrintImpl, "auto"> ? () => string : (chromeVersion: number) => string;
|
|
13
|
+
};
|
|
14
|
+
export type LibCurlJA3FingerPrintInfo = string | LibCurlJA3FingerPrintImpl;
|
|
15
|
+
export type LibCurlAkamaiFingerPrintInfo = string | LibCurlAkamaiFingerPrintImpl;
|
|
16
|
+
export type LibCurlHttp3FingerPrintImpl = "chrome126" | "chrome150" | "chrome152" | "auto";
|
|
17
|
+
type LibCurlHttp3FingerPrintConfig = {
|
|
18
|
+
scid: string;
|
|
19
|
+
settings: string;
|
|
20
|
+
transport_params: string;
|
|
21
|
+
tls: string;
|
|
22
|
+
permutation: string;
|
|
23
|
+
verify_sigalgs: string;
|
|
24
|
+
trust_anchors?: string;
|
|
25
|
+
};
|
|
26
|
+
export type LibCurlHttp3FingerPrintInfo = LibCurlHttp3FingerPrintConfig | LibCurlHttp3FingerPrintImpl;
|
|
27
|
+
export declare const LibCurlHttp3FingerPrintImplMap: {
|
|
28
|
+
[K in LibCurlHttp3FingerPrintImpl]: K extends Exclude<LibCurlHttp3FingerPrintImpl, "auto"> ? () => LibCurlHttp3FingerPrintConfig : (chromeVersion: number) => LibCurlHttp3FingerPrintConfig;
|
|
29
|
+
};
|
|
30
|
+
export declare enum LibCurlJA3TlsVersion {
|
|
31
|
+
TLSv1_2 = 771,
|
|
32
|
+
TLSv1_3 = 772
|
|
33
|
+
}
|
|
34
|
+
export declare enum LibCurlJA3Cipher {
|
|
35
|
+
"NULL-SHA" = 2,
|
|
36
|
+
"DES-CBC3-SHA" = 10,
|
|
37
|
+
"AES128-SHA" = 47,
|
|
38
|
+
"AES256-SHA" = 53,
|
|
39
|
+
"DHE-RSA-AES128-SHA" = 51,
|
|
40
|
+
"DHE-RSA-AES256-SHA" = 57,
|
|
41
|
+
"AES128-SHA256" = 60,
|
|
42
|
+
"AES256-SHA256" = 61,
|
|
43
|
+
"DHE-RSA-AES128-SHA256" = 103,
|
|
44
|
+
"DHE-RSA-AES256-SHA256" = 107,
|
|
45
|
+
"PSK-AES128-CBC-SHA" = 140,
|
|
46
|
+
"PSK-AES256-CBC-SHA" = 141,
|
|
47
|
+
"AES128-GCM-SHA256" = 156,
|
|
48
|
+
"AES256-GCM-SHA384" = 157,
|
|
49
|
+
"DHE-RSA-AES128-GCM-SHA256" = 158,
|
|
50
|
+
"DHE-RSA-AES256-GCM-SHA384" = 159,
|
|
51
|
+
"TLS_AES_128_GCM_SHA256" = 4865,
|
|
52
|
+
"TLS_AES_256_GCM_SHA384" = 4866,
|
|
53
|
+
"TLS_CHACHA20_POLY1305_SHA256" = 4867,
|
|
54
|
+
"ECDHE-ECDSA-DES-CBC3-SHA" = 49160,
|
|
55
|
+
"ECDHE-ECDSA-AES128-SHA" = 49161,
|
|
56
|
+
"ECDHE-ECDSA-AES256-SHA" = 49162,
|
|
57
|
+
"ECDHE-RSA-DES-CBC3-SHA" = 49170,
|
|
58
|
+
"ECDHE-RSA-AES128-SHA" = 49171,
|
|
59
|
+
"ECDHE-RSA-AES256-SHA" = 49172,
|
|
60
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" = 49187,
|
|
61
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" = 49188,
|
|
62
|
+
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" = 49191,
|
|
63
|
+
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" = 49192,
|
|
64
|
+
"ECDHE-ECDSA-AES128-GCM-SHA256" = 49195,
|
|
65
|
+
"ECDHE-ECDSA-AES256-GCM-SHA384" = 49196,
|
|
66
|
+
"ECDHE-RSA-AES128-GCM-SHA256" = 49199,
|
|
67
|
+
"ECDHE-RSA-AES256-GCM-SHA384" = 49200,
|
|
68
|
+
"ECDHE-PSK-AES128-CBC-SHA" = 49205,
|
|
69
|
+
"ECDHE-PSK-AES256-CBC-SHA" = 49206,
|
|
70
|
+
"ECDHE-RSA-CHACHA20-POLY1305" = 52392,
|
|
71
|
+
"ECDHE-ECDSA-CHACHA20-POLY1305" = 52393,
|
|
72
|
+
"ECDHE-PSK-CHACHA20-POLY1305" = 52396
|
|
73
|
+
}
|
|
74
|
+
export declare enum LibCurlJA3Extension {
|
|
75
|
+
TLSEXT_TYPE_server_name = 0,
|
|
76
|
+
TLSEXT_TYPE_status_request = 5,
|
|
77
|
+
TLSEXT_TYPE_ec_point_formats = 11,
|
|
78
|
+
TLSEXT_TYPE_signature_algorithms = 13,
|
|
79
|
+
TLSEXT_TYPE_srtp = 14,
|
|
80
|
+
TLSEXT_TYPE_application_layer_protocol_negotiation = 16,
|
|
81
|
+
TLSEXT_TYPE_padding = 21,
|
|
82
|
+
TLSEXT_TYPE_extended_master_secret = 23,
|
|
83
|
+
TLSEXT_TYPE_quic_transport_parameters_legacy = 65445,
|
|
84
|
+
TLSEXT_TYPE_quic_transport_parameters = 57,
|
|
85
|
+
TLSEXT_TYPE_cert_compression = 27,
|
|
86
|
+
TLSEXT_TYPE_session_ticket = 35,
|
|
87
|
+
TLSEXT_TYPE_supported_groups = 10,
|
|
88
|
+
TLSEXT_TYPE_pre_shared_key = 41,
|
|
89
|
+
TLSEXT_TYPE_early_data = 42,
|
|
90
|
+
TLSEXT_TYPE_supported_versions = 43,
|
|
91
|
+
TLSEXT_TYPE_cookie = 44,
|
|
92
|
+
TLSEXT_TYPE_psk_key_exchange_modes = 45,
|
|
93
|
+
TLSEXT_TYPE_certificate_authorities = 47,
|
|
94
|
+
TLSEXT_TYPE_signature_algorithms_cert = 50,
|
|
95
|
+
TLSEXT_TYPE_key_share = 51,
|
|
96
|
+
TLSEXT_TYPE_renegotiate = 65281,
|
|
97
|
+
TLSEXT_TYPE_delegated_credential = 34,
|
|
98
|
+
TLSEXT_TYPE_application_settings_old = 17513,
|
|
99
|
+
TLSEXT_TYPE_application_settings = 17613,
|
|
100
|
+
TLSEXT_TYPE_encrypted_client_hello = 65037,
|
|
101
|
+
TLSEXT_TYPE_ech_outer_extensions = 64768,
|
|
102
|
+
TLSEXT_TYPE_certificate_timestamp = 18,
|
|
103
|
+
TLSEXT_TYPE_next_proto_neg = 13172,
|
|
104
|
+
TLSEXT_TYPE_channel_id = 30032,
|
|
105
|
+
TLSEXT_TYPE_record_size_limit = 28,
|
|
106
|
+
TLSEXT_TYPE_delegated_credentials = 34,
|
|
107
|
+
TLSEXT_TYPE_pake = 35387,
|
|
108
|
+
TLSEXT_TYPE_trust_anchors = 51764
|
|
109
|
+
}
|
|
110
|
+
export declare enum LibCurlTLSVerifySigalgs {
|
|
111
|
+
"rsa_pkcs1_sha1" = 513,
|
|
112
|
+
"rsa_pkcs1_sha256" = 1025,
|
|
113
|
+
"rsa_pkcs1_sha384" = 1281,
|
|
114
|
+
"rsa_pkcs1_sha512" = 1537,
|
|
115
|
+
"ecdsa_sha1" = 515,
|
|
116
|
+
"ecdsa_secp256r1_sha256" = 1027,
|
|
117
|
+
"ecdsa_secp384r1_sha384" = 1283,
|
|
118
|
+
"ecdsa_secp521r1_sha512" = 1539,
|
|
119
|
+
"rsa_pss_rsae_sha256" = 2052,
|
|
120
|
+
"rsa_pss_rsae_sha384" = 2053,
|
|
121
|
+
"rsa_pss_rsae_sha512" = 2054,
|
|
122
|
+
"ed25519" = 2055,
|
|
123
|
+
"ml_dsa_44" = 2308,
|
|
124
|
+
"ml_dsa_65" = 2309,
|
|
125
|
+
"ml_dsa_87" = 2310,
|
|
126
|
+
"rsa_pkcs1_sha256_legacy" = 1056,
|
|
127
|
+
"rsa_pkcs1_md5_sha1" = 65281
|
|
128
|
+
}
|
|
129
|
+
export type LibCurlTLSVerifySigalgsInfo = string | Array<LibCurlTLSVerifySigalgs | number | keyof typeof LibCurlTLSVerifySigalgs>;
|
|
130
|
+
export declare enum LibCurlJA3SupportGroup {
|
|
131
|
+
"P-256" = 23,
|
|
132
|
+
"P-384" = 24,
|
|
133
|
+
"P-521" = 25,
|
|
134
|
+
X25519 = 29,
|
|
135
|
+
ffdhe2048 = 256,
|
|
136
|
+
ffdhe3072 = 257,
|
|
137
|
+
X25519Kyber768Draft00 = 25497,
|
|
138
|
+
X25519MLKEM768 = 4588
|
|
139
|
+
}
|
|
140
|
+
export declare enum LibCurlJA3EcPointFormat {
|
|
141
|
+
uncompressed = 0,
|
|
142
|
+
compressed_fixed = 1,
|
|
143
|
+
compressed_variable = 2
|
|
144
|
+
}
|
|
145
|
+
export declare const LibCurlBoringSSLExtensionPermutation: LibCurlJA3Extension[];
|
|
146
|
+
export {};
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LibCurlBoringSSLExtensionPermutation = exports.LibCurlJA3EcPointFormat = exports.LibCurlJA3SupportGroup = exports.LibCurlTLSVerifySigalgs = exports.LibCurlJA3Extension = exports.LibCurlJA3Cipher = exports.LibCurlJA3TlsVersion = exports.LibCurlHttp3FingerPrintImplMap = exports.LibCurlAkamaiFingerPrintImplMap = exports.LibCurlJA3FingerPrintImplMap = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const randomStringExtensions = (exts) => exts
|
|
6
|
+
.split("-")
|
|
7
|
+
.sort(() => (Math.random() > 0.5 ? 1 : -1))
|
|
8
|
+
.join("-");
|
|
9
|
+
const randomStringTrustAnchors = (trust_anchors) => trust_anchors
|
|
10
|
+
.split(",")
|
|
11
|
+
.sort(() => (Math.random() > 0.5 ? 1 : -1))
|
|
12
|
+
.join(",");
|
|
13
|
+
exports.LibCurlJA3FingerPrintImplMap = {
|
|
14
|
+
chrome99: () => [
|
|
15
|
+
`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`,
|
|
16
|
+
[],
|
|
17
|
+
],
|
|
18
|
+
chrome101: () => [
|
|
19
|
+
`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`,
|
|
20
|
+
[],
|
|
21
|
+
],
|
|
22
|
+
chrome110: () => [
|
|
23
|
+
`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`,
|
|
24
|
+
[],
|
|
25
|
+
],
|
|
26
|
+
chrome124: () => [
|
|
27
|
+
`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`,
|
|
28
|
+
[],
|
|
29
|
+
],
|
|
30
|
+
chrome131: () => [
|
|
31
|
+
`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`,
|
|
32
|
+
[],
|
|
33
|
+
],
|
|
34
|
+
chrome133: () => [
|
|
35
|
+
`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`,
|
|
36
|
+
[],
|
|
37
|
+
],
|
|
38
|
+
chrome150: () => [
|
|
39
|
+
`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`,
|
|
40
|
+
[
|
|
41
|
+
"ml_dsa_44",
|
|
42
|
+
"ml_dsa_65",
|
|
43
|
+
"ml_dsa_87",
|
|
44
|
+
"ecdsa_secp256r1_sha256",
|
|
45
|
+
"rsa_pss_rsae_sha256",
|
|
46
|
+
"rsa_pkcs1_sha256",
|
|
47
|
+
"ecdsa_secp384r1_sha384",
|
|
48
|
+
"rsa_pss_rsae_sha384",
|
|
49
|
+
"rsa_pkcs1_sha384",
|
|
50
|
+
"rsa_pss_rsae_sha512",
|
|
51
|
+
"rsa_pkcs1_sha512",
|
|
52
|
+
],
|
|
53
|
+
],
|
|
54
|
+
chrome152: () => [
|
|
55
|
+
`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-51764")}-41,4588-29-23-24,0`,
|
|
56
|
+
[
|
|
57
|
+
"ml_dsa_44",
|
|
58
|
+
"ml_dsa_65",
|
|
59
|
+
"ml_dsa_87",
|
|
60
|
+
"ecdsa_secp256r1_sha256",
|
|
61
|
+
"rsa_pss_rsae_sha256",
|
|
62
|
+
"rsa_pkcs1_sha256",
|
|
63
|
+
"ecdsa_secp384r1_sha384",
|
|
64
|
+
"rsa_pss_rsae_sha384",
|
|
65
|
+
"rsa_pkcs1_sha384",
|
|
66
|
+
"rsa_pss_rsae_sha512",
|
|
67
|
+
"rsa_pkcs1_sha512",
|
|
68
|
+
],
|
|
69
|
+
randomStringTrustAnchors("11129.9.6,11129.9.11,44947.2.18,11129.9.15,52580.200109.1.18,11129.9.12,44947.2.15,44947.2.20,44947.2.19,52580.200109.1.13,11129.9.10,11129.9.13,52580.200109.1.11,11129.9.4,11129.9.1,52580.200109.1.12,52580.200109.1.9,44947.2.6,11129.9.5,52580.200109.1.7,11129.9.8,11129.9.7,52580.200109.1.10,44947.2.14,44947.2.13,44947.2.1,52580.200109.1.19,52580.200109.1.8"),
|
|
70
|
+
],
|
|
71
|
+
auto(chromeVersion) {
|
|
72
|
+
if (!chromeVersion) {
|
|
73
|
+
return this.chrome152();
|
|
74
|
+
}
|
|
75
|
+
if (chromeVersion < 101) {
|
|
76
|
+
return this.chrome99();
|
|
77
|
+
}
|
|
78
|
+
else if (chromeVersion < 110) {
|
|
79
|
+
return this.chrome101();
|
|
80
|
+
}
|
|
81
|
+
else if (chromeVersion < 124) {
|
|
82
|
+
return this.chrome110();
|
|
83
|
+
}
|
|
84
|
+
else if (chromeVersion < 131) {
|
|
85
|
+
return this.chrome124();
|
|
86
|
+
}
|
|
87
|
+
else if (chromeVersion < 133) {
|
|
88
|
+
return this.chrome131();
|
|
89
|
+
}
|
|
90
|
+
else if (chromeVersion < 150) {
|
|
91
|
+
return this.chrome133();
|
|
92
|
+
}
|
|
93
|
+
else if (chromeVersion < 152) {
|
|
94
|
+
return this.chrome150();
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return this.chrome152();
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
exports.LibCurlAkamaiFingerPrintImplMap = {
|
|
102
|
+
chrome99: () => `1:65536;3:1000;4:6291456;6:262144|15663105|0|m,a,s,p`,
|
|
103
|
+
chrome107: () => `1:65536;2:0;3:1000;4:6291456;6:262144|15663105|0|m,a,s,p`,
|
|
104
|
+
chrome119: () => `1:65536;2:0;4:6291456;6:262144|15663105|0|m,a,s,p`,
|
|
105
|
+
auto(chromeVersion) {
|
|
106
|
+
if (!chromeVersion) {
|
|
107
|
+
return this.chrome119();
|
|
108
|
+
}
|
|
109
|
+
if (chromeVersion < 107) {
|
|
110
|
+
return this.chrome99();
|
|
111
|
+
}
|
|
112
|
+
else if (chromeVersion < 119) {
|
|
113
|
+
return this.chrome107();
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return this.chrome119();
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
exports.LibCurlHttp3FingerPrintImplMap = {
|
|
121
|
+
chrome126: () => ({
|
|
122
|
+
scid: "scid=0",
|
|
123
|
+
settings: "1:65536;6:262144;7:100;51:1;GREASE",
|
|
124
|
+
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`,
|
|
125
|
+
tls: "ciphers=1,2,3;alps=h3;grease=off;rand=on",
|
|
126
|
+
permutation: "7,0,14,19,15,9,4,24,17,21,1",
|
|
127
|
+
verify_sigalgs: "0x0403,0x0804,0x0401,0x0503,0x0805,0x0501,0x0806,0x0601,0x0201",
|
|
128
|
+
}),
|
|
129
|
+
chrome150: () => ({
|
|
130
|
+
scid: "scid=0",
|
|
131
|
+
settings: "1:65536;6:262144;7:100;51:1;GREASE",
|
|
132
|
+
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`,
|
|
133
|
+
tls: "ciphers=1,2,3;alps=h3;grease=off;rand=on",
|
|
134
|
+
permutation: "0,15,19,23,9,1,14,21,17,4,7",
|
|
135
|
+
verify_sigalgs: "0x0403,0x0804,0x0401,0x0503,0x0805,0x0501,0x0806,0x0601,0x0201",
|
|
136
|
+
}),
|
|
137
|
+
chrome152: () => ({
|
|
138
|
+
scid: "scid=0",
|
|
139
|
+
settings: "1:65536;6:262144;7:100;51:1;GREASE",
|
|
140
|
+
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`,
|
|
141
|
+
tls: "ciphers=1,2,3;alps=h3;grease=off;rand=on",
|
|
142
|
+
permutation: "0,15,19,23,9,1,14,21,17,4,7,27",
|
|
143
|
+
verify_sigalgs: "0x0403,0x0804,0x0401,0x0503,0x0805,0x0501,0x0806,0x0601,0x0201",
|
|
144
|
+
trust_anchors: randomStringTrustAnchors("11129.9.6,11129.9.11,44947.2.18,11129.9.15,52580.200109.1.18,11129.9.12,44947.2.15,44947.2.20,44947.2.19,52580.200109.1.13,11129.9.10,11129.9.13,52580.200109.1.11,11129.9.4,11129.9.1,52580.200109.1.12,52580.200109.1.9,44947.2.6,11129.9.5,52580.200109.1.7,11129.9.8,11129.9.7,52580.200109.1.10,44947.2.14,44947.2.13,44947.2.1,52580.200109.1.19,52580.200109.1.8"),
|
|
145
|
+
}),
|
|
146
|
+
auto(chromeVersion) {
|
|
147
|
+
if (!chromeVersion) {
|
|
148
|
+
return this.chrome152();
|
|
149
|
+
}
|
|
150
|
+
if (chromeVersion < 150) {
|
|
151
|
+
return this.chrome126();
|
|
152
|
+
}
|
|
153
|
+
else if (chromeVersion < 152) {
|
|
154
|
+
return this.chrome150();
|
|
155
|
+
}
|
|
156
|
+
return this.chrome152();
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
var LibCurlJA3TlsVersion;
|
|
160
|
+
(function (LibCurlJA3TlsVersion) {
|
|
161
|
+
LibCurlJA3TlsVersion[LibCurlJA3TlsVersion["TLSv1_2"] = 771] = "TLSv1_2";
|
|
162
|
+
LibCurlJA3TlsVersion[LibCurlJA3TlsVersion["TLSv1_3"] = 772] = "TLSv1_3";
|
|
163
|
+
})(LibCurlJA3TlsVersion = exports.LibCurlJA3TlsVersion || (exports.LibCurlJA3TlsVersion = {}));
|
|
164
|
+
var LibCurlJA3Cipher;
|
|
165
|
+
(function (LibCurlJA3Cipher) {
|
|
166
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["NULL-SHA"] = 2] = "NULL-SHA";
|
|
167
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["DES-CBC3-SHA"] = 10] = "DES-CBC3-SHA";
|
|
168
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["AES128-SHA"] = 47] = "AES128-SHA";
|
|
169
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["AES256-SHA"] = 53] = "AES256-SHA";
|
|
170
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES128-SHA"] = 51] = "DHE-RSA-AES128-SHA";
|
|
171
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES256-SHA"] = 57] = "DHE-RSA-AES256-SHA";
|
|
172
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["AES128-SHA256"] = 60] = "AES128-SHA256";
|
|
173
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["AES256-SHA256"] = 61] = "AES256-SHA256";
|
|
174
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES128-SHA256"] = 103] = "DHE-RSA-AES128-SHA256";
|
|
175
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES256-SHA256"] = 107] = "DHE-RSA-AES256-SHA256";
|
|
176
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["PSK-AES128-CBC-SHA"] = 140] = "PSK-AES128-CBC-SHA";
|
|
177
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["PSK-AES256-CBC-SHA"] = 141] = "PSK-AES256-CBC-SHA";
|
|
178
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["AES128-GCM-SHA256"] = 156] = "AES128-GCM-SHA256";
|
|
179
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["AES256-GCM-SHA384"] = 157] = "AES256-GCM-SHA384";
|
|
180
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES128-GCM-SHA256"] = 158] = "DHE-RSA-AES128-GCM-SHA256";
|
|
181
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["DHE-RSA-AES256-GCM-SHA384"] = 159] = "DHE-RSA-AES256-GCM-SHA384";
|
|
182
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_AES_128_GCM_SHA256"] = 4865] = "TLS_AES_128_GCM_SHA256";
|
|
183
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_AES_256_GCM_SHA384"] = 4866] = "TLS_AES_256_GCM_SHA384";
|
|
184
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_CHACHA20_POLY1305_SHA256"] = 4867] = "TLS_CHACHA20_POLY1305_SHA256";
|
|
185
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-DES-CBC3-SHA"] = 49160] = "ECDHE-ECDSA-DES-CBC3-SHA";
|
|
186
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES128-SHA"] = 49161] = "ECDHE-ECDSA-AES128-SHA";
|
|
187
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES256-SHA"] = 49162] = "ECDHE-ECDSA-AES256-SHA";
|
|
188
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-DES-CBC3-SHA"] = 49170] = "ECDHE-RSA-DES-CBC3-SHA";
|
|
189
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES128-SHA"] = 49171] = "ECDHE-RSA-AES128-SHA";
|
|
190
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES256-SHA"] = 49172] = "ECDHE-RSA-AES256-SHA";
|
|
191
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"] = 49187] = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256";
|
|
192
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"] = 49188] = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384";
|
|
193
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"] = 49191] = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256";
|
|
194
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"] = 49192] = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384";
|
|
195
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES128-GCM-SHA256"] = 49195] = "ECDHE-ECDSA-AES128-GCM-SHA256";
|
|
196
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-AES256-GCM-SHA384"] = 49196] = "ECDHE-ECDSA-AES256-GCM-SHA384";
|
|
197
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES128-GCM-SHA256"] = 49199] = "ECDHE-RSA-AES128-GCM-SHA256";
|
|
198
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-AES256-GCM-SHA384"] = 49200] = "ECDHE-RSA-AES256-GCM-SHA384";
|
|
199
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-PSK-AES128-CBC-SHA"] = 49205] = "ECDHE-PSK-AES128-CBC-SHA";
|
|
200
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-PSK-AES256-CBC-SHA"] = 49206] = "ECDHE-PSK-AES256-CBC-SHA";
|
|
201
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-RSA-CHACHA20-POLY1305"] = 52392] = "ECDHE-RSA-CHACHA20-POLY1305";
|
|
202
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-ECDSA-CHACHA20-POLY1305"] = 52393] = "ECDHE-ECDSA-CHACHA20-POLY1305";
|
|
203
|
+
LibCurlJA3Cipher[LibCurlJA3Cipher["ECDHE-PSK-CHACHA20-POLY1305"] = 52396] = "ECDHE-PSK-CHACHA20-POLY1305";
|
|
204
|
+
})(LibCurlJA3Cipher = exports.LibCurlJA3Cipher || (exports.LibCurlJA3Cipher = {}));
|
|
205
|
+
var LibCurlJA3Extension;
|
|
206
|
+
(function (LibCurlJA3Extension) {
|
|
207
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_server_name"] = 0] = "TLSEXT_TYPE_server_name";
|
|
208
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_status_request"] = 5] = "TLSEXT_TYPE_status_request";
|
|
209
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_ec_point_formats"] = 11] = "TLSEXT_TYPE_ec_point_formats";
|
|
210
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_signature_algorithms"] = 13] = "TLSEXT_TYPE_signature_algorithms";
|
|
211
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_srtp"] = 14] = "TLSEXT_TYPE_srtp";
|
|
212
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_application_layer_protocol_negotiation"] = 16] = "TLSEXT_TYPE_application_layer_protocol_negotiation";
|
|
213
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_padding"] = 21] = "TLSEXT_TYPE_padding";
|
|
214
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_extended_master_secret"] = 23] = "TLSEXT_TYPE_extended_master_secret";
|
|
215
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_quic_transport_parameters_legacy"] = 65445] = "TLSEXT_TYPE_quic_transport_parameters_legacy";
|
|
216
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_quic_transport_parameters"] = 57] = "TLSEXT_TYPE_quic_transport_parameters";
|
|
217
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_cert_compression"] = 27] = "TLSEXT_TYPE_cert_compression";
|
|
218
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_session_ticket"] = 35] = "TLSEXT_TYPE_session_ticket";
|
|
219
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_supported_groups"] = 10] = "TLSEXT_TYPE_supported_groups";
|
|
220
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_pre_shared_key"] = 41] = "TLSEXT_TYPE_pre_shared_key";
|
|
221
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_early_data"] = 42] = "TLSEXT_TYPE_early_data";
|
|
222
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_supported_versions"] = 43] = "TLSEXT_TYPE_supported_versions";
|
|
223
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_cookie"] = 44] = "TLSEXT_TYPE_cookie";
|
|
224
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_psk_key_exchange_modes"] = 45] = "TLSEXT_TYPE_psk_key_exchange_modes";
|
|
225
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_certificate_authorities"] = 47] = "TLSEXT_TYPE_certificate_authorities";
|
|
226
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_signature_algorithms_cert"] = 50] = "TLSEXT_TYPE_signature_algorithms_cert";
|
|
227
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_key_share"] = 51] = "TLSEXT_TYPE_key_share";
|
|
228
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_renegotiate"] = 65281] = "TLSEXT_TYPE_renegotiate";
|
|
229
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_delegated_credential"] = 34] = "TLSEXT_TYPE_delegated_credential";
|
|
230
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_application_settings_old"] = 17513] = "TLSEXT_TYPE_application_settings_old";
|
|
231
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_application_settings"] = 17613] = "TLSEXT_TYPE_application_settings";
|
|
232
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_encrypted_client_hello"] = 65037] = "TLSEXT_TYPE_encrypted_client_hello";
|
|
233
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_ech_outer_extensions"] = 64768] = "TLSEXT_TYPE_ech_outer_extensions";
|
|
234
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_certificate_timestamp"] = 18] = "TLSEXT_TYPE_certificate_timestamp";
|
|
235
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_next_proto_neg"] = 13172] = "TLSEXT_TYPE_next_proto_neg";
|
|
236
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_channel_id"] = 30032] = "TLSEXT_TYPE_channel_id";
|
|
237
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_record_size_limit"] = 28] = "TLSEXT_TYPE_record_size_limit";
|
|
238
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_delegated_credentials"] = 34] = "TLSEXT_TYPE_delegated_credentials";
|
|
239
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_pake"] = 35387] = "TLSEXT_TYPE_pake";
|
|
240
|
+
LibCurlJA3Extension[LibCurlJA3Extension["TLSEXT_TYPE_trust_anchors"] = 51764] = "TLSEXT_TYPE_trust_anchors";
|
|
241
|
+
})(LibCurlJA3Extension = exports.LibCurlJA3Extension || (exports.LibCurlJA3Extension = {}));
|
|
242
|
+
var LibCurlTLSVerifySigalgs;
|
|
243
|
+
(function (LibCurlTLSVerifySigalgs) {
|
|
244
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha1"] = 513] = "rsa_pkcs1_sha1";
|
|
245
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha256"] = 1025] = "rsa_pkcs1_sha256";
|
|
246
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha384"] = 1281] = "rsa_pkcs1_sha384";
|
|
247
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha512"] = 1537] = "rsa_pkcs1_sha512";
|
|
248
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_sha1"] = 515] = "ecdsa_sha1";
|
|
249
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_secp256r1_sha256"] = 1027] = "ecdsa_secp256r1_sha256";
|
|
250
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_secp384r1_sha384"] = 1283] = "ecdsa_secp384r1_sha384";
|
|
251
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ecdsa_secp521r1_sha512"] = 1539] = "ecdsa_secp521r1_sha512";
|
|
252
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pss_rsae_sha256"] = 2052] = "rsa_pss_rsae_sha256";
|
|
253
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pss_rsae_sha384"] = 2053] = "rsa_pss_rsae_sha384";
|
|
254
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pss_rsae_sha512"] = 2054] = "rsa_pss_rsae_sha512";
|
|
255
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ed25519"] = 2055] = "ed25519";
|
|
256
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ml_dsa_44"] = 2308] = "ml_dsa_44";
|
|
257
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ml_dsa_65"] = 2309] = "ml_dsa_65";
|
|
258
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["ml_dsa_87"] = 2310] = "ml_dsa_87";
|
|
259
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_sha256_legacy"] = 1056] = "rsa_pkcs1_sha256_legacy";
|
|
260
|
+
LibCurlTLSVerifySigalgs[LibCurlTLSVerifySigalgs["rsa_pkcs1_md5_sha1"] = 65281] = "rsa_pkcs1_md5_sha1";
|
|
261
|
+
})(LibCurlTLSVerifySigalgs = exports.LibCurlTLSVerifySigalgs || (exports.LibCurlTLSVerifySigalgs = {}));
|
|
262
|
+
var LibCurlJA3SupportGroup;
|
|
263
|
+
(function (LibCurlJA3SupportGroup) {
|
|
264
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["P-256"] = 23] = "P-256";
|
|
265
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["P-384"] = 24] = "P-384";
|
|
266
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["P-521"] = 25] = "P-521";
|
|
267
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["X25519"] = 29] = "X25519";
|
|
268
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["ffdhe2048"] = 256] = "ffdhe2048";
|
|
269
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["ffdhe3072"] = 257] = "ffdhe3072";
|
|
270
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["X25519Kyber768Draft00"] = 25497] = "X25519Kyber768Draft00";
|
|
271
|
+
LibCurlJA3SupportGroup[LibCurlJA3SupportGroup["X25519MLKEM768"] = 4588] = "X25519MLKEM768";
|
|
272
|
+
})(LibCurlJA3SupportGroup = exports.LibCurlJA3SupportGroup || (exports.LibCurlJA3SupportGroup = {}));
|
|
273
|
+
var LibCurlJA3EcPointFormat;
|
|
274
|
+
(function (LibCurlJA3EcPointFormat) {
|
|
275
|
+
LibCurlJA3EcPointFormat[LibCurlJA3EcPointFormat["uncompressed"] = 0] = "uncompressed";
|
|
276
|
+
LibCurlJA3EcPointFormat[LibCurlJA3EcPointFormat["compressed_fixed"] = 1] = "compressed_fixed";
|
|
277
|
+
LibCurlJA3EcPointFormat[LibCurlJA3EcPointFormat["compressed_variable"] = 2] = "compressed_variable";
|
|
278
|
+
})(LibCurlJA3EcPointFormat = exports.LibCurlJA3EcPointFormat || (exports.LibCurlJA3EcPointFormat = {}));
|
|
279
|
+
exports.LibCurlBoringSSLExtensionPermutation = [
|
|
280
|
+
LibCurlJA3Extension.TLSEXT_TYPE_server_name,
|
|
281
|
+
LibCurlJA3Extension.TLSEXT_TYPE_encrypted_client_hello,
|
|
282
|
+
LibCurlJA3Extension.TLSEXT_TYPE_extended_master_secret,
|
|
283
|
+
LibCurlJA3Extension.TLSEXT_TYPE_renegotiate,
|
|
284
|
+
LibCurlJA3Extension.TLSEXT_TYPE_supported_groups,
|
|
285
|
+
LibCurlJA3Extension.TLSEXT_TYPE_ec_point_formats,
|
|
286
|
+
LibCurlJA3Extension.TLSEXT_TYPE_session_ticket,
|
|
287
|
+
LibCurlJA3Extension.TLSEXT_TYPE_application_layer_protocol_negotiation,
|
|
288
|
+
LibCurlJA3Extension.TLSEXT_TYPE_status_request,
|
|
289
|
+
LibCurlJA3Extension.TLSEXT_TYPE_signature_algorithms,
|
|
290
|
+
LibCurlJA3Extension.TLSEXT_TYPE_next_proto_neg,
|
|
291
|
+
LibCurlJA3Extension.TLSEXT_TYPE_certificate_timestamp,
|
|
292
|
+
LibCurlJA3Extension.TLSEXT_TYPE_channel_id,
|
|
293
|
+
LibCurlJA3Extension.TLSEXT_TYPE_srtp,
|
|
294
|
+
LibCurlJA3Extension.TLSEXT_TYPE_key_share,
|
|
295
|
+
LibCurlJA3Extension.TLSEXT_TYPE_psk_key_exchange_modes,
|
|
296
|
+
LibCurlJA3Extension.TLSEXT_TYPE_early_data,
|
|
297
|
+
LibCurlJA3Extension.TLSEXT_TYPE_supported_versions,
|
|
298
|
+
LibCurlJA3Extension.TLSEXT_TYPE_cookie,
|
|
299
|
+
LibCurlJA3Extension.TLSEXT_TYPE_quic_transport_parameters,
|
|
300
|
+
LibCurlJA3Extension.TLSEXT_TYPE_quic_transport_parameters_legacy,
|
|
301
|
+
LibCurlJA3Extension.TLSEXT_TYPE_cert_compression,
|
|
302
|
+
LibCurlJA3Extension.TLSEXT_TYPE_delegated_credential,
|
|
303
|
+
LibCurlJA3Extension.TLSEXT_TYPE_application_settings,
|
|
304
|
+
LibCurlJA3Extension.TLSEXT_TYPE_application_settings_old,
|
|
305
|
+
LibCurlJA3Extension.TLSEXT_TYPE_record_size_limit,
|
|
306
|
+
LibCurlJA3Extension.TLSEXT_TYPE_pake,
|
|
307
|
+
LibCurlJA3Extension.TLSEXT_TYPE_trust_anchors,
|
|
308
|
+
LibCurlJA3Extension.TLSEXT_TYPE_pre_shared_key,
|
|
309
|
+
];
|
|
310
|
+
//# sourceMappingURL=fingerprints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fingerprints.js","sourceRoot":"","sources":["../src/fingerprints.ts"],"names":[],"mappings":"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"}
|