proxy-chain 2.7.1 → 3.0.0-beta.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.
Files changed (83) hide show
  1. package/README.md +53 -62
  2. package/dist/anonymize_proxy.d.ts +2 -6
  3. package/dist/anonymize_proxy.d.ts.map +1 -1
  4. package/dist/anonymize_proxy.js +27 -44
  5. package/dist/anonymize_proxy.js.map +1 -1
  6. package/dist/chain.d.ts +1 -8
  7. package/dist/chain.d.ts.map +1 -1
  8. package/dist/chain.js +15 -21
  9. package/dist/chain.js.map +1 -1
  10. package/dist/chain_socks.d.ts +1 -6
  11. package/dist/chain_socks.d.ts.map +1 -1
  12. package/dist/chain_socks.js +9 -13
  13. package/dist/chain_socks.js.map +1 -1
  14. package/dist/custom_connect.d.ts.map +1 -1
  15. package/dist/custom_connect.js +3 -7
  16. package/dist/custom_connect.js.map +1 -1
  17. package/dist/custom_response.d.ts +0 -2
  18. package/dist/custom_response.d.ts.map +1 -1
  19. package/dist/custom_response.js +1 -5
  20. package/dist/custom_response.js.map +1 -1
  21. package/dist/direct.d.ts +1 -5
  22. package/dist/direct.d.ts.map +1 -1
  23. package/dist/direct.js +7 -12
  24. package/dist/direct.js.map +1 -1
  25. package/dist/forward.d.ts +0 -4
  26. package/dist/forward.d.ts.map +1 -1
  27. package/dist/forward.js +17 -25
  28. package/dist/forward.js.map +1 -1
  29. package/dist/forward_socks.d.ts +0 -1
  30. package/dist/forward_socks.d.ts.map +1 -1
  31. package/dist/forward_socks.js +15 -23
  32. package/dist/forward_socks.js.map +1 -1
  33. package/dist/index.d.ts +6 -6
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +5 -8
  36. package/dist/index.js.map +1 -1
  37. package/dist/request_error.d.ts.map +1 -1
  38. package/dist/request_error.js +5 -17
  39. package/dist/request_error.js.map +1 -1
  40. package/dist/server.d.ts +4 -12
  41. package/dist/server.d.ts.map +1 -1
  42. package/dist/server.js +68 -133
  43. package/dist/server.js.map +1 -1
  44. package/dist/socket.d.ts +0 -2
  45. package/dist/socket.d.ts.map +1 -1
  46. package/dist/socket.js +1 -2
  47. package/dist/statuses.d.ts.map +1 -1
  48. package/dist/statuses.js +22 -27
  49. package/dist/statuses.js.map +1 -1
  50. package/dist/tcp_tunnel_tools.d.ts +2 -2
  51. package/dist/tcp_tunnel_tools.d.ts.map +1 -1
  52. package/dist/tcp_tunnel_tools.js +23 -41
  53. package/dist/tcp_tunnel_tools.js.map +1 -1
  54. package/dist/utils/count_target_bytes.d.ts +2 -3
  55. package/dist/utils/count_target_bytes.d.ts.map +1 -1
  56. package/dist/utils/count_target_bytes.js +4 -12
  57. package/dist/utils/count_target_bytes.js.map +1 -1
  58. package/dist/utils/decode_uri_component_safe.d.ts.map +1 -1
  59. package/dist/utils/decode_uri_component_safe.js +1 -5
  60. package/dist/utils/decode_uri_component_safe.js.map +1 -1
  61. package/dist/utils/get_basic.d.ts.map +1 -1
  62. package/dist/utils/get_basic.js +4 -8
  63. package/dist/utils/get_basic.js.map +1 -1
  64. package/dist/utils/is_hop_by_hop_header.d.ts.map +1 -1
  65. package/dist/utils/is_hop_by_hop_header.js +1 -5
  66. package/dist/utils/is_hop_by_hop_header.js.map +1 -1
  67. package/dist/utils/normalize_url_port.d.ts.map +1 -1
  68. package/dist/utils/normalize_url_port.js +1 -5
  69. package/dist/utils/normalize_url_port.js.map +1 -1
  70. package/dist/utils/parse_authorization_header.d.ts.map +1 -1
  71. package/dist/utils/parse_authorization_header.js +3 -7
  72. package/dist/utils/parse_authorization_header.js.map +1 -1
  73. package/dist/utils/redact_url.d.ts.map +1 -1
  74. package/dist/utils/redact_url.js +3 -7
  75. package/dist/utils/redact_url.js.map +1 -1
  76. package/dist/utils/valid_headers_only.d.ts.map +1 -1
  77. package/dist/utils/valid_headers_only.js +6 -10
  78. package/dist/utils/valid_headers_only.js.map +1 -1
  79. package/package.json +100 -93
  80. package/dist/utils/nodeify.d.ts +0 -2
  81. package/dist/utils/nodeify.d.ts.map +0 -1
  82. package/dist/utils/nodeify.js +0 -17
  83. package/dist/utils/nodeify.js.map +0 -1
