@hyperttp/core 1.4.6 → 1.4.8
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/Core/HyperCore.d.ts +2 -1
- package/Core/HyperCore.d.ts.map +1 -1
- package/Core/HyperCore.js +137 -43
- package/Core/HyperCore.js.map +1 -1
- package/defaultConfig.d.ts.map +1 -1
- package/defaultConfig.js +4 -5
- package/defaultConfig.js.map +1 -1
- package/package.json +4 -4
- package/transports/browser.d.ts.map +1 -1
- package/transports/browser.js +49 -12
- package/transports/browser.js.map +1 -1
- package/transports/manager.d.ts +87 -9
- package/transports/manager.d.ts.map +1 -1
- package/transports/manager.js +163 -18
- package/transports/manager.js.map +1 -1
- package/transports/node.d.ts +18 -3
- package/transports/node.d.ts.map +1 -1
- package/transports/node.js +280 -33
- package/transports/node.js.map +1 -1
package/transports/node.js
CHANGED
|
@@ -1,4 +1,121 @@
|
|
|
1
|
-
|
|
1
|
+
import http from "node:http";
|
|
2
|
+
import https from "node:https";
|
|
3
|
+
import net from "node:net";
|
|
4
|
+
import { Readable } from "node:stream";
|
|
5
|
+
import tls from "node:tls";
|
|
6
|
+
import zlib from "node:zlib";
|
|
7
|
+
/**
|
|
8
|
+
* @ru Статические пресеты браузерных заголовков для маскировки под реальных пользователей.
|
|
9
|
+
* Используются stealth-режимом для обхода fingerprint-защит.
|
|
10
|
+
* @en Static presets of browser headers for masking as real users.
|
|
11
|
+
* Used by stealth mode to bypass fingerprint protections.
|
|
12
|
+
*/
|
|
13
|
+
const STEALTH_HEADER_PRESETS = {
|
|
14
|
+
chrome: {
|
|
15
|
+
"sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
|
|
16
|
+
"sec-ch-ua-mobile": "?0",
|
|
17
|
+
"sec-ch-ua-platform": '"Linux"',
|
|
18
|
+
"sec-fetch-dest": "document",
|
|
19
|
+
"sec-fetch-mode": "navigate",
|
|
20
|
+
"sec-fetch-site": "none",
|
|
21
|
+
"sec-fetch-user": "?1",
|
|
22
|
+
"upgrade-insecure-requests": "1",
|
|
23
|
+
"accept-language": "en-US,en;q=0.9",
|
|
24
|
+
},
|
|
25
|
+
firefox: {
|
|
26
|
+
"sec-fetch-dest": "document",
|
|
27
|
+
"sec-fetch-mode": "navigate",
|
|
28
|
+
"sec-fetch-site": "none",
|
|
29
|
+
"accept-language": "en-US,en;q=0.5",
|
|
30
|
+
"upgrade-insecure-requests": "1",
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* @ru Пресеты User-Agent, соответствующие TLS-отпечаткам (JA3/JA4).
|
|
35
|
+
* @en User-Agent presets matching the TLS fingerprints (JA3/JA4).
|
|
36
|
+
*/
|
|
37
|
+
const STEALTH_UA_PRESETS = {
|
|
38
|
+
chrome: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
|
|
39
|
+
firefox: "Mozilla/5.0 (X11; Linux; rv:126.0) Gecko/20100101 Firefox/126.0",
|
|
40
|
+
safari: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15",
|
|
41
|
+
edge: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0",
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* @ru Возвращает строку шифров TLS для указанного профиля браузера.
|
|
45
|
+
* @en Returns the TLS cipher suite string for the specified browser profile.
|
|
46
|
+
* @param fingerprint - Browser fingerprint profile.
|
|
47
|
+
* @returns Colon-separated cipher suite string, or empty string if not found.
|
|
48
|
+
*/
|
|
49
|
+
function getCiphersForProfile(fingerprint) {
|
|
50
|
+
if (!fingerprint)
|
|
51
|
+
return "";
|
|
52
|
+
switch (fingerprint) {
|
|
53
|
+
case "chrome":
|
|
54
|
+
case "edge":
|
|
55
|
+
return [
|
|
56
|
+
"TLS_AES_128_GCM_SHA256",
|
|
57
|
+
"TLS_AES_256_GCM_SHA384",
|
|
58
|
+
"TLS_CHACHA20_POLY1305_SHA256",
|
|
59
|
+
"ECDHE-ECDSA-AES128-GCM-SHA256",
|
|
60
|
+
"ECDHE-RSA-AES128-GCM-SHA256",
|
|
61
|
+
].join(":");
|
|
62
|
+
case "firefox":
|
|
63
|
+
return [
|
|
64
|
+
"TLS_AES_128_GCM_SHA256",
|
|
65
|
+
"TLS_CHACHA20_POLY1305_SHA256",
|
|
66
|
+
"TLS_AES_256_GCM_SHA384",
|
|
67
|
+
"ECDHE-ECDSA-AES128-GCM-SHA256",
|
|
68
|
+
"ECDHE-RSA-AES128-GCM-SHA256",
|
|
69
|
+
].join(":");
|
|
70
|
+
case "safari":
|
|
71
|
+
return [
|
|
72
|
+
"TLS_AES_256_GCM_SHA384",
|
|
73
|
+
"TLS_CHACHA20_POLY1305_SHA256",
|
|
74
|
+
"TLS_AES_128_GCM_SHA256",
|
|
75
|
+
"ECDHE-ECDSA-AES256-GCM-SHA384",
|
|
76
|
+
"ECDHE-RSA-AES256-GCM-SHA384",
|
|
77
|
+
].join(":");
|
|
78
|
+
default:
|
|
79
|
+
return "";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @ru Безопасно применяет стелс-пресеты, отдавая абсолютный приоритет ручным заголовкам.
|
|
84
|
+
* @en Safely applies stealth presets, giving absolute priority to manual headers.
|
|
85
|
+
* @param headers - The headers object to modify.
|
|
86
|
+
* @param stealth - Stealth configuration options.
|
|
87
|
+
* @returns The modified headers object.
|
|
88
|
+
*/
|
|
89
|
+
function applyStealthHeaders(headers, stealth) {
|
|
90
|
+
if (!stealth || !stealth.fingerprint)
|
|
91
|
+
return headers;
|
|
92
|
+
const presetName = stealth.fingerprint;
|
|
93
|
+
const presetHeaders = STEALTH_HEADER_PRESETS[presetName];
|
|
94
|
+
if (presetHeaders) {
|
|
95
|
+
for (const key in presetHeaders) {
|
|
96
|
+
if (headers[key] === undefined) {
|
|
97
|
+
headers[key] = presetHeaders[key];
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const currentUA = headers["user-agent"];
|
|
102
|
+
if (currentUA === undefined || currentUA === "hyperttp/2.0" || currentUA === "Hyperttp/2.0") {
|
|
103
|
+
const browserUA = STEALTH_UA_PRESETS[presetName];
|
|
104
|
+
if (browserUA) {
|
|
105
|
+
headers["user-agent"] = browserUA;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return headers;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* @ru Кэш HTTP/HTTPS агентов по ключу (протокол + stealth-конфигурация).
|
|
112
|
+
* @en Cache of HTTP/HTTPS agents by key (protocol + stealth configuration).
|
|
113
|
+
*/
|
|
114
|
+
const agentCache = new Map();
|
|
115
|
+
/**
|
|
116
|
+
* @ru Устанавливает метод dump() на прототип ReadableStream для освобождения ресурсов.
|
|
117
|
+
* @en Installs dump() method on ReadableStream prototype for resource cleanup.
|
|
118
|
+
*/
|
|
2
119
|
function installReadableStreamDump() {
|
|
3
120
|
if (typeof ReadableStream === "undefined")
|
|
4
121
|
return;
|
|
@@ -18,6 +135,78 @@ function installReadableStreamDump() {
|
|
|
18
135
|
configurable: true,
|
|
19
136
|
});
|
|
20
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* @ru Получает или создаёт нативный HTTP/HTTPS агент с учётом stealth-настроек.
|
|
140
|
+
* @en Gets or creates a native HTTP/HTTPS agent considering stealth settings.
|
|
141
|
+
* @param isHttps - Whether the connection is HTTPS.
|
|
142
|
+
* @param stealth - Optional stealth configuration.
|
|
143
|
+
* @returns The HTTP or HTTPS agent.
|
|
144
|
+
*/
|
|
145
|
+
function getNativeAgent(isHttps, stealth) {
|
|
146
|
+
const fingerprint = stealth?.fingerprint ?? "none";
|
|
147
|
+
const fragment = stealth?.fragment ?? "none";
|
|
148
|
+
const cacheKey = `${isHttps ? "https" : "http"}:${fingerprint}:${fragment}`;
|
|
149
|
+
let agent = agentCache.get(cacheKey);
|
|
150
|
+
if (agent)
|
|
151
|
+
return agent;
|
|
152
|
+
const agentOpts = {
|
|
153
|
+
keepAlive: true,
|
|
154
|
+
maxSockets: 256,
|
|
155
|
+
};
|
|
156
|
+
if (isHttps) {
|
|
157
|
+
agentOpts.ciphers = getCiphersForProfile(stealth?.fingerprint);
|
|
158
|
+
if (stealth?.fragment === "split") {
|
|
159
|
+
agentOpts.createConnection = (options, callback) => {
|
|
160
|
+
const socket = net.connect(options);
|
|
161
|
+
const originalWrite = socket.write;
|
|
162
|
+
let isFirstWrite = true;
|
|
163
|
+
socket.write = function (chunk, encodingOrCb, cb) {
|
|
164
|
+
if (isFirstWrite && chunk instanceof Uint8Array && chunk.length > 5) {
|
|
165
|
+
isFirstWrite = false;
|
|
166
|
+
this.write = originalWrite;
|
|
167
|
+
let encoding;
|
|
168
|
+
let callbackRef;
|
|
169
|
+
if (typeof encodingOrCb === "function") {
|
|
170
|
+
callbackRef = encodingOrCb;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
encoding = encodingOrCb;
|
|
174
|
+
callbackRef = cb;
|
|
175
|
+
}
|
|
176
|
+
const part1 = chunk.subarray(0, 3);
|
|
177
|
+
const part2 = chunk.subarray(3);
|
|
178
|
+
originalWrite.call(this, part1, encoding);
|
|
179
|
+
return originalWrite.call(this, part2, encoding, callbackRef);
|
|
180
|
+
}
|
|
181
|
+
this.write = originalWrite;
|
|
182
|
+
return originalWrite.call(this, chunk, encodingOrCb, cb);
|
|
183
|
+
};
|
|
184
|
+
const tlsSocket = tls.connect({
|
|
185
|
+
...options,
|
|
186
|
+
socket,
|
|
187
|
+
ciphers: agentOpts.ciphers,
|
|
188
|
+
});
|
|
189
|
+
tlsSocket.once("secureConnect", () => callback(null, tlsSocket));
|
|
190
|
+
tlsSocket.once("error", (err) => callback(err));
|
|
191
|
+
return tlsSocket;
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
agent = new https.Agent(agentOpts);
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
if (stealth?.fragment === "split") {
|
|
198
|
+
agentOpts.createConnection = (options, callback) => {
|
|
199
|
+
const socket = net.connect(options);
|
|
200
|
+
socket.once("connect", () => callback(null, socket));
|
|
201
|
+
socket.once("error", (err) => callback(err));
|
|
202
|
+
return socket;
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
agent = new http.Agent(agentOpts);
|
|
206
|
+
}
|
|
207
|
+
agentCache.set(cacheKey, agent);
|
|
208
|
+
return agent;
|
|
209
|
+
}
|
|
21
210
|
installReadableStreamDump();
|
|
22
211
|
function isAbsoluteHttpUrl(url) {
|
|
23
212
|
return url.startsWith("http://") || url.startsWith("https://");
|
|
@@ -39,36 +228,35 @@ function isLocalhostUrl(url) {
|
|
|
39
228
|
return host === "localhost" || host.startsWith("localhost:");
|
|
40
229
|
}
|
|
41
230
|
function normalizeHeaders(headers) {
|
|
231
|
+
const out = Object.create(null);
|
|
42
232
|
if (!headers)
|
|
43
|
-
return
|
|
233
|
+
return out;
|
|
44
234
|
if (headers instanceof Headers) {
|
|
45
|
-
const out = Object.create(null);
|
|
46
235
|
headers.forEach((value, key) => {
|
|
47
|
-
out[key] = value;
|
|
236
|
+
out[key.toLowerCase()] = value;
|
|
48
237
|
});
|
|
49
238
|
return out;
|
|
50
239
|
}
|
|
51
240
|
if (Array.isArray(headers)) {
|
|
52
|
-
const out = Object.create(null);
|
|
53
241
|
for (let i = 0; i < headers.length; i++) {
|
|
54
242
|
const pair = headers[i];
|
|
55
|
-
if (!pair)
|
|
243
|
+
if (!pair || typeof pair[0] !== "string")
|
|
56
244
|
continue;
|
|
57
|
-
out[pair[0]] = pair[1];
|
|
245
|
+
out[pair[0].toLowerCase()] = String(pair[1]);
|
|
58
246
|
}
|
|
59
247
|
return out;
|
|
60
248
|
}
|
|
61
|
-
const out = Object.create(null);
|
|
62
249
|
const src = headers;
|
|
63
250
|
for (const key in src) {
|
|
64
251
|
const value = src[key];
|
|
65
252
|
if (value == null)
|
|
66
253
|
continue;
|
|
254
|
+
const lKey = key.toLowerCase();
|
|
67
255
|
if (Array.isArray(value)) {
|
|
68
|
-
out[
|
|
256
|
+
out[lKey] = lKey === "cookie" ? value.join("; ") : value.join(", ");
|
|
69
257
|
continue;
|
|
70
258
|
}
|
|
71
|
-
out[
|
|
259
|
+
out[lKey] = String(value);
|
|
72
260
|
}
|
|
73
261
|
return out;
|
|
74
262
|
}
|
|
@@ -79,10 +267,7 @@ function normalizeBody(body) {
|
|
|
79
267
|
body instanceof Uint8Array ||
|
|
80
268
|
body instanceof ArrayBuffer ||
|
|
81
269
|
ArrayBuffer.isView(body) ||
|
|
82
|
-
(typeof ReadableStream !== "undefined" && body instanceof ReadableStream)
|
|
83
|
-
(typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) ||
|
|
84
|
-
(typeof FormData !== "undefined" && body instanceof FormData) ||
|
|
85
|
-
(typeof Blob !== "undefined" && body instanceof Blob)) {
|
|
270
|
+
(typeof ReadableStream !== "undefined" && body instanceof ReadableStream)) {
|
|
86
271
|
return body;
|
|
87
272
|
}
|
|
88
273
|
if (typeof body === "object") {
|
|
@@ -91,8 +276,8 @@ function normalizeBody(body) {
|
|
|
91
276
|
return String(body);
|
|
92
277
|
}
|
|
93
278
|
/**
|
|
94
|
-
* @ru Реализация транспорта для Node.js с использованием
|
|
95
|
-
*
|
|
279
|
+
* @ru Реализация транспорта для Node.js с использованием нативных http/https модулей.
|
|
280
|
+
* Поддерживает stealth-маскировку, фрагментацию TLS Client Hello и автоматическую декомпрессию.
|
|
96
281
|
*/
|
|
97
282
|
export class NodeTransport {
|
|
98
283
|
config;
|
|
@@ -109,25 +294,87 @@ export class NodeTransport {
|
|
|
109
294
|
if (this.isProduction && isLocalhostUrl(fullUrl)) {
|
|
110
295
|
throw new Error("Localhost URL detected in production environment");
|
|
111
296
|
}
|
|
112
|
-
|
|
297
|
+
let headers = normalizeHeaders(req.headers);
|
|
298
|
+
if (headers["accept-encoding"] === undefined) {
|
|
299
|
+
headers["accept-encoding"] = "gzip, deflate, br";
|
|
300
|
+
}
|
|
301
|
+
const stealthOpts = req.stealth ?? this.config.stealth ?? this.config.network?.stealth;
|
|
302
|
+
if (stealthOpts) {
|
|
303
|
+
headers = applyStealthHeaders(headers, stealthOpts);
|
|
304
|
+
}
|
|
113
305
|
const body = normalizeBody(req.body);
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
306
|
+
const urlObj = new URL(fullUrl);
|
|
307
|
+
const isHttps = urlObj.protocol === "https:";
|
|
308
|
+
const agent = getNativeAgent(isHttps, stealthOpts);
|
|
309
|
+
return new Promise((resolve, reject) => {
|
|
310
|
+
const reqOpts = {
|
|
311
|
+
method: req.method,
|
|
312
|
+
headers,
|
|
313
|
+
agent,
|
|
314
|
+
signal: req.signal,
|
|
315
|
+
};
|
|
316
|
+
const clientReq = (isHttps ? https : http).request(fullUrl, reqOpts, (res) => {
|
|
317
|
+
const resHeaders = Object.create(null);
|
|
318
|
+
for (const key in res.headers) {
|
|
319
|
+
const val = res.headers[key];
|
|
320
|
+
if (val !== undefined) {
|
|
321
|
+
resHeaders[key] = Array.isArray(val) ? val.join(", ") : val;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
let responseStream = res;
|
|
325
|
+
const encoding = resHeaders["content-encoding"]?.toLowerCase();
|
|
326
|
+
if (encoding === "gzip") {
|
|
327
|
+
responseStream = res.pipe(zlib.createGunzip());
|
|
328
|
+
delete resHeaders["content-encoding"];
|
|
329
|
+
delete resHeaders["content-length"];
|
|
330
|
+
}
|
|
331
|
+
else if (encoding === "deflate") {
|
|
332
|
+
responseStream = res.pipe(zlib.createInflate());
|
|
333
|
+
delete resHeaders["content-encoding"];
|
|
334
|
+
delete resHeaders["content-length"];
|
|
335
|
+
}
|
|
336
|
+
else if (encoding === "br") {
|
|
337
|
+
responseStream = res.pipe(zlib.createBrotliDecompress());
|
|
338
|
+
delete resHeaders["content-encoding"];
|
|
339
|
+
delete resHeaders["content-length"];
|
|
340
|
+
}
|
|
341
|
+
resolve({
|
|
342
|
+
status: res.statusCode ?? 200,
|
|
343
|
+
headers: resHeaders,
|
|
344
|
+
url: fullUrl,
|
|
345
|
+
body: Readable.toWeb(responseStream),
|
|
346
|
+
});
|
|
347
|
+
});
|
|
348
|
+
clientReq.on("error", (err) => reject(err));
|
|
349
|
+
if (body !== undefined && body !== null) {
|
|
350
|
+
if (typeof body === "string" || body instanceof Uint8Array || ArrayBuffer.isView(body)) {
|
|
351
|
+
clientReq.write(body);
|
|
352
|
+
clientReq.end();
|
|
353
|
+
}
|
|
354
|
+
else if (body instanceof ArrayBuffer) {
|
|
355
|
+
clientReq.write(Buffer.from(body));
|
|
356
|
+
clientReq.end();
|
|
357
|
+
}
|
|
358
|
+
else if (typeof ReadableStream !== "undefined" && body instanceof ReadableStream) {
|
|
359
|
+
Readable.fromWeb(body).pipe(clientReq);
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
clientReq.end();
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
clientReq.end();
|
|
367
|
+
}
|
|
124
368
|
});
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
369
|
+
}
|
|
370
|
+
async close() {
|
|
371
|
+
for (const agent of agentCache.values()) {
|
|
372
|
+
agent.destroy();
|
|
373
|
+
}
|
|
374
|
+
agentCache.clear();
|
|
375
|
+
}
|
|
376
|
+
async destroy() {
|
|
377
|
+
await this.close();
|
|
131
378
|
}
|
|
132
379
|
}
|
|
133
380
|
//# sourceMappingURL=node.js.map
|
package/transports/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/transports/node.ts"],"names":[],"mappings":"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"}
|