@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.
Files changed (48) hide show
  1. package/LICENSE +21 -21
  2. package/dist/export.d.ts +6 -4
  3. package/dist/export.js +13 -9
  4. package/dist/export.js.map +1 -1
  5. package/dist/fetch.d.ts +27 -27
  6. package/dist/fetch.js +51 -51
  7. package/dist/fetch.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.js +17 -17
  10. package/dist/ja3Map.d.ts +12 -0
  11. package/dist/ja3Map.js +16 -0
  12. package/dist/ja3Map.js.map +1 -0
  13. package/dist/libcurl.d.ts +186 -172
  14. package/dist/libcurl.js +364 -350
  15. package/dist/libcurl.js.map +1 -1
  16. package/dist/libcurlWebSocket.d.ts +30 -0
  17. package/dist/libcurlWebSocket.js +83 -0
  18. package/dist/libcurlWebSocket.js.map +1 -0
  19. package/dist/requests.d.ts +101 -82
  20. package/dist/requests.js +372 -248
  21. package/dist/requests.js.map +1 -1
  22. package/dist/utils.d.ts +7 -6
  23. package/dist/utils.js +110 -101
  24. package/dist/utils.js.map +1 -1
  25. package/package.json +48 -41
  26. package/readme.md +79 -79
  27. package/scripts/bindings.js +15 -0
  28. package/scripts/postinstall.js +104 -0
  29. package/binding.gyp +0 -97
  30. package/src/ja3Table.json +0 -102
  31. package/src/libcurl/bao_curl.cpp +0 -338
  32. package/src/libcurl/bao_curl_multi.cpp +0 -123
  33. package/src/libcurl/bao_curl_node_addon.cpp +0 -511
  34. package/src/libcurl/include/bao_curl.h +0 -116
  35. package/src/libcurl/include/curl/Makefile.am +0 -39
  36. package/src/libcurl/include/curl/curl.h +0 -3104
  37. package/src/libcurl/include/curl/curlver.h +0 -77
  38. package/src/libcurl/include/curl/easy.h +0 -123
  39. package/src/libcurl/include/curl/mprintf.h +0 -50
  40. package/src/libcurl/include/curl/multi.h +0 -457
  41. package/src/libcurl/include/curl/options.h +0 -68
  42. package/src/libcurl/include/curl/stdcheaders.h +0 -33
  43. package/src/libcurl/include/curl/system.h +0 -504
  44. package/src/libcurl/include/curl/typecheck-gcc.h +0 -707
  45. package/src/libcurl/include/curl/urlapi.h +0 -145
  46. package/src/libcurl/include/request_tls_utils.h +0 -30
  47. package/src/libcurl/include/utils.h +0 -23
  48. 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
- 'PSK-AES128-CBC-SHA' = 140,
54
- 'PSK-AES256-CBC-SHA' = 141,
55
- 'AES128-GCM-SHA256' = 156,
56
- 'AES256-GCM-SHA384' = 157,
57
- 'TLS_AES_128_GCM_SHA256' = 4865,
58
- 'TLS_AES_256_GCM_SHA384' = 4866,
59
- 'TLS_CHACHA20_POLY1305_SHA256' = 4867,
60
- 'ECDHE-ECDSA-AES128-SHA' = 49161,
61
- 'ECDHE-ECDSA-AES256-SHA' = 49162,
62
- 'ECDHE-RSA-AES128-SHA' = 49171,
63
- 'ECDHE-RSA-AES256-SHA' = 49172,
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 = 17513,
99
- TLSEXT_TYPE_encrypted_client_hello = 65037,
100
- TLSEXT_TYPE_ech_outer_extensions = 64768,
101
- TLSEXT_TYPE_certificate_timestamp = 18,
102
- TLSEXT_TYPE_next_proto_neg = 13172,
103
- TLSEXT_TYPE_channel_id = 30032,
104
- TLSEXT_TYPE_record_size_limit = 28,
105
- TLSEXT_TYPE_delegated_credentials = 34
106
- }
107
- export declare enum LibCurlJA3SupportGroup {
108
- "P-256" = 23,
109
- "P-384" = 24,
110
- "P-521" = 25,
111
- X25519 = 29,
112
- ffdhe2048 = 256,
113
- ffdhe3072 = 257
114
- }
115
- export declare enum LibCurlJA3EcPointFormat {
116
- uncompressed = 0,
117
- compressed_fixed = 1,
118
- compressed_variable = 2
119
- }
120
- interface LibCurlCommonHeaders {
121
- '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';
122
- 'Content-Type': 'application/x-www-form-urlencoded' | 'application/json' | 'application/octet-stream' | 'application/protobuf' | 'text/plain';
123
- 'Host': string;
124
- 'Referer': string;
125
- }
126
- export type LibCurlHeadersInfo = string | {
127
- [key: string]: [value: string];
128
- } | LibCurlHeadersAttr | LibCurlCommonHeaders;
129
- export type LibCurlBodyInfo = string | Uint8Array | URLSearchParams | object;
130
- export type LibCurlMethodInfo = 'GET' | 'POST' | 'HEAD' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
131
- export type LibCurlProxyWithAccountInfo = {
132
- proxy: string;
133
- username: string;
134
- password: string;
135
- };
136
- export type LibCurlProxyInfo = string | LibCurlProxyWithAccountInfo;
137
- export type LibCurlURLInfo = string | URL;
138
- export declare class LibCurlError extends Error {
139
- constructor(message: string);
140
- }
141
- export declare class LibCurl {
142
- private m_libCurl_impl_;
143
- private m_isSending_;
144
- constructor();
145
- private static multiExecute;
146
- private checkSending;
147
- open(method: LibCurlMethodInfo, url: LibCurlURLInfo): void;
148
- setRequestHeader(key: string, value: string): void;
149
- setRequestHeaders(headers: LibCurlHeadersInfo): void;
150
- setProxy(proxyOpt: LibCurlProxyInfo): void;
151
- setTimeout(connectTime: number, sendTime: number): void;
152
- setCookie(cookieOpt: LibCurlSetCookieOption): void;
153
- deleteCookie(cookieOpt: LibCurlGetCookieOption): void;
154
- getCookies(cookieOpt?: LibCurlGetCookiesOption): string;
155
- getCookiesMap(cookieOpt?: LibCurlGetCookiesOption): LibCurlCookiesAttr;
156
- getCookie(cookieOpt: LibCurlGetCookieOption): string;
157
- getResponseHeaders(): string;
158
- getResponseHeadersMap(): LibCurlHeadersAttr;
159
- getResponseStatus(): number;
160
- getResponseContentLength(): number;
161
- reset(): void;
162
- setRedirect(isAllow: boolean): void;
163
- printInnerLogger(): void;
164
- setHttpVersion(version: LibCurlHttpVersionInfo): void;
165
- setInterface(network: LibCurlInterfaceInfo): void;
166
- setJA3Fingerprint(ja3: LibCurlJA3FingerPrintInfo): void;
167
- send(body?: LibCurlBodyInfo): Promise<undefined> | undefined;
168
- getResponseBody(): Uint8Array;
169
- getResponseString(): string;
170
- getResponseJson(): Object;
171
- }
172
- export {};
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 {};