@ossiana/node-libcurl 1.1.3-alpha-3 → 1.2.2
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/LICENSE +21 -21
- package/dist/export.d.ts +6 -4
- package/dist/export.js +13 -9
- package/dist/export.js.map +1 -1
- package/dist/fetch.d.ts +27 -27
- package/dist/fetch.js +51 -51
- package/dist/fetch.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +17 -17
- package/dist/ja3Map.d.ts +12 -0
- package/dist/ja3Map.js +16 -0
- package/dist/ja3Map.js.map +1 -0
- package/dist/libcurl.d.ts +186 -172
- package/dist/libcurl.js +364 -350
- package/dist/libcurl.js.map +1 -1
- package/dist/libcurlWebSocket.d.ts +30 -0
- package/dist/libcurlWebSocket.js +83 -0
- package/dist/libcurlWebSocket.js.map +1 -0
- package/dist/requests.d.ts +101 -82
- package/dist/requests.js +372 -248
- package/dist/requests.js.map +1 -1
- package/dist/utils.d.ts +7 -6
- package/dist/utils.js +110 -101
- package/dist/utils.js.map +1 -1
- package/package.json +48 -41
- package/readme.md +79 -79
- package/scripts/bindings.js +15 -0
- package/scripts/postinstall.js +104 -0
- package/binding.gyp +0 -97
- package/src/ja3Table.json +0 -102
- package/src/libcurl/bao_curl.cpp +0 -338
- package/src/libcurl/bao_curl_multi.cpp +0 -123
- package/src/libcurl/bao_curl_node_addon.cpp +0 -511
- package/src/libcurl/include/bao_curl.h +0 -116
- package/src/libcurl/include/curl/Makefile.am +0 -39
- package/src/libcurl/include/curl/curl.h +0 -3104
- package/src/libcurl/include/curl/curlver.h +0 -77
- package/src/libcurl/include/curl/easy.h +0 -123
- package/src/libcurl/include/curl/mprintf.h +0 -50
- package/src/libcurl/include/curl/multi.h +0 -457
- package/src/libcurl/include/curl/options.h +0 -68
- package/src/libcurl/include/curl/stdcheaders.h +0 -33
- package/src/libcurl/include/curl/system.h +0 -504
- package/src/libcurl/include/curl/typecheck-gcc.h +0 -707
- package/src/libcurl/include/curl/urlapi.h +0 -145
- package/src/libcurl/include/request_tls_utils.h +0 -30
- package/src/libcurl/include/utils.h +0 -23
- package/src/libcurl/utils.cpp +0 -43
package/dist/libcurl.d.ts
CHANGED
|
@@ -1,172 +1,186 @@
|
|
|
1
|
-
export declare enum LibCurlHttpVersionInfo {
|
|
2
|
-
http1_1 = 0,
|
|
3
|
-
http2 = 1
|
|
4
|
-
}
|
|
5
|
-
export type LibCurlSetCookieOption = {
|
|
6
|
-
domain: string;
|
|
7
|
-
path?: string;
|
|
8
|
-
name: string;
|
|
9
|
-
value: string;
|
|
10
|
-
};
|
|
11
|
-
export type LibCurlCookiesInfo = string | {
|
|
12
|
-
[key: string]: string;
|
|
13
|
-
};
|
|
14
|
-
export type LibCurlGetCookiesOption = {
|
|
15
|
-
domain?: string;
|
|
16
|
-
path?: string;
|
|
17
|
-
};
|
|
18
|
-
export type LibCurlGetCookieOption = {
|
|
19
|
-
name: string;
|
|
20
|
-
domain: string;
|
|
21
|
-
path?: string;
|
|
22
|
-
};
|
|
23
|
-
export type LibCurlCookieAttrArray = [
|
|
24
|
-
domain: string,
|
|
25
|
-
subDomain: boolean,
|
|
26
|
-
path: string,
|
|
27
|
-
secure: boolean,
|
|
28
|
-
timestamp: number,
|
|
29
|
-
name: string,
|
|
30
|
-
value: string
|
|
31
|
-
];
|
|
32
|
-
export type LibCurlCookieAttrObject = {
|
|
33
|
-
domain: string;
|
|
34
|
-
subDomain: boolean;
|
|
35
|
-
path: string;
|
|
36
|
-
secure: boolean;
|
|
37
|
-
timestamp: number;
|
|
38
|
-
value: string;
|
|
39
|
-
};
|
|
40
|
-
export type LibCurlCookiesAttr = Map<string, LibCurlCookieAttrObject>;
|
|
41
|
-
export type LibCurlHeadersAttr = Map<string, string>;
|
|
42
|
-
export type LibCurlInterfaceInfo = string;
|
|
43
|
-
export type LibCurlJA3FingerPrintInfo = string;
|
|
44
|
-
export declare enum LibCurlJA3TlsVersion {
|
|
45
|
-
TLSv1_2 = 771,
|
|
46
|
-
TLSv1_3 = 772
|
|
47
|
-
}
|
|
48
|
-
export declare enum LibCurlJA3Cipher {
|
|
49
|
-
'NULL-SHA' = 2,
|
|
50
|
-
'DES-CBC3-SHA' = 10,
|
|
51
|
-
'AES128-SHA' = 47,
|
|
52
|
-
'AES256-SHA' = 53,
|
|
53
|
-
'
|
|
54
|
-
'
|
|
55
|
-
'AES128-
|
|
56
|
-
'AES256-
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
63
|
-
'
|
|
64
|
-
'
|
|
65
|
-
'
|
|
66
|
-
'
|
|
67
|
-
'
|
|
68
|
-
'ECDHE-
|
|
69
|
-
'ECDHE-
|
|
70
|
-
'ECDHE-
|
|
71
|
-
'ECDHE-
|
|
72
|
-
'ECDHE-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
129
|
-
export
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
1
|
+
export declare enum LibCurlHttpVersionInfo {
|
|
2
|
+
http1_1 = 0,
|
|
3
|
+
http2 = 1
|
|
4
|
+
}
|
|
5
|
+
export type LibCurlSetCookieOption = {
|
|
6
|
+
domain: string;
|
|
7
|
+
path?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
value: string;
|
|
10
|
+
};
|
|
11
|
+
export type LibCurlCookiesInfo = string | {
|
|
12
|
+
[key: string]: string;
|
|
13
|
+
};
|
|
14
|
+
export type LibCurlGetCookiesOption = {
|
|
15
|
+
domain?: string;
|
|
16
|
+
path?: string;
|
|
17
|
+
};
|
|
18
|
+
export type LibCurlGetCookieOption = {
|
|
19
|
+
name: string;
|
|
20
|
+
domain: string;
|
|
21
|
+
path?: string;
|
|
22
|
+
};
|
|
23
|
+
export type LibCurlCookieAttrArray = [
|
|
24
|
+
domain: string,
|
|
25
|
+
subDomain: boolean,
|
|
26
|
+
path: string,
|
|
27
|
+
secure: boolean,
|
|
28
|
+
timestamp: number,
|
|
29
|
+
name: string,
|
|
30
|
+
value: string
|
|
31
|
+
];
|
|
32
|
+
export type LibCurlCookieAttrObject = {
|
|
33
|
+
domain: string;
|
|
34
|
+
subDomain: boolean;
|
|
35
|
+
path: string;
|
|
36
|
+
secure: boolean;
|
|
37
|
+
timestamp: number;
|
|
38
|
+
value: string;
|
|
39
|
+
};
|
|
40
|
+
export type LibCurlCookiesAttr = Map<string, LibCurlCookieAttrObject>;
|
|
41
|
+
export type LibCurlHeadersAttr = Map<string, string>;
|
|
42
|
+
export type LibCurlInterfaceInfo = string;
|
|
43
|
+
export type LibCurlJA3FingerPrintInfo = string;
|
|
44
|
+
export declare enum LibCurlJA3TlsVersion {
|
|
45
|
+
TLSv1_2 = 771,
|
|
46
|
+
TLSv1_3 = 772
|
|
47
|
+
}
|
|
48
|
+
export declare enum LibCurlJA3Cipher {
|
|
49
|
+
'NULL-SHA' = 2,
|
|
50
|
+
'DES-CBC3-SHA' = 10,
|
|
51
|
+
'AES128-SHA' = 47,
|
|
52
|
+
'AES256-SHA' = 53,
|
|
53
|
+
'DHE-RSA-AES128-SHA' = 51,
|
|
54
|
+
'DHE-RSA-AES256-SHA' = 57,
|
|
55
|
+
'AES128-SHA256' = 60,
|
|
56
|
+
'AES256-SHA256' = 61,
|
|
57
|
+
'DHE-RSA-AES128-SHA256' = 103,
|
|
58
|
+
'DHE-RSA-AES256-SHA256' = 107,
|
|
59
|
+
'PSK-AES128-CBC-SHA' = 140,
|
|
60
|
+
'PSK-AES256-CBC-SHA' = 141,
|
|
61
|
+
'AES128-GCM-SHA256' = 156,
|
|
62
|
+
'AES256-GCM-SHA384' = 157,
|
|
63
|
+
'DHE-RSA-AES128-GCM-SHA256' = 158,
|
|
64
|
+
'DHE-RSA-AES256-GCM-SHA384' = 159,
|
|
65
|
+
'TLS_AES_128_GCM_SHA256' = 4865,
|
|
66
|
+
'TLS_AES_256_GCM_SHA384' = 4866,
|
|
67
|
+
'TLS_CHACHA20_POLY1305_SHA256' = 4867,
|
|
68
|
+
'ECDHE-ECDSA-DES-CBC3-SHA' = 49160,
|
|
69
|
+
'ECDHE-ECDSA-AES128-SHA' = 49161,
|
|
70
|
+
'ECDHE-ECDSA-AES256-SHA' = 49162,
|
|
71
|
+
'ECDHE-RSA-DES-CBC3-SHA' = 49170,
|
|
72
|
+
'ECDHE-RSA-AES128-SHA' = 49171,
|
|
73
|
+
'ECDHE-RSA-AES256-SHA' = 49172,
|
|
74
|
+
'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256' = 49187,
|
|
75
|
+
'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384' = 49188,
|
|
76
|
+
'TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256' = 49191,
|
|
77
|
+
'TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384' = 49192,
|
|
78
|
+
'ECDHE-ECDSA-AES128-GCM-SHA256' = 49195,
|
|
79
|
+
'ECDHE-ECDSA-AES256-GCM-SHA384' = 49196,
|
|
80
|
+
'ECDHE-RSA-AES128-GCM-SHA256' = 49199,
|
|
81
|
+
'ECDHE-RSA-AES256-GCM-SHA384' = 49200,
|
|
82
|
+
'ECDHE-PSK-AES128-CBC-SHA' = 49205,
|
|
83
|
+
'ECDHE-PSK-AES256-CBC-SHA' = 49206,
|
|
84
|
+
'ECDHE-RSA-CHACHA20-POLY1305' = 52392,
|
|
85
|
+
'ECDHE-ECDSA-CHACHA20-POLY1305' = 52393,
|
|
86
|
+
'ECDHE-PSK-CHACHA20-POLY1305' = 52396
|
|
87
|
+
}
|
|
88
|
+
export declare enum LibCurlJA3Extension {
|
|
89
|
+
TLSEXT_TYPE_server_name = 0,
|
|
90
|
+
TLSEXT_TYPE_status_request = 5,
|
|
91
|
+
TLSEXT_TYPE_ec_point_formats = 11,
|
|
92
|
+
TLSEXT_TYPE_signature_algorithms = 13,
|
|
93
|
+
TLSEXT_TYPE_srtp = 14,
|
|
94
|
+
TLSEXT_TYPE_application_layer_protocol_negotiation = 16,
|
|
95
|
+
TLSEXT_TYPE_padding = 21,
|
|
96
|
+
TLSEXT_TYPE_extended_master_secret = 23,
|
|
97
|
+
TLSEXT_TYPE_quic_transport_parameters_legacy = 65445,
|
|
98
|
+
TLSEXT_TYPE_quic_transport_parameters = 57,
|
|
99
|
+
TLSEXT_TYPE_cert_compression = 27,
|
|
100
|
+
TLSEXT_TYPE_session_ticket = 35,
|
|
101
|
+
TLSEXT_TYPE_supported_groups = 10,
|
|
102
|
+
TLSEXT_TYPE_pre_shared_key = 41,
|
|
103
|
+
TLSEXT_TYPE_early_data = 42,
|
|
104
|
+
TLSEXT_TYPE_supported_versions = 43,
|
|
105
|
+
TLSEXT_TYPE_cookie = 44,
|
|
106
|
+
TLSEXT_TYPE_psk_key_exchange_modes = 45,
|
|
107
|
+
TLSEXT_TYPE_certificate_authorities = 47,
|
|
108
|
+
TLSEXT_TYPE_signature_algorithms_cert = 50,
|
|
109
|
+
TLSEXT_TYPE_key_share = 51,
|
|
110
|
+
TLSEXT_TYPE_renegotiate = 65281,
|
|
111
|
+
TLSEXT_TYPE_delegated_credential = 34,
|
|
112
|
+
TLSEXT_TYPE_application_settings = 17513,
|
|
113
|
+
TLSEXT_TYPE_encrypted_client_hello = 65037,
|
|
114
|
+
TLSEXT_TYPE_ech_outer_extensions = 64768,
|
|
115
|
+
TLSEXT_TYPE_certificate_timestamp = 18,
|
|
116
|
+
TLSEXT_TYPE_next_proto_neg = 13172,
|
|
117
|
+
TLSEXT_TYPE_channel_id = 30032,
|
|
118
|
+
TLSEXT_TYPE_record_size_limit = 28,
|
|
119
|
+
TLSEXT_TYPE_delegated_credentials = 34
|
|
120
|
+
}
|
|
121
|
+
export declare enum LibCurlJA3SupportGroup {
|
|
122
|
+
"P-256" = 23,
|
|
123
|
+
"P-384" = 24,
|
|
124
|
+
"P-521" = 25,
|
|
125
|
+
X25519 = 29,
|
|
126
|
+
ffdhe2048 = 256,
|
|
127
|
+
ffdhe3072 = 257
|
|
128
|
+
}
|
|
129
|
+
export declare enum LibCurlJA3EcPointFormat {
|
|
130
|
+
uncompressed = 0,
|
|
131
|
+
compressed_fixed = 1,
|
|
132
|
+
compressed_variable = 2
|
|
133
|
+
}
|
|
134
|
+
interface LibCurlCommonHeaders {
|
|
135
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36' | 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0';
|
|
136
|
+
'Content-Type': 'application/x-www-form-urlencoded' | 'application/json' | 'application/octet-stream' | 'application/protobuf' | 'text/plain';
|
|
137
|
+
'Host': string;
|
|
138
|
+
'Referer': string;
|
|
139
|
+
}
|
|
140
|
+
export type LibCurlHeadersInfo = string | {
|
|
141
|
+
[key: string]: [value: string];
|
|
142
|
+
} | LibCurlHeadersAttr | LibCurlCommonHeaders;
|
|
143
|
+
export type LibCurlBodyInfo = string | Uint8Array | URLSearchParams | object;
|
|
144
|
+
export type LibCurlMethodInfo = 'GET' | 'POST' | 'HEAD' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
|
|
145
|
+
export type LibCurlProxyWithAccountInfo = {
|
|
146
|
+
proxy: string;
|
|
147
|
+
username: string;
|
|
148
|
+
password: string;
|
|
149
|
+
};
|
|
150
|
+
export type LibCurlProxyInfo = string | LibCurlProxyWithAccountInfo;
|
|
151
|
+
export type LibCurlURLInfo = string | URL;
|
|
152
|
+
export declare class LibCurlError extends Error {
|
|
153
|
+
constructor(message: string);
|
|
154
|
+
}
|
|
155
|
+
export declare class LibCurl {
|
|
156
|
+
private m_libCurl_impl_;
|
|
157
|
+
private m_isSending_;
|
|
158
|
+
constructor();
|
|
159
|
+
private checkSending;
|
|
160
|
+
private checkError;
|
|
161
|
+
open(method: LibCurlMethodInfo, url: LibCurlURLInfo): void;
|
|
162
|
+
setRequestHeader(key: string, value: string): void;
|
|
163
|
+
setRequestHeaders(headers: LibCurlHeadersInfo): void;
|
|
164
|
+
setProxy(proxyOpt: LibCurlProxyInfo): void;
|
|
165
|
+
setTimeout(connectTime: number, sendTime: number): void;
|
|
166
|
+
setCookie(cookieOpt: LibCurlSetCookieOption): void;
|
|
167
|
+
deleteCookie(cookieOpt: LibCurlGetCookieOption): void;
|
|
168
|
+
getCookies(cookieOpt?: LibCurlGetCookiesOption): string;
|
|
169
|
+
getCookiesMap(cookieOpt?: LibCurlGetCookiesOption): LibCurlCookiesAttr;
|
|
170
|
+
getCookie(cookieOpt: LibCurlGetCookieOption): string;
|
|
171
|
+
getResponseHeaders(): string;
|
|
172
|
+
getResponseHeadersMap(): LibCurlHeadersAttr;
|
|
173
|
+
getResponseStatus(): number;
|
|
174
|
+
getResponseContentLength(): number;
|
|
175
|
+
reset(): void;
|
|
176
|
+
setRedirect(isAllow: boolean): void;
|
|
177
|
+
printInnerLogger(): void;
|
|
178
|
+
setHttpVersion(version: LibCurlHttpVersionInfo): void;
|
|
179
|
+
setInterface(network: LibCurlInterfaceInfo): void;
|
|
180
|
+
setJA3Fingerprint(ja3: LibCurlJA3FingerPrintInfo): void;
|
|
181
|
+
send(body?: LibCurlBodyInfo): Promise<undefined> | undefined;
|
|
182
|
+
getResponseBody(): Uint8Array;
|
|
183
|
+
getResponseString(): string;
|
|
184
|
+
getResponseJson(): Object;
|
|
185
|
+
}
|
|
186
|
+
export {};
|