@push.rocks/smartproxy 3.25.3 → 3.26.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_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.portproxy.d.ts +6 -18
- package/dist_ts/classes.portproxy.js +291 -271
- package/package.json +1 -1
- package/readme.md +108 -18
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.portproxy.ts +327 -308
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/smartproxy',
|
|
6
|
-
version: '3.
|
|
6
|
+
version: '3.26.0',
|
|
7
7
|
description: 'A powerful proxy package that effectively handles high traffic, with features such as SSL/TLS support, port proxying, WebSocket handling, and dynamic routing with authentication options.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLDRMQUE0TDtDQUMxTSxDQUFBIn0=
|
|
@@ -9,11 +9,8 @@ export interface IDomainConfig {
|
|
|
9
9
|
from: number;
|
|
10
10
|
to: number;
|
|
11
11
|
}>;
|
|
12
|
-
|
|
13
|
-
wsTimeout?: number;
|
|
12
|
+
connectionTimeout?: number;
|
|
14
13
|
}
|
|
15
|
-
/** Connection protocol types for timeout management */
|
|
16
|
-
export type ProtocolType = 'http' | 'websocket' | 'https' | 'tls' | 'unknown';
|
|
17
14
|
/** Port proxy settings including global allowed port ranges */
|
|
18
15
|
export interface IPortProxySettings extends plugins.tls.TlsOptions {
|
|
19
16
|
fromPort: number;
|
|
@@ -28,9 +25,7 @@ export interface IPortProxySettings extends plugins.tls.TlsOptions {
|
|
|
28
25
|
socketTimeout?: number;
|
|
29
26
|
inactivityCheckInterval?: number;
|
|
30
27
|
maxConnectionLifetime?: number;
|
|
31
|
-
|
|
32
|
-
wsConnectionTimeout?: number;
|
|
33
|
-
httpKeepAliveTimeout?: number;
|
|
28
|
+
inactivityTimeout?: number;
|
|
34
29
|
gracefulShutdownTimeout?: number;
|
|
35
30
|
globalPortRanges: Array<{
|
|
36
31
|
from: number;
|
|
@@ -43,8 +38,9 @@ export interface IPortProxySettings extends plugins.tls.TlsOptions {
|
|
|
43
38
|
maxPendingDataSize?: number;
|
|
44
39
|
disableInactivityCheck?: boolean;
|
|
45
40
|
enableKeepAliveProbes?: boolean;
|
|
46
|
-
enableProtocolDetection?: boolean;
|
|
47
41
|
enableDetailedLogging?: boolean;
|
|
42
|
+
enableTlsDebugLogging?: boolean;
|
|
43
|
+
enableRandomizedTimeouts?: boolean;
|
|
48
44
|
maxConnectionsPerIP?: number;
|
|
49
45
|
connectionRateLimitPerMinute?: number;
|
|
50
46
|
}
|
|
@@ -80,17 +76,9 @@ export declare class PortProxy {
|
|
|
80
76
|
*/
|
|
81
77
|
private incrementTerminationStat;
|
|
82
78
|
/**
|
|
83
|
-
* Get
|
|
79
|
+
* Get connection timeout based on domain config or default settings
|
|
84
80
|
*/
|
|
85
|
-
private
|
|
86
|
-
/**
|
|
87
|
-
* Detect protocol and update connection record
|
|
88
|
-
*/
|
|
89
|
-
private detectProtocol;
|
|
90
|
-
/**
|
|
91
|
-
* Parse HTTP headers for keep-alive and other connection info
|
|
92
|
-
*/
|
|
93
|
-
private parseHttpHeaders;
|
|
81
|
+
private getConnectionTimeout;
|
|
94
82
|
/**
|
|
95
83
|
* Cleans up a connection record.
|
|
96
84
|
* Destroys both incoming and outgoing sockets, clears timers, and removes the record.
|