package/dist/server.d.ts CHANGED
@@ -1,19 +1,11 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- /// <reference types="node" />
5
- /// <reference types="node" />
6
- /// <reference types="node" />
7
- /// <reference types="node" />
8
- /// <reference types="node" />
9
1
  import { Buffer } from 'node:buffer';
10
2
  import type dns from 'node:dns';
11
3
  import { EventEmitter } from 'node:events';
12
4
  import http from 'node:http';
13
5
  import https from 'node:https';
14
6
  import { URL } from 'node:url';
15
- import type { HandlerOpts as CustomResponseOpts } from './custom_response';
16
- import type { Socket, TLSSocket } from './socket';
7
+ import type { HandlerOpts as CustomResponseOpts } from './custom_response.js';
8
+ import type { Socket, TLSSocket } from './socket.js';
17
9
  export declare const SOCKS_PROTOCOLS: string[];
18
10
  /**
19
11
  * Connection statistics for bandwidth tracking.
@@ -212,7 +204,7 @@ export declare class Server extends EventEmitter {
212
204
  /**
213
205
  * Starts listening at a port specified in the constructor.
214
206
  */
215
- listen(callback?: (error: NodeJS.ErrnoException | null) => void): Promise<void>;
207
+ listen(): Promise<void>;
216
208
  /**
217
209
  * Gets array of IDs of all active connections.
218
210
  */
@@ -233,7 +225,7 @@ export declare class Server extends EventEmitter {
233
225
  * Closes the proxy server.
234
226
  * @param closeConnections If true, pending proxy connections are forcibly closed.
235
227
  */
236
- close(closeConnections: boolean, callback?: (error: NodeJS.ErrnoException | null) => void): Promise<void>;
228
+ close(closeConnections?: boolean): Promise<void>;
237
229
  }
238
230
  export {};
239
231
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -1,29 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Server = exports.SOCKS_PROTOCOLS = void 0;
4
- const tslib_1 = require("tslib");
5
1
  /* eslint-disable no-use-before-define */
6
- const node_buffer_1 = require("node:buffer");
7
- const node_events_1 = require("node:events");
8
- const node_http_1 = tslib_1.__importDefault(require("node:http"));
9
- const node_https_1 = tslib_1.__importDefault(require("node:https"));
10
- const node_url_1 = require("node:url");
11
- const node_util_1 = tslib_1.__importDefault(require("node:util"));
12
- const chain_1 = require("./chain");
13
- const chain_socks_1 = require("./chain_socks");
14
- const custom_connect_1 = require("./custom_connect");
15
- const custom_response_1 = require("./custom_response");
16
- const direct_1 = require("./direct");
17
- const forward_1 = require("./forward");
18
- const forward_socks_1 = require("./forward_socks");
19
- const request_error_1 = require("./request_error");
20
- const statuses_1 = require("./statuses");
21
- const count_target_bytes_1 = require("./utils/count_target_bytes");
22
- const nodeify_1 = require("./utils/nodeify");
23
- const normalize_url_port_1 = require("./utils/normalize_url_port");
24
- const parse_authorization_header_1 = require("./utils/parse_authorization_header");
25
- const redact_url_1 = require("./utils/redact_url");
26
- exports.SOCKS_PROTOCOLS = ['socks:', 'socks4:', 'socks4a:', 'socks5:', 'socks5h:'];
2
+ import { Buffer } from 'node:buffer';
3
+ import { EventEmitter } from 'node:events';
4
+ import http from 'node:http';
5
+ import https from 'node:https';
6
+ import { URL } from 'node:url';
7
+ import util from 'node:util';
8
+ import { chain } from './chain.js';
9
+ import { chainSocks } from './chain_socks.js';
10
+ import { customConnect } from './custom_connect.js';
11
+ import { handleCustomResponse } from './custom_response.js';
12
+ import { direct } from './direct.js';
13
+ import { forward } from './forward.js';
14
+ import { forwardSocks } from './forward_socks.js';
15
+ import { RequestError } from './request_error.js';
16
+ import { badGatewayStatusCodes } from './statuses.js';
17
+ import { getTargetStats } from './utils/count_target_bytes.js';
18
+ import { normalizeUrlPort } from './utils/normalize_url_port.js';
19
+ import { parseAuthorizationHeader } from './utils/parse_authorization_header.js';
20
+ import { redactUrl } from './utils/redact_url.js';
21
+ export const SOCKS_PROTOCOLS = ['socks:', 'socks4:', 'socks4a:', 'socks5:', 'socks5h:'];
27
22
  // TODO:
28
23
  // - Implement this requirement from rfc7230
29
24
  // "A proxy MUST forward unrecognized header fields unless the field-name
