@push.rocks/smartproxy 3.41.8 → 4.1.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 +2 -2
- package/dist_ts/classes.pp.acmemanager.d.ts +34 -0
- package/dist_ts/classes.pp.acmemanager.js +123 -0
- package/dist_ts/classes.pp.connectionhandler.d.ts +39 -0
- package/dist_ts/classes.pp.connectionhandler.js +693 -0
- package/dist_ts/classes.pp.connectionmanager.d.ts +78 -0
- package/dist_ts/classes.pp.connectionmanager.js +378 -0
- package/dist_ts/classes.pp.domainconfigmanager.d.ts +55 -0
- package/dist_ts/classes.pp.domainconfigmanager.js +103 -0
- package/dist_ts/classes.pp.interfaces.d.ts +109 -0
- package/dist_ts/classes.pp.interfaces.js +2 -0
- package/dist_ts/classes.pp.networkproxybridge.d.ts +43 -0
- package/dist_ts/classes.pp.networkproxybridge.js +211 -0
- package/dist_ts/classes.pp.portproxy.d.ts +48 -0
- package/dist_ts/classes.pp.portproxy.js +268 -0
- package/dist_ts/classes.pp.portrangemanager.d.ts +56 -0
- package/dist_ts/classes.pp.portrangemanager.js +179 -0
- package/dist_ts/classes.pp.securitymanager.d.ts +47 -0
- package/dist_ts/classes.pp.securitymanager.js +126 -0
- package/dist_ts/classes.pp.snihandler.d.ts +198 -0
- package/dist_ts/classes.pp.snihandler.js +1210 -0
- package/dist_ts/classes.pp.timeoutmanager.d.ts +47 -0
- package/dist_ts/classes.pp.timeoutmanager.js +154 -0
- package/dist_ts/classes.pp.tlsmanager.d.ts +57 -0
- package/dist_ts/classes.pp.tlsmanager.js +132 -0
- package/dist_ts/index.d.ts +2 -2
- package/dist_ts/index.js +3 -3
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.pp.acmemanager.ts +149 -0
- package/ts/classes.pp.connectionhandler.ts +982 -0
- package/ts/classes.pp.connectionmanager.ts +446 -0
- package/ts/classes.pp.domainconfigmanager.ts +123 -0
- package/ts/classes.pp.interfaces.ts +136 -0
- package/ts/classes.pp.networkproxybridge.ts +258 -0
- package/ts/classes.pp.portproxy.ts +344 -0
- package/ts/classes.pp.portrangemanager.ts +214 -0
- package/ts/classes.pp.securitymanager.ts +147 -0
- package/ts/{classes.snihandler.ts → classes.pp.snihandler.ts} +1 -1
- package/ts/classes.pp.timeoutmanager.ts +190 -0
- package/ts/classes.pp.tlsmanager.ts +206 -0
- package/ts/index.ts +2 -2
- package/ts/classes.portproxy.ts +0 -2503
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/smartproxy',
|
|
6
|
-
version: '
|
|
6
|
+
version: '4.1.0',
|
|
7
7
|
description: 'A powerful proxy package that effectively handles high traffic, with features such as SSL/TLS support, port proxying, WebSocket handling, dynamic routing with authentication options, and automatic ACME certificate management.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLG1PQUFtTztDQUNqUCxDQUFBIn0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { IPortProxySettings } from './classes.pp.interfaces.js';
|
|
2
|
+
import { NetworkProxyBridge } from './classes.pp.networkproxybridge.js';
|
|
3
|
+
/**
|
|
4
|
+
* Manages ACME certificate operations
|
|
5
|
+
*/
|
|
6
|
+
export declare class AcmeManager {
|
|
7
|
+
private settings;
|
|
8
|
+
private networkProxyBridge;
|
|
9
|
+
constructor(settings: IPortProxySettings, networkProxyBridge: NetworkProxyBridge);
|
|
10
|
+
/**
|
|
11
|
+
* Get current ACME settings
|
|
12
|
+
*/
|
|
13
|
+
getAcmeSettings(): IPortProxySettings['acme'];
|
|
14
|
+
/**
|
|
15
|
+
* Check if ACME is enabled
|
|
16
|
+
*/
|
|
17
|
+
isAcmeEnabled(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Update ACME certificate settings
|
|
20
|
+
*/
|
|
21
|
+
updateAcmeSettings(acmeSettings: IPortProxySettings['acme']): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Request a certificate for a specific domain
|
|
24
|
+
*/
|
|
25
|
+
requestCertificate(domain: string): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Basic domain validation
|
|
28
|
+
*/
|
|
29
|
+
private isValidDomain;
|
|
30
|
+
/**
|
|
31
|
+
* Get eligible domains for ACME certificates
|
|
32
|
+
*/
|
|
33
|
+
getEligibleDomains(): string[];
|
|
34
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { NetworkProxyBridge } from './classes.pp.networkproxybridge.js';
|
|
2
|
+
/**
|
|
3
|
+
* Manages ACME certificate operations
|
|
4
|
+
*/
|
|
5
|
+
export class AcmeManager {
|
|
6
|
+
constructor(settings, networkProxyBridge) {
|
|
7
|
+
this.settings = settings;
|
|
8
|
+
this.networkProxyBridge = networkProxyBridge;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get current ACME settings
|
|
12
|
+
*/
|
|
13
|
+
getAcmeSettings() {
|
|
14
|
+
return this.settings.acme;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check if ACME is enabled
|
|
18
|
+
*/
|
|
19
|
+
isAcmeEnabled() {
|
|
20
|
+
return !!this.settings.acme?.enabled;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Update ACME certificate settings
|
|
24
|
+
*/
|
|
25
|
+
async updateAcmeSettings(acmeSettings) {
|
|
26
|
+
console.log('Updating ACME certificate settings');
|
|
27
|
+
// Check if enabled state is changing
|
|
28
|
+
const enabledChanging = this.settings.acme?.enabled !== acmeSettings.enabled;
|
|
29
|
+
// Update settings
|
|
30
|
+
this.settings.acme = {
|
|
31
|
+
...this.settings.acme,
|
|
32
|
+
...acmeSettings,
|
|
33
|
+
};
|
|
34
|
+
// Get NetworkProxy instance
|
|
35
|
+
const networkProxy = this.networkProxyBridge.getNetworkProxy();
|
|
36
|
+
if (!networkProxy) {
|
|
37
|
+
console.log('Cannot update ACME settings - NetworkProxy not initialized');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
// If enabled state changed, we need to restart NetworkProxy
|
|
42
|
+
if (enabledChanging) {
|
|
43
|
+
console.log(`ACME enabled state changed to: ${acmeSettings.enabled}`);
|
|
44
|
+
// Stop the current NetworkProxy
|
|
45
|
+
await this.networkProxyBridge.stop();
|
|
46
|
+
// Reinitialize with new settings
|
|
47
|
+
await this.networkProxyBridge.initialize();
|
|
48
|
+
// Start NetworkProxy with new settings
|
|
49
|
+
await this.networkProxyBridge.start();
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Just update the settings in the existing NetworkProxy
|
|
53
|
+
console.log('Updating ACME settings in NetworkProxy without restart');
|
|
54
|
+
// Update settings in NetworkProxy
|
|
55
|
+
if (networkProxy.options && networkProxy.options.acme) {
|
|
56
|
+
networkProxy.options.acme = { ...this.settings.acme };
|
|
57
|
+
// For certificate renewals, we might want to trigger checks with the new settings
|
|
58
|
+
if (acmeSettings.renewThresholdDays !== undefined) {
|
|
59
|
+
console.log(`Setting new renewal threshold to ${acmeSettings.renewThresholdDays} days`);
|
|
60
|
+
networkProxy.options.acme.renewThresholdDays = acmeSettings.renewThresholdDays;
|
|
61
|
+
}
|
|
62
|
+
// Update other settings that might affect certificate operations
|
|
63
|
+
if (acmeSettings.useProduction !== undefined) {
|
|
64
|
+
console.log(`Setting ACME to ${acmeSettings.useProduction ? 'production' : 'staging'} mode`);
|
|
65
|
+
}
|
|
66
|
+
if (acmeSettings.autoRenew !== undefined) {
|
|
67
|
+
console.log(`Setting auto-renewal to ${acmeSettings.autoRenew ? 'enabled' : 'disabled'}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
console.log(`Error updating ACME settings: ${err}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Request a certificate for a specific domain
|
|
78
|
+
*/
|
|
79
|
+
async requestCertificate(domain) {
|
|
80
|
+
// Validate domain format
|
|
81
|
+
if (!this.isValidDomain(domain)) {
|
|
82
|
+
console.log(`Invalid domain format: ${domain}`);
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
// Delegate to NetworkProxyManager
|
|
86
|
+
return this.networkProxyBridge.requestCertificate(domain);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Basic domain validation
|
|
90
|
+
*/
|
|
91
|
+
isValidDomain(domain) {
|
|
92
|
+
// Very basic domain validation
|
|
93
|
+
if (!domain || domain.length === 0) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
// Check for wildcard domains (they can't get ACME certs)
|
|
97
|
+
if (domain.includes('*')) {
|
|
98
|
+
console.log(`Wildcard domains like "${domain}" are not supported for ACME certificates`);
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
// Check if domain has at least one dot and no invalid characters
|
|
102
|
+
const validDomainRegex = /^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
|
103
|
+
if (!validDomainRegex.test(domain)) {
|
|
104
|
+
console.log(`Domain "${domain}" has invalid format`);
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get eligible domains for ACME certificates
|
|
111
|
+
*/
|
|
112
|
+
getEligibleDomains() {
|
|
113
|
+
// Collect all eligible domains from domain configs
|
|
114
|
+
const domains = [];
|
|
115
|
+
for (const config of this.settings.domainConfigs) {
|
|
116
|
+
// Skip domains that can't be used with ACME
|
|
117
|
+
const eligibleDomains = config.domains.filter(domain => !domain.includes('*') && this.isValidDomain(domain));
|
|
118
|
+
domains.push(...eligibleDomains);
|
|
119
|
+
}
|
|
120
|
+
return domains;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wcC5hY21lbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMucHAuYWNtZW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFeEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNVLFFBQTRCLEVBQzVCLGtCQUFzQztRQUR0QyxhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM1Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQzdDLENBQUM7SUFFSjs7T0FFRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBd0M7UUFDdEUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBRWxELHFDQUFxQztRQUNyQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUU3RSxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDckIsR0FBRyxZQUFZO1NBQ2hCLENBQUM7UUFFRiw0QkFBNEI7UUFDNUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRS9ELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDREQUE0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
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import type { IPortProxySettings } from './classes.pp.interfaces.js';
|
|
3
|
+
import { ConnectionManager } from './classes.pp.connectionmanager.js';
|
|
4
|
+
import { SecurityManager } from './classes.pp.securitymanager.js';
|
|
5
|
+
import { DomainConfigManager } from './classes.pp.domainconfigmanager.js';
|
|
6
|
+
import { TlsManager } from './classes.pp.tlsmanager.js';
|
|
7
|
+
import { NetworkProxyBridge } from './classes.pp.networkproxybridge.js';
|
|
8
|
+
import { TimeoutManager } from './classes.pp.timeoutmanager.js';
|
|
9
|
+
import { PortRangeManager } from './classes.pp.portrangemanager.js';
|
|
10
|
+
/**
|
|
11
|
+
* Handles new connection processing and setup logic
|
|
12
|
+
*/
|
|
13
|
+
export declare class ConnectionHandler {
|
|
14
|
+
private settings;
|
|
15
|
+
private connectionManager;
|
|
16
|
+
private securityManager;
|
|
17
|
+
private domainConfigManager;
|
|
18
|
+
private tlsManager;
|
|
19
|
+
private networkProxyBridge;
|
|
20
|
+
private timeoutManager;
|
|
21
|
+
private portRangeManager;
|
|
22
|
+
constructor(settings: IPortProxySettings, connectionManager: ConnectionManager, securityManager: SecurityManager, domainConfigManager: DomainConfigManager, tlsManager: TlsManager, networkProxyBridge: NetworkProxyBridge, timeoutManager: TimeoutManager, portRangeManager: PortRangeManager);
|
|
23
|
+
/**
|
|
24
|
+
* Handle a new incoming connection
|
|
25
|
+
*/
|
|
26
|
+
handleConnection(socket: plugins.net.Socket): void;
|
|
27
|
+
/**
|
|
28
|
+
* Handle a connection that should be forwarded to NetworkProxy
|
|
29
|
+
*/
|
|
30
|
+
private handleNetworkProxyConnection;
|
|
31
|
+
/**
|
|
32
|
+
* Handle a standard (non-NetworkProxy) connection
|
|
33
|
+
*/
|
|
34
|
+
private handleStandardConnection;
|
|
35
|
+
/**
|
|
36
|
+
* Sets up a direct connection to the target
|
|
37
|
+
*/
|
|
38
|
+
private setupDirectConnection;
|
|
39
|
+
}
|