@@ -46,7 +41,17 @@ const HTTPS_DEFAULT_OPTIONS = {
46
41
  * It emits the 'tlsError' event on TLS handshake failures (HTTPS servers only), with parameter `{ error, socket }`.
47
42
  * with parameter `{ connectionId, reason, hasParent, parentType }`.
48
43
  */
49
- class Server extends node_events_1.EventEmitter {
44
+ export class Server extends EventEmitter {
45
+ port;
46
+ host;
47
+ prepareRequestFunction;
48
+ authRealm;
49
+ verbose;
50
+ server;
51
+ serverType;
52
+ lastHandlerId;
53
+ stats;
54
+ connections;
50
55
  /**
51
56
  * Initializes a new instance of Server class.
52
57
  * @param options
@@ -86,66 +91,6 @@ class Server extends node_events_1.EventEmitter {
86
91
  */
87
92
  constructor(options = {}) {
88
93
  super();
89
- Object.defineProperty(this, "port", {
90
- enumerable: true,
91
- configurable: true,
92
- writable: true,
93
- value: void 0
94
- });
95
- Object.defineProperty(this, "host", {
96
- enumerable: true,
97
- configurable: true,
98
- writable: true,
99
- value: void 0
100
- });
101
- Object.defineProperty(this, "prepareRequestFunction", {
102
- enumerable: true,
103
- configurable: true,
104
- writable: true,
105
- value: void 0
106
- });
107
- Object.defineProperty(this, "authRealm", {
108
- enumerable: true,
109
- configurable: true,
110
- writable: true,
111
- value: void 0
112
- });
113
- Object.defineProperty(this, "verbose", {
114
- enumerable: true,
115
- configurable: true,
116
- writable: true,
117
- value: void 0
118
- });
119
- Object.defineProperty(this, "server", {
120
- enumerable: true,
121
- configurable: true,
122
- writable: true,
123
- value: void 0
124
- });
125
- Object.defineProperty(this, "serverType", {
126
- enumerable: true,
127
- configurable: true,
128
- writable: true,
129
- value: void 0
130
- });
131
- Object.defineProperty(this, "lastHandlerId", {
132
- enumerable: true,
133
- configurable: true,
134
- writable: true,
135
- value: void 0
136
- });
137
- Object.defineProperty(this, "stats", {
138
- enumerable: true,
139
- configurable: true,
140
- writable: true,
141
- value: void 0
142
- });
143
- Object.defineProperty(this, "connections", {
144
- enumerable: true,
145
- configurable: true,
146
- writable: true,
147
- value: void 0
148
- });
149
94
  if (options.port === undefined || options.port === null) {
150
95
  this.port = DEFAULT_PROXY_SERVER_PORT;
151
96
  }
@@ -168,10 +113,10 @@ class Server extends node_events_1.EventEmitter {
168
113
  honorCipherOrder: true,
169
114
  ...options.httpsOptions,
170
115
  };
171
- this.server = node_https_1.default.createServer(effectiveOptions);
116
+ this.server = https.createServer(effectiveOptions);
172
117
  }
173
118
  else {
174
- this.server = node_http_1.default.createServer();
119
+ this.server = http.createServer();
175
120
  }
176
121
  // Attach common event handlers (same for both HTTP and HTTPS).
177
122
  this.server.on('clientError', this.onClientError.bind(this));
@@ -276,10 +221,10 @@ class Server extends node_events_1.EventEmitter {
276
221
  */
277
222
  normalizeHandlerError(error) {
278
223
  if (error.message === 'Username contains an invalid colon') {
279
- return new request_error_1.RequestError('Invalid colon in username in upstream proxy credentials', statuses_1.badGatewayStatusCodes.AUTH_FAILED);
224
+ return new RequestError('Invalid colon in username in upstream proxy credentials', badGatewayStatusCodes.AUTH_FAILED);
280
225
  }
281
226
  if (error.message === '407 Proxy Authentication Required') {
282
- return new request_error_1.RequestError('Invalid upstream proxy credentials', statuses_1.badGatewayStatusCodes.AUTH_FAILED);
227
+ return new RequestError('Invalid upstream proxy credentials', badGatewayStatusCodes.AUTH_FAILED);
283
228
  }
284
229
  return error;
285
230
  }
@@ -293,16 +238,16 @@ class Server extends node_events_1.EventEmitter {
293
238
  const { proxyChainId } = request.socket;
294
239
  if (handlerOpts.customResponseFunction) {
295
240
  this.log(proxyChainId, 'Using handleCustomResponse()');
296
- await (0, custom_response_1.handleCustomResponse)(request, response, handlerOpts);
241
+ await handleCustomResponse(request, response, handlerOpts);
297
242
  return;
298
243
  }
299
- if (handlerOpts.upstreamProxyUrlParsed && exports.SOCKS_PROTOCOLS.includes(handlerOpts.upstreamProxyUrlParsed.protocol)) {
244
+ if (handlerOpts.upstreamProxyUrlParsed && SOCKS_PROTOCOLS.includes(handlerOpts.upstreamProxyUrlParsed.protocol)) {
300
245
  this.log(proxyChainId, 'Using forwardSocks()');
301
- await (0, forward_socks_1.forwardSocks)(request, response, handlerOpts);
246
+ await forwardSocks(request, response, handlerOpts);
302
247
  return;
303
248
  }
304
249
  this.log(proxyChainId, 'Using forward()');
305
- await (0, forward_1.forward)(request, response, handlerOpts);
250
+ await forward(request, response, handlerOpts);
306
251
  }
307
252
  catch (error) {
308
253
  this.failRequest(request, this.normalizeHandlerError(error));
@@ -321,21 +266,21 @@ class Server extends node_events_1.EventEmitter {
321
266
  const data = { request, sourceSocket: socket, head, handlerOpts: handlerOpts, server: this, isPlain: false };
322
267
  if (handlerOpts.customConnectServer) {
323
268
  socket.unshift(head); // See chain.ts for why we do this
324
- await (0, custom_connect_1.customConnect)(socket, handlerOpts.customConnectServer);
269
+ await customConnect(socket, handlerOpts.customConnectServer);
325
270
  return;
326
271
  }
327
272
  if (handlerOpts.upstreamProxyUrlParsed) {
328
- if (exports.SOCKS_PROTOCOLS.includes(handlerOpts.upstreamProxyUrlParsed.protocol)) {
273
+ if (SOCKS_PROTOCOLS.includes(handlerOpts.upstreamProxyUrlParsed.protocol)) {
329
274
  this.log(socket.proxyChainId, `Using chainSocks() => ${request.url}`);
330
- await (0, chain_socks_1.chainSocks)(data);
275
+ await chainSocks(data);
331
276
  return;
332
277
  }
333
278
  this.log(socket.proxyChainId, `Using chain() => ${request.url}`);
334
- (0, chain_1.chain)(data);
279
+ chain(data);
335
280
  return;
336
281
  }
337
282
  this.log(socket.proxyChainId, `Using direct() => ${request.url}`);
338
- (0, direct_1.direct)(data);
283
+ direct(data);
339
284
  }
340
285
  catch (error) {
341
286
  this.failRequest(request, this.normalizeHandlerError(error));
@@ -363,13 +308,13 @@ class Server extends node_events_1.EventEmitter {
363
308
  if (request.method === 'CONNECT') {
364
309
  // CONNECT server.example.com:80 HTTP/1.1
365
310
  try {
366
- handlerOpts.trgParsed = new node_url_1.URL(`connect://${request.url}`);
311
+ handlerOpts.trgParsed = new URL(`connect://${request.url}`);
367
312
  }
368
313
  catch {
369
- throw new request_error_1.RequestError(`Target "${request.url}" could not be parsed`, 400);
314
+ throw new RequestError(`Target "${request.url}" could not be parsed`, 400);
370
315
  }
371
316
  if (!handlerOpts.trgParsed.hostname || !handlerOpts.trgParsed.port) {
372
- throw new request_error_1.RequestError(`Target "${request.url}" could not be parsed`, 400);
317
+ throw new RequestError(`Target "${request.url}" could not be parsed`, 400);
373
318
  }
374
319
  this.stats.connectRequestCount++;
375
320
  }
@@ -382,15 +327,15 @@ class Server extends node_events_1.EventEmitter {
382
327
  // URI in absolute-form as the request-target"
383
328
  let parsed;
384
329
  try {
385
- parsed = new node_url_1.URL(request.url);
330
+ parsed = new URL(request.url);
386
331
  }
387
332
  catch {
388
333
  // If URL is invalid, throw HTTP 400 error
389
- throw new request_error_1.RequestError(`Target "${request.url}" could not be parsed`, 400);
334
+ throw new RequestError(`Target "${request.url}" could not be parsed`, 400);
390
335
  }
391
336
  // Only HTTP is supported, other protocols such as HTTP or FTP must use the CONNECT method
392
337
  if (parsed.protocol !== 'http:') {
393
- throw new request_error_1.RequestError(`Only HTTP protocol is supported (was ${parsed.protocol})`, 400);
338
+ throw new RequestError(`Only HTTP protocol is supported (was ${parsed.protocol})`, 400);
394
339
  }
395
340
  handlerOpts.trgParsed = parsed;
396
341
  handlerOpts.isHttp = true;
@@ -411,27 +356,27 @@ class Server extends node_events_1.EventEmitter {
411
356
  username: '',
412
357
  password: '',
413
358
  hostname: handlerOpts.trgParsed.hostname,
414
- port: (0, normalize_url_port_1.normalizeUrlPort)(handlerOpts.trgParsed),
359
+ port: normalizeUrlPort(handlerOpts.trgParsed),
415
360
  isHttp: handlerOpts.isHttp,
416
361
  };
417
362
  // Authenticate the request using a user function (if provided)
418
363
  const proxyAuth = request.headers['proxy-authorization'];
419
364
  if (proxyAuth) {
420
- const auth = (0, parse_authorization_header_1.parseAuthorizationHeader)(proxyAuth);
365
+ const auth = parseAuthorizationHeader(proxyAuth);
421
366
  if (!auth) {
422
- throw new request_error_1.RequestError('Invalid "Proxy-Authorization" header', 400);
367
+ throw new RequestError('Invalid "Proxy-Authorization" header', 400);
423
368
  }
424
369
  // https://datatracker.ietf.org/doc/html/rfc7617#page-3
425
370
  // Note that both scheme and parameter names are matched case-
426
371
  // insensitively.
427
372
  if (auth.type.toLowerCase() !== 'basic') {
428
- throw new request_error_1.RequestError('The "Proxy-Authorization" header must have the "Basic" type.', 400);
373
+ throw new RequestError('The "Proxy-Authorization" header must have the "Basic" type.', 400);
429
374
  }
430
375
  funcOpts.username = auth.username;
431
376
  funcOpts.password = auth.password;
432
377
  }
433
378
  const result = await this.prepareRequestFunction(funcOpts);
434
- return result !== null && result !== void 0 ? result : {};
379
+ return result ?? {};
435
380
  }
436
381
  return {};
437
382
  }
@@ -452,17 +397,17 @@ class Server extends node_events_1.EventEmitter {
452
397
  handlerOpts.httpsAgent = funcResult.httpsAgent;
453
398
  // If not authenticated, request client to authenticate
454
399
  if (funcResult.requestAuthentication) {
455
- throw new request_error_1.RequestError(funcResult.failMsg || 'Proxy credentials required.', 407);
400
+ throw new RequestError(funcResult.failMsg || 'Proxy credentials required.', 407);
456
401
  }
457
402
  if (funcResult.upstreamProxyUrl) {
458
403
  try {
459
- handlerOpts.upstreamProxyUrlParsed = new node_url_1.URL(funcResult.upstreamProxyUrl);
404
+ handlerOpts.upstreamProxyUrlParsed = new URL(funcResult.upstreamProxyUrl);
460
405
  }
461
406
  catch (error) {
462
407
  throw new Error(`Invalid "upstreamProxyUrl" provided: ${error} (was "${funcResult.upstreamProxyUrl}"`);
463
408
  }
464
- if (!['http:', 'https:', ...exports.SOCKS_PROTOCOLS].includes(handlerOpts.upstreamProxyUrlParsed.protocol)) {
465
- throw new Error(`Invalid "upstreamProxyUrl" provided: URL must have one of the following protocols: "http", "https", ${exports.SOCKS_PROTOCOLS.map((p) => `"${p.replace(':', '')}"`).join(', ')} (was "${funcResult.upstreamProxyUrl}")`);
409
+ if (!['http:', 'https:', ...SOCKS_PROTOCOLS].includes(handlerOpts.upstreamProxyUrlParsed.protocol)) {
410
+ throw new Error(`Invalid "upstreamProxyUrl" provided: URL must have one of the following protocols: "http", "https", ${SOCKS_PROTOCOLS.map((p) => `"${p.replace(':', '')}"`).join(', ')} (was "${funcResult.upstreamProxyUrl}")`);
466
411
  }
467
412
  }
468
413
  if (funcResult.ignoreUpstreamProxyCertificate !== undefined) {
@@ -480,7 +425,7 @@ class Server extends node_events_1.EventEmitter {
480
425
  }
481
426
  }
482
427
  if (handlerOpts.upstreamProxyUrlParsed) {
483
- this.log(proxyChainId, `Using upstream proxy ${(0, redact_url_1.redactUrl)(handlerOpts.upstreamProxyUrlParsed)}`);
428
+ this.log(proxyChainId, `Using upstream proxy ${redactUrl(handlerOpts.upstreamProxyUrlParsed)}`);
484
429
  }
485
430
  return handlerOpts;
486
431
  }
@@ -518,13 +463,13 @@ class Server extends node_events_1.EventEmitter {
518
463
  const headers = Object.fromEntries(Object.entries(caseSensitiveHeaders).map(([name, value]) => [name.toLowerCase(), value]));
519
464
  headers.connection = 'close';
520
465
  headers.date = (new Date()).toUTCString();
521
- headers['content-length'] = String(node_buffer_1.Buffer.byteLength(message));
466
+ headers['content-length'] = String(Buffer.byteLength(message));
522
467
  headers.server = headers.server || this.authRealm;
523
468
  headers['content-type'] = headers['content-type'] || 'text/plain; charset=utf-8';
524
469
  if (statusCode === 407 && !headers['proxy-authenticate']) {
525
470
  headers['proxy-authenticate'] = `Basic realm="${this.authRealm}"`;
526
471
  }
527
- let msg = `HTTP/1.1 ${statusCode} ${node_http_1.default.STATUS_CODES[statusCode] || 'Unknown Status Code'}\r\n`;
472
+ let msg = `HTTP/1.1 ${statusCode} ${http.STATUS_CODES[statusCode] || 'Unknown Status Code'}\r\n`;
528
473
  for (const [key, value] of Object.entries(headers)) {
529
474
  msg += `${key}: ${value}\r\n`;
530
475
  }
@@ -544,12 +489,10 @@ class Server extends node_events_1.EventEmitter {
544
489
  /**
545
490
  * Starts listening at a port specified in the constructor.
546
491
  */
547
- async listen(callback) {
548
- const promise = new Promise((resolve, reject) => {
549
- // Unfortunately server.listen() is not a normal function that fails on error,
550
- // so we need this trickery
492
+ async listen() {
493
+ return new Promise((resolve, reject) => {
551
494
  const onError = (error) => {
552
- this.log(null, `Listen failed: ${error}`);
495
+ this.log(null, `Listen error: ${error}`);
553
496
  removeListeners();
554
497
  reject(error);
555
498
  };
@@ -567,7 +510,6 @@ class Server extends node_events_1.EventEmitter {
567
510
  this.server.on('listening', onListening);
568
511
  this.server.listen(this.port, this.host);
569
512
  });
570
- return (0, nodeify_1.nodeify)(promise, callback);
571
513
  }
572
514
  /**
573
515
  * Gets array of IDs of all active connections.
@@ -582,7 +524,7 @@ class Server extends node_events_1.EventEmitter {
582
524
  const socket = this.connections.get(connectionId);
583
525
  if (!socket)
584
526
  return undefined;
585
- const targetStats = (0, count_target_bytes_1.getTargetStats)(socket);
527
+ const targetStats = getTargetStats(socket);
586
528
  const result = {
587
529
  srcTxBytes: socket.bytesWritten,
588
530
  srcRxBytes: socket.bytesRead,
@@ -616,11 +558,7 @@ class Server extends node_events_1.EventEmitter {
616
558
  * Closes the proxy server.
617
559
  * @param closeConnections If true, pending proxy connections are forcibly closed.
618
560
  */
619
- async close(closeConnections, callback) {
620
- if (typeof closeConnections === 'function') {
621
- callback = closeConnections;
622
- closeConnections = false;
623
- }
561
+ async close(closeConnections = false) {
624
562
  if (closeConnections) {
625
563
  this.closeConnections();
626
564
  }
@@ -628,11 +566,8 @@ class Server extends node_events_1.EventEmitter {
628
566
  const { server } = this;
629
567
  // @ts-expect-error Let's make sure we can't access the server anymore.
630
568
  this.server = null;
631
- const promise = node_util_1.default.promisify(server.close).bind(server)();
632
- return (0, nodeify_1.nodeify)(promise, callback);
569
+ await util.promisify(server.close).bind(server)();
633
570
  }
634
- return (0, nodeify_1.nodeify)(Promise.resolve(), callback);
635
571
  }
636
572
  }
637
- exports.Server = Server;
638
573
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/socket.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
1
  import type net from 'node:net';
4
2
  import type tls from 'node:tls';
5
3
  type AdditionalProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,KAAK,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAEhC,KAAK,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,eAAe,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC"}
package/dist/socket.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=socket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statuses.d.ts","sourceRoot":"","sources":["../src/statuses.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,eAAO,MAAM,qBAAqB;IAC9B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEG,CAAC;AAWX,eAAO,MAAM,8BAA8B,eAAgB,MAAM,iBAAiB,MAAM,6BASvF,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE;IAAC,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;CAM1E,CAAC;AAEX,eAAO,MAAM,6BAA6B,sBAAuB,MAAM,KAAG,CAAA,4BAA4B,EAAC,MAAM,4BAA4B,CASxI,CAAC"}
1
+ {"version":3,"file":"statuses.d.ts","sourceRoot":"","sources":["../src/statuses.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,eAAO,MAAM,qBAAqB;IAC9B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEG,CAAC;AAWX,eAAO,MAAM,8BAA8B,GAAI,YAAY,MAAM,EAAE,eAAe,MAAM,EAAE,gBAAY,WASrG,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE;IAAC,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;CAM1E,CAAC;AAEX,eAAO,MAAM,6BAA6B,GAAI,mBAAmB,MAAM,KAAG,CAAA,OAAO,qBAAqB,EAAC,MAAM,OAAO,qBAAqB,CASxI,CAAC"}
package/dist/statuses.js CHANGED
@@ -1,8 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.socksErrorMessageToStatusCode = exports.errorCodeToStatusCode = exports.createCustomStatusHttpResponse = exports.badGatewayStatusCodes = void 0;
4
- const node_http_1 = require("node:http");
5
- exports.badGatewayStatusCodes = {
1
+ import { STATUS_CODES } from 'node:http';
2
+ export const badGatewayStatusCodes = {
6
3
  /**
7
4
  * Upstream has timed out.
8
5
  */
@@ -40,17 +37,17 @@ exports.badGatewayStatusCodes = {
40
37
  */
41
38
  GENERIC_ERROR: 599,
42
39
  };
43
- node_http_1.STATUS_CODES['590'] = 'Non Successful';
44
- node_http_1.STATUS_CODES['592'] = 'Status Code Out Of Range';
45
- node_http_1.STATUS_CODES['593'] = 'Not Found';
46
- node_http_1.STATUS_CODES['594'] = 'Connection Refused';
47
- node_http_1.STATUS_CODES['595'] = 'Connection Reset';
48
- node_http_1.STATUS_CODES['596'] = 'Broken Pipe';
49
- node_http_1.STATUS_CODES['597'] = 'Auth Failed';
50
- node_http_1.STATUS_CODES['599'] = 'Upstream Error';
51
- const createCustomStatusHttpResponse = (statusCode, statusMessage, message = '') => {
40
+ STATUS_CODES['590'] = 'Non Successful';
41
+ STATUS_CODES['592'] = 'Status Code Out Of Range';
42
+ STATUS_CODES['593'] = 'Not Found';
43
+ STATUS_CODES['594'] = 'Connection Refused';
44
+ STATUS_CODES['595'] = 'Connection Reset';
45
+ STATUS_CODES['596'] = 'Broken Pipe';
46
+ STATUS_CODES['597'] = 'Auth Failed';
47
+ STATUS_CODES['599'] = 'Upstream Error';
48
+ export const createCustomStatusHttpResponse = (statusCode, statusMessage, message = '') => {
52
49
  return [
53
- `HTTP/1.1 ${statusCode} ${statusMessage || node_http_1.STATUS_CODES[statusCode] || 'Unknown Status Code'}`,
50
+ `HTTP/1.1 ${statusCode} ${statusMessage || STATUS_CODES[statusCode] || 'Unknown Status Code'}`,
54
51
  'Connection: close',
55
52
  `Date: ${(new Date()).toUTCString()}`,
56
53
  `Content-Length: ${Buffer.byteLength(message)}`,
@@ -58,24 +55,22 @@ const createCustomStatusHttpResponse = (statusCode, statusMessage, message = '')
58
55
  message,
59
56
  ].join('\r\n');
60
57
  };
61
- exports.createCustomStatusHttpResponse = createCustomStatusHttpResponse;
62
58
  // https://nodejs.org/api/errors.html#common-system-errors
63
- exports.errorCodeToStatusCode = {
64
- ENOTFOUND: exports.badGatewayStatusCodes.NOT_FOUND,
65
- ECONNREFUSED: exports.badGatewayStatusCodes.CONNECTION_REFUSED,
66
- ECONNRESET: exports.badGatewayStatusCodes.CONNECTION_RESET,
67
- EPIPE: exports.badGatewayStatusCodes.BROKEN_PIPE,
68
- ETIMEDOUT: exports.badGatewayStatusCodes.TIMEOUT,
59
+ export const errorCodeToStatusCode = {
60
+ ENOTFOUND: badGatewayStatusCodes.NOT_FOUND,
61
+ ECONNREFUSED: badGatewayStatusCodes.CONNECTION_REFUSED,
62
+ ECONNRESET: badGatewayStatusCodes.CONNECTION_RESET,
63
+ EPIPE: badGatewayStatusCodes.BROKEN_PIPE,
64
+ ETIMEDOUT: badGatewayStatusCodes.TIMEOUT,
69
65
  };
70
- const socksErrorMessageToStatusCode = (socksErrorMessage) => {
66
+ export const socksErrorMessageToStatusCode = (socksErrorMessage) => {
71
67
  switch (socksErrorMessage) {
72
68
  case 'Proxy connection timed out':
73
- return exports.badGatewayStatusCodes.TIMEOUT;
69
+ return badGatewayStatusCodes.TIMEOUT;
74
70
  case 'Socks5 Authentication failed':
75
- return exports.badGatewayStatusCodes.AUTH_FAILED;
71
+ return badGatewayStatusCodes.AUTH_FAILED;
76
72
  default:
77
- return exports.badGatewayStatusCodes.GENERIC_ERROR;
73
+ return badGatewayStatusCodes.GENERIC_ERROR;
78
74
  }
79
75
  };
80
- exports.socksErrorMessageToStatusCode = socksErrorMessageToStatusCode;
81
76
  //# sourceMappingURL=statuses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statuses.js","sourceRoot":"","sources":["../src/statuses.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAI5B,QAAA,qBAAqB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,GAAG;IACZ;;OAEG;IACH,OAAO,EAAE,GAAG;IACZ;;OAEG;IACH,wBAAwB,EAAE,GAAG;IAC7B;;OAEG;IACH,SAAS,EAAE,GAAG;IACd;;OAEG;IACH,kBAAkB,EAAE,GAAG;IACvB;;OAEG;IACH,gBAAgB,EAAE,GAAG;IACrB;;OAEG;IACH,WAAW,EAAE,GAAG;IAChB;;OAEG;IACH,WAAW,EAAE,GAAG;IAChB;;OAEG;IACH,aAAa,EAAE,GAAG;CACZ,CAAC;AAEX,wBAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;AACvC,wBAAY,CAAC,KAAK,CAAC,GAAG,0BAA0B,CAAC;AACjD,wBAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;AAClC,wBAAY,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC;AAC3C,wBAAY,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC;AACzC,wBAAY,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACpC,wBAAY,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACpC,wBAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;AAEhC,MAAM,8BAA8B,GAAG,CAAC,UAAkB,EAAE,aAAqB,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IACtG,OAAO;QACH,YAAY,UAAU,IAAI,aAAa,IAAI,wBAAY,CAAC,UAAU,CAAC,IAAI,qBAAqB,EAAE;QAC9F,mBAAmB;QACnB,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE;QACrC,mBAAmB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC/C,EAAE;QACF,OAAO;KACV,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC,CAAC;AATW,QAAA,8BAA8B,kCASzC;AAEF,0DAA0D;AAC7C,QAAA,qBAAqB,GAAsD;IACpF,SAAS,EAAE,6BAAqB,CAAC,SAAS;IAC1C,YAAY,EAAE,6BAAqB,CAAC,kBAAkB;IACtD,UAAU,EAAE,6BAAqB,CAAC,gBAAgB;IAClD,KAAK,EAAE,6BAAqB,CAAC,WAAW;IACxC,SAAS,EAAE,6BAAqB,CAAC,OAAO;CAClC,CAAC;AAEJ,MAAM,6BAA6B,GAAG,CAAC,iBAAyB,EAAoE,EAAE;IACzI,QAAQ,iBAAiB,EAAE;QACvB,KAAK,4BAA4B;YAC7B,OAAO,6BAAqB,CAAC,OAAO,CAAC;QACzC,KAAK,8BAA8B;YAC/B,OAAO,6BAAqB,CAAC,WAAW,CAAC;QAC7C;YACI,OAAO,6BAAqB,CAAC,aAAa,CAAC;KAClD;AACL,CAAC,CAAC;AATW,QAAA,6BAA6B,iCASxC"}
1
+ {"version":3,"file":"statuses.js","sourceRoot":"","sources":["../src/statuses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,GAAG;IACZ;;OAEG;IACH,OAAO,EAAE,GAAG;IACZ;;OAEG;IACH,wBAAwB,EAAE,GAAG;IAC7B;;OAEG;IACH,SAAS,EAAE,GAAG;IACd;;OAEG;IACH,kBAAkB,EAAE,GAAG;IACvB;;OAEG;IACH,gBAAgB,EAAE,GAAG;IACrB;;OAEG;IACH,WAAW,EAAE,GAAG;IAChB;;OAEG;IACH,WAAW,EAAE,GAAG;IAChB;;OAEG;IACH,aAAa,EAAE,GAAG;CACZ,CAAC;AAEX,YAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;AACvC,YAAY,CAAC,KAAK,CAAC,GAAG,0BAA0B,CAAC;AACjD,YAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;AAClC,YAAY,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC;AAC3C,YAAY,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC;AACzC,YAAY,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACpC,YAAY,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACpC,YAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;AAEvC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,UAAkB,EAAE,aAAqB,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IACtG,OAAO;QACH,YAAY,UAAU,IAAI,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,qBAAqB,EAAE;QAC9F,mBAAmB;QACnB,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE;QACrC,mBAAmB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC/C,EAAE;QACF,OAAO;KACV,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAsD;IACpF,SAAS,EAAE,qBAAqB,CAAC,SAAS;IAC1C,YAAY,EAAE,qBAAqB,CAAC,kBAAkB;IACtD,UAAU,EAAE,qBAAqB,CAAC,gBAAgB;IAClD,KAAK,EAAE,qBAAqB,CAAC,WAAW;IACxC,SAAS,EAAE,qBAAqB,CAAC,OAAO;CAClC,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,iBAAyB,EAAoE,EAAE;IACzI,QAAQ,iBAAiB,EAAE,CAAC;QACxB,KAAK,4BAA4B;YAC7B,OAAO,qBAAqB,CAAC,OAAO,CAAC;QACzC,KAAK,8BAA8B;YAC/B,OAAO,qBAAqB,CAAC,WAAW,CAAC;QAC7C;YACI,OAAO,qBAAqB,CAAC,aAAa,CAAC;IACnD,CAAC;AACL,CAAC,CAAC"}