@push.rocks/smartproxy 19.3.2 → 19.3.3
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/forwarding/factory/forwarding-factory.js +29 -1
- package/dist_ts/http/index.d.ts +1 -3
- package/dist_ts/http/index.js +4 -10
- package/dist_ts/http/models/http-types.d.ts +4 -91
- package/dist_ts/http/models/http-types.js +5 -60
- package/dist_ts/http/router/proxy-router.d.ts +1 -1
- package/dist_ts/http/router/route-router.d.ts +1 -1
- package/dist_ts/index.d.ts +9 -7
- package/dist_ts/index.js +10 -7
- package/dist_ts/proxies/{network-proxy → http-proxy}/certificate-manager.d.ts +2 -2
- package/dist_ts/proxies/{network-proxy → http-proxy}/certificate-manager.js +1 -1
- package/dist_ts/proxies/{network-proxy → http-proxy}/connection-pool.d.ts +2 -2
- package/dist_ts/proxies/http-proxy/connection-pool.js +210 -0
- package/dist_ts/proxies/http-proxy/context-creator.js +108 -0
- package/dist_ts/proxies/{network-proxy → http-proxy}/function-cache.js +1 -1
- package/dist_ts/proxies/http-proxy/handlers/index.d.ts +5 -0
- package/dist_ts/proxies/http-proxy/handlers/index.js +6 -0
- package/dist_ts/proxies/http-proxy/handlers/redirect-handler.d.ts +18 -0
- package/dist_ts/proxies/http-proxy/handlers/redirect-handler.js +78 -0
- package/dist_ts/proxies/http-proxy/handlers/static-handler.d.ts +19 -0
- package/dist_ts/proxies/http-proxy/handlers/static-handler.js +203 -0
- package/dist_ts/proxies/{network-proxy/network-proxy.d.ts → http-proxy/http-proxy.d.ts} +10 -9
- package/dist_ts/proxies/{network-proxy/network-proxy.js → http-proxy/http-proxy.js} +13 -12
- package/dist_ts/proxies/{network-proxy → http-proxy}/http-request-handler.js +1 -1
- package/dist_ts/proxies/http-proxy/http2-request-handler.js +201 -0
- package/dist_ts/proxies/{network-proxy → http-proxy}/index.d.ts +2 -2
- package/dist_ts/proxies/http-proxy/index.js +12 -0
- package/dist_ts/proxies/http-proxy/models/http-types.d.ts +119 -0
- package/dist_ts/proxies/http-proxy/models/http-types.js +112 -0
- package/dist_ts/proxies/http-proxy/models/index.d.ts +5 -0
- package/dist_ts/proxies/http-proxy/models/index.js +6 -0
- package/dist_ts/proxies/{network-proxy → http-proxy}/models/types.d.ts +2 -2
- package/dist_ts/proxies/http-proxy/models/types.js +276 -0
- package/dist_ts/proxies/{network-proxy → http-proxy}/request-handler.d.ts +3 -3
- package/dist_ts/proxies/{network-proxy → http-proxy}/request-handler.js +2 -2
- package/dist_ts/proxies/http-proxy/security-manager.js +255 -0
- package/dist_ts/proxies/{network-proxy → http-proxy}/websocket-handler.d.ts +3 -3
- package/dist_ts/proxies/{network-proxy → http-proxy}/websocket-handler.js +2 -2
- package/dist_ts/proxies/index.d.ts +5 -5
- package/dist_ts/proxies/index.js +5 -5
- package/dist_ts/proxies/smart-proxy/certificate-manager.d.ts +4 -4
- package/dist_ts/proxies/smart-proxy/certificate-manager.js +11 -11
- package/dist_ts/proxies/smart-proxy/http-proxy-bridge.d.ts +41 -0
- package/dist_ts/proxies/smart-proxy/http-proxy-bridge.js +121 -0
- package/dist_ts/proxies/smart-proxy/index.d.ts +2 -1
- package/dist_ts/proxies/smart-proxy/index.js +4 -2
- package/dist_ts/proxies/smart-proxy/models/interfaces.d.ts +2 -2
- package/dist_ts/proxies/smart-proxy/port-manager.js +3 -3
- package/dist_ts/proxies/smart-proxy/route-connection-handler.d.ts +3 -3
- package/dist_ts/proxies/smart-proxy/route-connection-handler.js +24 -265
- package/dist_ts/proxies/smart-proxy/smart-proxy.d.ts +1 -1
- package/dist_ts/proxies/smart-proxy/smart-proxy.js +25 -25
- package/dist_ts/routing/index.d.ts +5 -0
- package/dist_ts/routing/index.js +8 -0
- package/dist_ts/routing/models/http-types.d.ts +6 -0
- package/dist_ts/routing/models/http-types.js +7 -0
- package/dist_ts/routing/router/index.d.ts +8 -0
- package/dist_ts/routing/router/index.js +7 -0
- package/dist_ts/{classes.router.d.ts → routing/router/proxy-router.d.ts} +14 -11
- package/dist_ts/{classes.router.js → routing/router/proxy-router.js} +2 -2
- package/dist_ts/routing/router/route-router.d.ts +108 -0
- package/dist_ts/routing/router/route-router.js +393 -0
- package/package.json +1 -1
- package/readme.md +12 -12
- package/readme.plan.md +152 -257
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/forwarding/factory/forwarding-factory.ts +28 -0
- package/ts/index.ts +13 -9
- package/ts/proxies/{network-proxy → http-proxy}/certificate-manager.ts +2 -2
- package/ts/proxies/{network-proxy → http-proxy}/connection-pool.ts +2 -2
- package/ts/proxies/http-proxy/handlers/index.ts +6 -0
- package/ts/proxies/http-proxy/handlers/redirect-handler.ts +105 -0
- package/ts/proxies/http-proxy/handlers/static-handler.ts +251 -0
- package/ts/proxies/{network-proxy/network-proxy.ts → http-proxy/http-proxy.ts} +15 -14
- package/ts/proxies/{network-proxy → http-proxy}/index.ts +3 -3
- package/ts/proxies/http-proxy/models/http-types.ts +165 -0
- package/ts/proxies/http-proxy/models/index.ts +5 -0
- package/ts/proxies/{network-proxy → http-proxy}/models/types.ts +2 -2
- package/ts/proxies/{network-proxy → http-proxy}/request-handler.ts +3 -3
- package/ts/proxies/{network-proxy → http-proxy}/websocket-handler.ts +3 -3
- package/ts/proxies/index.ts +7 -7
- package/ts/proxies/smart-proxy/certificate-manager.ts +10 -10
- package/ts/proxies/smart-proxy/{network-proxy-bridge.ts → http-proxy-bridge.ts} +44 -44
- package/ts/proxies/smart-proxy/index.ts +4 -1
- package/ts/proxies/smart-proxy/models/interfaces.ts +3 -3
- package/ts/proxies/smart-proxy/port-manager.ts +2 -2
- package/ts/proxies/smart-proxy/route-connection-handler.ts +23 -307
- package/ts/proxies/smart-proxy/smart-proxy.ts +25 -25
- package/ts/routing/index.ts +9 -0
- package/ts/routing/models/http-types.ts +6 -0
- package/ts/{http → routing}/router/proxy-router.ts +1 -1
- package/ts/{http → routing}/router/route-router.ts +1 -1
- package/dist_ts/certificate/acme/acme-factory.d.ts +0 -17
- package/dist_ts/certificate/acme/acme-factory.js +0 -40
- package/dist_ts/certificate/acme/challenge-handler.d.ts +0 -44
- package/dist_ts/certificate/acme/challenge-handler.js +0 -92
- package/dist_ts/certificate/acme/index.d.ts +0 -4
- package/dist_ts/certificate/acme/index.js +0 -5
- package/dist_ts/certificate/certificate-manager.d.ts +0 -150
- package/dist_ts/certificate/certificate-manager.js +0 -505
- package/dist_ts/certificate/events/certificate-events.d.ts +0 -33
- package/dist_ts/certificate/events/certificate-events.js +0 -38
- package/dist_ts/certificate/events/simplified-events.d.ts +0 -56
- package/dist_ts/certificate/events/simplified-events.js +0 -13
- package/dist_ts/certificate/index.d.ts +0 -30
- package/dist_ts/certificate/index.js +0 -37
- package/dist_ts/certificate/models/certificate-errors.d.ts +0 -69
- package/dist_ts/certificate/models/certificate-errors.js +0 -141
- package/dist_ts/certificate/models/certificate-strategy.d.ts +0 -60
- package/dist_ts/certificate/models/certificate-strategy.js +0 -73
- package/dist_ts/certificate/models/certificate-types.d.ts +0 -97
- package/dist_ts/certificate/models/certificate-types.js +0 -2
- package/dist_ts/certificate/providers/cert-provisioner.d.ts +0 -119
- package/dist_ts/certificate/providers/cert-provisioner.js +0 -422
- package/dist_ts/certificate/providers/index.d.ts +0 -4
- package/dist_ts/certificate/providers/index.js +0 -5
- package/dist_ts/certificate/simplified-certificate-manager.d.ts +0 -150
- package/dist_ts/certificate/simplified-certificate-manager.js +0 -501
- package/dist_ts/certificate/storage/file-storage.d.ts +0 -66
- package/dist_ts/certificate/storage/file-storage.js +0 -194
- package/dist_ts/certificate/storage/index.d.ts +0 -4
- package/dist_ts/certificate/storage/index.js +0 -5
- package/dist_ts/certificate/utils/certificate-helpers.d.ts +0 -17
- package/dist_ts/certificate/utils/certificate-helpers.js +0 -45
- package/dist_ts/classes.iptablesproxy.d.ts +0 -112
- package/dist_ts/classes.iptablesproxy.js +0 -765
- package/dist_ts/classes.networkproxy.d.ts +0 -243
- package/dist_ts/classes.networkproxy.js +0 -1424
- package/dist_ts/classes.nftablesproxy.d.ts +0 -219
- package/dist_ts/classes.nftablesproxy.js +0 -1542
- package/dist_ts/classes.port80handler.d.ts +0 -215
- package/dist_ts/classes.port80handler.js +0 -736
- package/dist_ts/classes.portproxy.d.ts +0 -171
- package/dist_ts/classes.portproxy.js +0 -1802
- package/dist_ts/classes.pp.acmemanager.d.ts +0 -34
- package/dist_ts/classes.pp.acmemanager.js +0 -123
- package/dist_ts/classes.pp.connectionhandler.d.ts +0 -39
- package/dist_ts/classes.pp.connectionhandler.js +0 -754
- package/dist_ts/classes.pp.connectionmanager.d.ts +0 -78
- package/dist_ts/classes.pp.connectionmanager.js +0 -378
- package/dist_ts/classes.pp.domainconfigmanager.d.ts +0 -55
- package/dist_ts/classes.pp.domainconfigmanager.js +0 -103
- package/dist_ts/classes.pp.interfaces.d.ts +0 -133
- package/dist_ts/classes.pp.interfaces.js +0 -2
- package/dist_ts/classes.pp.networkproxybridge.d.ts +0 -57
- package/dist_ts/classes.pp.networkproxybridge.js +0 -306
- package/dist_ts/classes.pp.portproxy.d.ts +0 -64
- package/dist_ts/classes.pp.portproxy.js +0 -567
- package/dist_ts/classes.pp.portrangemanager.d.ts +0 -56
- package/dist_ts/classes.pp.portrangemanager.js +0 -179
- package/dist_ts/classes.pp.securitymanager.d.ts +0 -47
- package/dist_ts/classes.pp.securitymanager.js +0 -126
- package/dist_ts/classes.pp.snihandler.d.ts +0 -153
- package/dist_ts/classes.pp.snihandler.js +0 -1053
- package/dist_ts/classes.pp.timeoutmanager.d.ts +0 -47
- package/dist_ts/classes.pp.timeoutmanager.js +0 -154
- package/dist_ts/classes.pp.tlsalert.d.ts +0 -149
- package/dist_ts/classes.pp.tlsalert.js +0 -225
- package/dist_ts/classes.pp.tlsmanager.d.ts +0 -57
- package/dist_ts/classes.pp.tlsmanager.js +0 -132
- package/dist_ts/classes.snihandler.d.ts +0 -198
- package/dist_ts/classes.snihandler.js +0 -1210
- package/dist_ts/classes.sslredirect.d.ts +0 -8
- package/dist_ts/classes.sslredirect.js +0 -28
- package/dist_ts/common/acmeFactory.d.ts +0 -9
- package/dist_ts/common/acmeFactory.js +0 -20
- package/dist_ts/common/port80-adapter.d.ts +0 -11
- package/dist_ts/common/port80-adapter.js +0 -87
- package/dist_ts/examples/forwarding-example.d.ts +0 -1
- package/dist_ts/examples/forwarding-example.js +0 -96
- package/dist_ts/forwarding/config/domain-config.d.ts +0 -12
- package/dist_ts/forwarding/config/domain-config.js +0 -12
- package/dist_ts/forwarding/config/domain-manager.d.ts +0 -86
- package/dist_ts/forwarding/config/domain-manager.js +0 -242
- package/dist_ts/helpers.certificates.d.ts +0 -5
- package/dist_ts/helpers.certificates.js +0 -23
- package/dist_ts/http/port80/acme-interfaces.d.ts +0 -108
- package/dist_ts/http/port80/acme-interfaces.js +0 -51
- package/dist_ts/http/port80/challenge-responder.d.ts +0 -53
- package/dist_ts/http/port80/challenge-responder.js +0 -203
- package/dist_ts/http/port80/index.d.ts +0 -6
- package/dist_ts/http/port80/index.js +0 -9
- package/dist_ts/http/port80/port80-handler.d.ts +0 -136
- package/dist_ts/http/port80/port80-handler.js +0 -592
- package/dist_ts/http/redirects/index.d.ts +0 -4
- package/dist_ts/http/redirects/index.js +0 -5
- package/dist_ts/networkproxy/classes.np.certificatemanager.d.ts +0 -77
- package/dist_ts/networkproxy/classes.np.certificatemanager.js +0 -372
- package/dist_ts/networkproxy/classes.np.connectionpool.d.ts +0 -47
- package/dist_ts/networkproxy/classes.np.connectionpool.js +0 -210
- package/dist_ts/networkproxy/classes.np.networkproxy.d.ts +0 -118
- package/dist_ts/networkproxy/classes.np.networkproxy.js +0 -387
- package/dist_ts/networkproxy/classes.np.requesthandler.d.ts +0 -56
- package/dist_ts/networkproxy/classes.np.requesthandler.js +0 -393
- package/dist_ts/networkproxy/classes.np.types.d.ts +0 -83
- package/dist_ts/networkproxy/classes.np.types.js +0 -35
- package/dist_ts/networkproxy/classes.np.websockethandler.d.ts +0 -38
- package/dist_ts/networkproxy/classes.np.websockethandler.js +0 -188
- package/dist_ts/networkproxy/index.d.ts +0 -1
- package/dist_ts/networkproxy/index.js +0 -4
- package/dist_ts/nfttablesproxy/classes.nftablesproxy.d.ts +0 -219
- package/dist_ts/nfttablesproxy/classes.nftablesproxy.js +0 -1542
- package/dist_ts/port80handler/classes.port80handler.d.ts +0 -10
- package/dist_ts/port80handler/classes.port80handler.js +0 -16
- package/dist_ts/proxies/network-proxy/connection-pool.js +0 -210
- package/dist_ts/proxies/network-proxy/context-creator.js +0 -108
- package/dist_ts/proxies/network-proxy/http2-request-handler.js +0 -201
- package/dist_ts/proxies/network-proxy/index.js +0 -12
- package/dist_ts/proxies/network-proxy/models/index.d.ts +0 -4
- package/dist_ts/proxies/network-proxy/models/index.js +0 -5
- package/dist_ts/proxies/network-proxy/models/types.js +0 -276
- package/dist_ts/proxies/network-proxy/security-manager.js +0 -255
- package/dist_ts/proxies/network-proxy/simplified-certificate-bridge.d.ts +0 -48
- package/dist_ts/proxies/network-proxy/simplified-certificate-bridge.js +0 -76
- package/dist_ts/proxies/smart-proxy/connection-handler.d.ts +0 -39
- package/dist_ts/proxies/smart-proxy/connection-handler.js +0 -894
- package/dist_ts/proxies/smart-proxy/domain-config-manager.d.ts +0 -110
- package/dist_ts/proxies/smart-proxy/domain-config-manager.js +0 -386
- package/dist_ts/proxies/smart-proxy/legacy-smart-proxy.d.ts +0 -168
- package/dist_ts/proxies/smart-proxy/legacy-smart-proxy.js +0 -642
- package/dist_ts/proxies/smart-proxy/models/simplified-smartproxy-config.d.ts +0 -65
- package/dist_ts/proxies/smart-proxy/models/simplified-smartproxy-config.js +0 -31
- package/dist_ts/proxies/smart-proxy/models/smartproxy-options.d.ts +0 -102
- package/dist_ts/proxies/smart-proxy/models/smartproxy-options.js +0 -73
- package/dist_ts/proxies/smart-proxy/network-proxy-bridge.d.ts +0 -41
- package/dist_ts/proxies/smart-proxy/network-proxy-bridge.js +0 -121
- package/dist_ts/proxies/smart-proxy/port-range-manager.d.ts +0 -56
- package/dist_ts/proxies/smart-proxy/port-range-manager.js +0 -176
- package/dist_ts/proxies/smart-proxy/route-helpers/index.d.ts +0 -9
- package/dist_ts/proxies/smart-proxy/route-helpers/index.js +0 -11
- package/dist_ts/proxies/smart-proxy/route-helpers.d.ts +0 -7
- package/dist_ts/proxies/smart-proxy/route-helpers.js +0 -9
- package/dist_ts/proxies/smart-proxy/simplified-smart-proxy.d.ts +0 -41
- package/dist_ts/proxies/smart-proxy/simplified-smart-proxy.js +0 -132
- package/dist_ts/proxies/smart-proxy/utils/route-migration-utils.d.ts +0 -51
- package/dist_ts/proxies/smart-proxy/utils/route-migration-utils.js +0 -124
- package/dist_ts/redirect/classes.redirect.d.ts +0 -96
- package/dist_ts/redirect/classes.redirect.js +0 -194
- package/dist_ts/smartproxy/classes.pp.certprovisioner.d.ts +0 -54
- package/dist_ts/smartproxy/classes.pp.certprovisioner.js +0 -179
- package/dist_ts/smartproxy/classes.pp.connectionhandler.d.ts +0 -39
- package/dist_ts/smartproxy/classes.pp.connectionhandler.js +0 -894
- package/dist_ts/smartproxy/classes.pp.connectionmanager.d.ts +0 -78
- package/dist_ts/smartproxy/classes.pp.connectionmanager.js +0 -378
- package/dist_ts/smartproxy/classes.pp.domainconfigmanager.d.ts +0 -94
- package/dist_ts/smartproxy/classes.pp.domainconfigmanager.js +0 -255
- package/dist_ts/smartproxy/classes.pp.interfaces.d.ts +0 -103
- package/dist_ts/smartproxy/classes.pp.interfaces.js +0 -2
- package/dist_ts/smartproxy/classes.pp.networkproxybridge.d.ts +0 -62
- package/dist_ts/smartproxy/classes.pp.networkproxybridge.js +0 -316
- package/dist_ts/smartproxy/classes.pp.portrangemanager.d.ts +0 -56
- package/dist_ts/smartproxy/classes.pp.portrangemanager.js +0 -176
- package/dist_ts/smartproxy/classes.pp.securitymanager.d.ts +0 -64
- package/dist_ts/smartproxy/classes.pp.securitymanager.js +0 -149
- package/dist_ts/smartproxy/classes.pp.snihandler.d.ts +0 -153
- package/dist_ts/smartproxy/classes.pp.snihandler.js +0 -1053
- package/dist_ts/smartproxy/classes.pp.timeoutmanager.d.ts +0 -47
- package/dist_ts/smartproxy/classes.pp.timeoutmanager.js +0 -154
- package/dist_ts/smartproxy/classes.pp.tlsalert.d.ts +0 -149
- package/dist_ts/smartproxy/classes.pp.tlsalert.js +0 -225
- package/dist_ts/smartproxy/classes.pp.tlsmanager.d.ts +0 -57
- package/dist_ts/smartproxy/classes.pp.tlsmanager.js +0 -132
- package/dist_ts/smartproxy/classes.smartproxy.d.ts +0 -63
- package/dist_ts/smartproxy/classes.smartproxy.js +0 -521
- package/dist_ts/smartproxy/forwarding/domain-config.d.ts +0 -12
- package/dist_ts/smartproxy/forwarding/domain-config.js +0 -12
- package/dist_ts/smartproxy/forwarding/domain-manager.d.ts +0 -86
- package/dist_ts/smartproxy/forwarding/domain-manager.js +0 -241
- package/dist_ts/smartproxy/forwarding/forwarding.factory.d.ts +0 -24
- package/dist_ts/smartproxy/forwarding/forwarding.factory.js +0 -137
- package/dist_ts/smartproxy/forwarding/forwarding.handler.d.ts +0 -55
- package/dist_ts/smartproxy/forwarding/forwarding.handler.js +0 -94
- package/dist_ts/smartproxy/forwarding/http.handler.d.ts +0 -25
- package/dist_ts/smartproxy/forwarding/http.handler.js +0 -123
- package/dist_ts/smartproxy/forwarding/https-passthrough.handler.d.ts +0 -24
- package/dist_ts/smartproxy/forwarding/https-passthrough.handler.js +0 -154
- package/dist_ts/smartproxy/forwarding/https-terminate-to-http.handler.d.ts +0 -36
- package/dist_ts/smartproxy/forwarding/https-terminate-to-http.handler.js +0 -229
- package/dist_ts/smartproxy/forwarding/https-terminate-to-https.handler.d.ts +0 -35
- package/dist_ts/smartproxy/forwarding/https-terminate-to-https.handler.js +0 -254
- package/dist_ts/smartproxy/forwarding/index.d.ts +0 -16
- package/dist_ts/smartproxy/forwarding/index.js +0 -23
- package/dist_ts/smartproxy/types/forwarding.types.d.ts +0 -104
- package/dist_ts/smartproxy/types/forwarding.types.js +0 -50
- package/dist_ts/smartproxy.classes.networkproxy.d.ts +0 -31
- package/dist_ts/smartproxy.classes.networkproxy.js +0 -305
- package/dist_ts/smartproxy.classes.router.d.ts +0 -13
- package/dist_ts/smartproxy.classes.router.js +0 -33
- package/dist_ts/smartproxy.classes.sslredirect.d.ts +0 -8
- package/dist_ts/smartproxy.classes.sslredirect.js +0 -28
- package/dist_ts/smartproxy.helpers.certificates.d.ts +0 -5
- package/dist_ts/smartproxy.helpers.certificates.js +0 -23
- package/dist_ts/smartproxy.plugins.d.ts +0 -18
- package/dist_ts/smartproxy.plugins.js +0 -23
- package/dist_ts/smartproxy.portproxy.d.ts +0 -26
- package/dist_ts/smartproxy.portproxy.js +0 -295
- package/ts/http/index.ts +0 -16
- package/ts/http/models/http-types.ts +0 -108
- package/ts/http/redirects/index.ts +0 -3
- package/ts/proxies/network-proxy/models/index.ts +0 -4
- package/ts/redirect/classes.redirect.ts +0 -295
- /package/dist_ts/proxies/{network-proxy → http-proxy}/context-creator.d.ts +0 -0
- /package/dist_ts/proxies/{network-proxy → http-proxy}/function-cache.d.ts +0 -0
- /package/dist_ts/proxies/{network-proxy → http-proxy}/http-request-handler.d.ts +0 -0
- /package/dist_ts/proxies/{network-proxy → http-proxy}/http2-request-handler.d.ts +0 -0
- /package/dist_ts/proxies/{network-proxy → http-proxy}/security-manager.d.ts +0 -0
- /package/ts/proxies/{network-proxy → http-proxy}/context-creator.ts +0 -0
- /package/ts/proxies/{network-proxy → http-proxy}/function-cache.ts +0 -0
- /package/ts/proxies/{network-proxy → http-proxy}/http-request-handler.ts +0 -0
- /package/ts/proxies/{network-proxy → http-proxy}/http2-request-handler.ts +0 -0
- /package/ts/proxies/{network-proxy → http-proxy}/security-manager.ts +0 -0
- /package/ts/{http → routing}/router/index.ts +0 -0
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
/** Domain configuration with per-domain allowed port ranges */
|
|
3
|
-
export interface IDomainConfig {
|
|
4
|
-
domains: string[];
|
|
5
|
-
allowedIPs: string[];
|
|
6
|
-
blockedIPs?: string[];
|
|
7
|
-
targetIPs?: string[];
|
|
8
|
-
portRanges?: Array<{
|
|
9
|
-
from: number;
|
|
10
|
-
to: number;
|
|
11
|
-
}>;
|
|
12
|
-
connectionTimeout?: number;
|
|
13
|
-
useNetworkProxy?: boolean;
|
|
14
|
-
networkProxyPort?: number;
|
|
15
|
-
}
|
|
16
|
-
/** Port proxy settings including global allowed port ranges */
|
|
17
|
-
export interface IPortProxySettings {
|
|
18
|
-
fromPort: number;
|
|
19
|
-
toPort: number;
|
|
20
|
-
targetIP?: string;
|
|
21
|
-
domainConfigs: IDomainConfig[];
|
|
22
|
-
sniEnabled?: boolean;
|
|
23
|
-
defaultAllowedIPs?: string[];
|
|
24
|
-
defaultBlockedIPs?: string[];
|
|
25
|
-
preserveSourceIP?: boolean;
|
|
26
|
-
pfx?: Buffer;
|
|
27
|
-
key?: string | Buffer | Array<Buffer | string>;
|
|
28
|
-
passphrase?: string;
|
|
29
|
-
cert?: string | Buffer | Array<string | Buffer>;
|
|
30
|
-
ca?: string | Buffer | Array<string | Buffer>;
|
|
31
|
-
ciphers?: string;
|
|
32
|
-
honorCipherOrder?: boolean;
|
|
33
|
-
rejectUnauthorized?: boolean;
|
|
34
|
-
secureProtocol?: string;
|
|
35
|
-
servername?: string;
|
|
36
|
-
minVersion?: string;
|
|
37
|
-
maxVersion?: string;
|
|
38
|
-
initialDataTimeout?: number;
|
|
39
|
-
socketTimeout?: number;
|
|
40
|
-
inactivityCheckInterval?: number;
|
|
41
|
-
maxConnectionLifetime?: number;
|
|
42
|
-
inactivityTimeout?: number;
|
|
43
|
-
gracefulShutdownTimeout?: number;
|
|
44
|
-
globalPortRanges: Array<{
|
|
45
|
-
from: number;
|
|
46
|
-
to: number;
|
|
47
|
-
}>;
|
|
48
|
-
forwardAllGlobalRanges?: boolean;
|
|
49
|
-
noDelay?: boolean;
|
|
50
|
-
keepAlive?: boolean;
|
|
51
|
-
keepAliveInitialDelay?: number;
|
|
52
|
-
maxPendingDataSize?: number;
|
|
53
|
-
disableInactivityCheck?: boolean;
|
|
54
|
-
enableKeepAliveProbes?: boolean;
|
|
55
|
-
enableDetailedLogging?: boolean;
|
|
56
|
-
enableTlsDebugLogging?: boolean;
|
|
57
|
-
enableRandomizedTimeouts?: boolean;
|
|
58
|
-
allowSessionTicket?: boolean;
|
|
59
|
-
maxConnectionsPerIP?: number;
|
|
60
|
-
connectionRateLimitPerMinute?: number;
|
|
61
|
-
keepAliveTreatment?: 'standard' | 'extended' | 'immortal';
|
|
62
|
-
keepAliveInactivityMultiplier?: number;
|
|
63
|
-
extendedKeepAliveLifetime?: number;
|
|
64
|
-
useNetworkProxy?: number[];
|
|
65
|
-
networkProxyPort?: number;
|
|
66
|
-
port80HandlerConfig?: {
|
|
67
|
-
enabled?: boolean;
|
|
68
|
-
port?: number;
|
|
69
|
-
contactEmail?: string;
|
|
70
|
-
useProduction?: boolean;
|
|
71
|
-
renewThresholdDays?: number;
|
|
72
|
-
autoRenew?: boolean;
|
|
73
|
-
certificateStore?: string;
|
|
74
|
-
skipConfiguredCerts?: boolean;
|
|
75
|
-
httpsRedirectPort?: number;
|
|
76
|
-
renewCheckIntervalHours?: number;
|
|
77
|
-
domainForwards?: Array<{
|
|
78
|
-
domain: string;
|
|
79
|
-
forwardConfig?: {
|
|
80
|
-
ip: string;
|
|
81
|
-
port: number;
|
|
82
|
-
};
|
|
83
|
-
acmeForwardConfig?: {
|
|
84
|
-
ip: string;
|
|
85
|
-
port: number;
|
|
86
|
-
};
|
|
87
|
-
}>;
|
|
88
|
-
};
|
|
89
|
-
acme?: {
|
|
90
|
-
enabled?: boolean;
|
|
91
|
-
port?: number;
|
|
92
|
-
contactEmail?: string;
|
|
93
|
-
useProduction?: boolean;
|
|
94
|
-
renewThresholdDays?: number;
|
|
95
|
-
autoRenew?: boolean;
|
|
96
|
-
certificateStore?: string;
|
|
97
|
-
skipConfiguredCerts?: boolean;
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Enhanced connection record
|
|
102
|
-
*/
|
|
103
|
-
export interface IConnectionRecord {
|
|
104
|
-
id: string;
|
|
105
|
-
incoming: plugins.net.Socket;
|
|
106
|
-
outgoing: plugins.net.Socket | null;
|
|
107
|
-
incomingStartTime: number;
|
|
108
|
-
outgoingStartTime?: number;
|
|
109
|
-
outgoingClosedTime?: number;
|
|
110
|
-
lockedDomain?: string;
|
|
111
|
-
connectionClosed: boolean;
|
|
112
|
-
cleanupTimer?: NodeJS.Timeout;
|
|
113
|
-
alertFallbackTimeout?: NodeJS.Timeout;
|
|
114
|
-
lastActivity: number;
|
|
115
|
-
pendingData: Buffer[];
|
|
116
|
-
pendingDataSize: number;
|
|
117
|
-
bytesReceived: number;
|
|
118
|
-
bytesSent: number;
|
|
119
|
-
remoteIP: string;
|
|
120
|
-
localPort: number;
|
|
121
|
-
isTLS: boolean;
|
|
122
|
-
tlsHandshakeComplete: boolean;
|
|
123
|
-
hasReceivedInitialData: boolean;
|
|
124
|
-
domainConfig?: IDomainConfig;
|
|
125
|
-
hasKeepAlive: boolean;
|
|
126
|
-
inactivityWarningIssued?: boolean;
|
|
127
|
-
incomingTerminationReason?: string | null;
|
|
128
|
-
outgoingTerminationReason?: string | null;
|
|
129
|
-
usingNetworkProxy?: boolean;
|
|
130
|
-
renegotiationHandler?: (chunk: Buffer) => void;
|
|
131
|
-
isBrowserConnection?: boolean;
|
|
132
|
-
domainSwitches?: number;
|
|
133
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wcC5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5wcC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDIn0=
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
import { NetworkProxy } from './networkproxy/classes.np.networkproxy.js';
|
|
3
|
-
import { Port80Handler } from './port80handler/classes.port80handler.js';
|
|
4
|
-
import type { IConnectionRecord, IPortProxySettings } from './classes.pp.interfaces.js';
|
|
5
|
-
/**
|
|
6
|
-
* Manages NetworkProxy integration for TLS termination
|
|
7
|
-
*/
|
|
8
|
-
export declare class NetworkProxyBridge {
|
|
9
|
-
private settings;
|
|
10
|
-
private networkProxy;
|
|
11
|
-
private port80Handler;
|
|
12
|
-
constructor(settings: IPortProxySettings);
|
|
13
|
-
/**
|
|
14
|
-
* Set the Port80Handler to use for certificate management
|
|
15
|
-
*/
|
|
16
|
-
setPort80Handler(handler: Port80Handler): void;
|
|
17
|
-
/**
|
|
18
|
-
* Initialize NetworkProxy instance
|
|
19
|
-
*/
|
|
20
|
-
initialize(): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Handle certificate issuance or renewal events
|
|
23
|
-
*/
|
|
24
|
-
private handleCertificateEvent;
|
|
25
|
-
/**
|
|
26
|
-
* Get the NetworkProxy instance
|
|
27
|
-
*/
|
|
28
|
-
getNetworkProxy(): NetworkProxy | null;
|
|
29
|
-
/**
|
|
30
|
-
* Get the NetworkProxy port
|
|
31
|
-
*/
|
|
32
|
-
getNetworkProxyPort(): number;
|
|
33
|
-
/**
|
|
34
|
-
* Start NetworkProxy
|
|
35
|
-
*/
|
|
36
|
-
start(): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* Stop NetworkProxy
|
|
39
|
-
*/
|
|
40
|
-
stop(): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Register domains with Port80Handler
|
|
43
|
-
*/
|
|
44
|
-
registerDomainsWithPort80Handler(domains: string[]): void;
|
|
45
|
-
/**
|
|
46
|
-
* Forwards a TLS connection to a NetworkProxy for handling
|
|
47
|
-
*/
|
|
48
|
-
forwardToNetworkProxy(connectionId: string, socket: plugins.net.Socket, record: IConnectionRecord, initialData: Buffer, customProxyPort?: number, onError?: (reason: string) => void): void;
|
|
49
|
-
/**
|
|
50
|
-
* Synchronizes domain configurations to NetworkProxy
|
|
51
|
-
*/
|
|
52
|
-
syncDomainConfigsToNetworkProxy(): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* Request a certificate for a specific domain
|
|
55
|
-
*/
|
|
56
|
-
requestCertificate(domain: string): Promise<boolean>;
|
|
57
|
-
}
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
import { NetworkProxy } from './networkproxy/classes.np.networkproxy.js';
|
|
3
|
-
import { Port80Handler, Port80HandlerEvents } from './port80handler/classes.port80handler.js';
|
|
4
|
-
/**
|
|
5
|
-
* Manages NetworkProxy integration for TLS termination
|
|
6
|
-
*/
|
|
7
|
-
export class NetworkProxyBridge {
|
|
8
|
-
constructor(settings) {
|
|
9
|
-
this.settings = settings;
|
|
10
|
-
this.networkProxy = null;
|
|
11
|
-
this.port80Handler = null;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Set the Port80Handler to use for certificate management
|
|
15
|
-
*/
|
|
16
|
-
setPort80Handler(handler) {
|
|
17
|
-
this.port80Handler = handler;
|
|
18
|
-
// Register for certificate events
|
|
19
|
-
handler.on(Port80HandlerEvents.CERTIFICATE_ISSUED, this.handleCertificateEvent.bind(this));
|
|
20
|
-
handler.on(Port80HandlerEvents.CERTIFICATE_RENEWED, this.handleCertificateEvent.bind(this));
|
|
21
|
-
// If NetworkProxy is already initialized, connect it with Port80Handler
|
|
22
|
-
if (this.networkProxy) {
|
|
23
|
-
this.networkProxy.setExternalPort80Handler(handler);
|
|
24
|
-
}
|
|
25
|
-
console.log('Port80Handler connected to NetworkProxyBridge');
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Initialize NetworkProxy instance
|
|
29
|
-
*/
|
|
30
|
-
async initialize() {
|
|
31
|
-
if (!this.networkProxy && this.settings.useNetworkProxy && this.settings.useNetworkProxy.length > 0) {
|
|
32
|
-
// Configure NetworkProxy options based on PortProxy settings
|
|
33
|
-
const networkProxyOptions = {
|
|
34
|
-
port: this.settings.networkProxyPort,
|
|
35
|
-
portProxyIntegration: true,
|
|
36
|
-
logLevel: this.settings.enableDetailedLogging ? 'debug' : 'info',
|
|
37
|
-
useExternalPort80Handler: !!this.port80Handler // Use Port80Handler if available
|
|
38
|
-
};
|
|
39
|
-
// Copy ACME settings for backward compatibility (if port80HandlerConfig not set)
|
|
40
|
-
if (!this.settings.port80HandlerConfig && this.settings.acme) {
|
|
41
|
-
networkProxyOptions.acme = { ...this.settings.acme };
|
|
42
|
-
}
|
|
43
|
-
this.networkProxy = new NetworkProxy(networkProxyOptions);
|
|
44
|
-
console.log(`Initialized NetworkProxy on port ${this.settings.networkProxyPort}`);
|
|
45
|
-
// Connect Port80Handler if available
|
|
46
|
-
if (this.port80Handler) {
|
|
47
|
-
this.networkProxy.setExternalPort80Handler(this.port80Handler);
|
|
48
|
-
}
|
|
49
|
-
// Convert and apply domain configurations to NetworkProxy
|
|
50
|
-
await this.syncDomainConfigsToNetworkProxy();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Handle certificate issuance or renewal events
|
|
55
|
-
*/
|
|
56
|
-
handleCertificateEvent(data) {
|
|
57
|
-
if (!this.networkProxy)
|
|
58
|
-
return;
|
|
59
|
-
console.log(`Received certificate for ${data.domain} from Port80Handler, updating NetworkProxy`);
|
|
60
|
-
try {
|
|
61
|
-
// Find existing config for this domain
|
|
62
|
-
const existingConfigs = this.networkProxy.getProxyConfigs()
|
|
63
|
-
.filter(config => config.hostName === data.domain);
|
|
64
|
-
if (existingConfigs.length > 0) {
|
|
65
|
-
// Update existing configs with new certificate
|
|
66
|
-
for (const config of existingConfigs) {
|
|
67
|
-
config.privateKey = data.privateKey;
|
|
68
|
-
config.publicKey = data.certificate;
|
|
69
|
-
}
|
|
70
|
-
// Apply updated configs
|
|
71
|
-
this.networkProxy.updateProxyConfigs(existingConfigs)
|
|
72
|
-
.then(() => console.log(`Updated certificate for ${data.domain} in NetworkProxy`))
|
|
73
|
-
.catch(err => console.log(`Error updating certificate in NetworkProxy: ${err}`));
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
// Create a new config for this domain
|
|
77
|
-
console.log(`No existing config found for ${data.domain}, creating new config in NetworkProxy`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch (err) {
|
|
81
|
-
console.log(`Error handling certificate event: ${err}`);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Get the NetworkProxy instance
|
|
86
|
-
*/
|
|
87
|
-
getNetworkProxy() {
|
|
88
|
-
return this.networkProxy;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Get the NetworkProxy port
|
|
92
|
-
*/
|
|
93
|
-
getNetworkProxyPort() {
|
|
94
|
-
return this.networkProxy ? this.networkProxy.getListeningPort() : this.settings.networkProxyPort || 8443;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Start NetworkProxy
|
|
98
|
-
*/
|
|
99
|
-
async start() {
|
|
100
|
-
if (this.networkProxy) {
|
|
101
|
-
await this.networkProxy.start();
|
|
102
|
-
console.log(`NetworkProxy started on port ${this.settings.networkProxyPort}`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Stop NetworkProxy
|
|
107
|
-
*/
|
|
108
|
-
async stop() {
|
|
109
|
-
if (this.networkProxy) {
|
|
110
|
-
try {
|
|
111
|
-
console.log('Stopping NetworkProxy...');
|
|
112
|
-
await this.networkProxy.stop();
|
|
113
|
-
console.log('NetworkProxy stopped successfully');
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
console.log(`Error stopping NetworkProxy: ${err}`);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Register domains with Port80Handler
|
|
122
|
-
*/
|
|
123
|
-
registerDomainsWithPort80Handler(domains) {
|
|
124
|
-
if (!this.port80Handler) {
|
|
125
|
-
console.log('Cannot register domains - Port80Handler not initialized');
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
for (const domain of domains) {
|
|
129
|
-
// Skip wildcards
|
|
130
|
-
if (domain.includes('*')) {
|
|
131
|
-
console.log(`Skipping wildcard domain for ACME: ${domain}`);
|
|
132
|
-
continue;
|
|
133
|
-
}
|
|
134
|
-
// Register the domain
|
|
135
|
-
try {
|
|
136
|
-
this.port80Handler.addDomain({
|
|
137
|
-
domainName: domain,
|
|
138
|
-
sslRedirect: true,
|
|
139
|
-
acmeMaintenance: true
|
|
140
|
-
});
|
|
141
|
-
console.log(`Registered domain with Port80Handler: ${domain}`);
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
console.log(`Error registering domain ${domain} with Port80Handler: ${err}`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Forwards a TLS connection to a NetworkProxy for handling
|
|
150
|
-
*/
|
|
151
|
-
forwardToNetworkProxy(connectionId, socket, record, initialData, customProxyPort, onError) {
|
|
152
|
-
// Ensure NetworkProxy is initialized
|
|
153
|
-
if (!this.networkProxy) {
|
|
154
|
-
console.log(`[${connectionId}] NetworkProxy not initialized. Cannot forward connection.`);
|
|
155
|
-
if (onError) {
|
|
156
|
-
onError('network_proxy_not_initialized');
|
|
157
|
-
}
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
// Use the custom port if provided, otherwise use the default NetworkProxy port
|
|
161
|
-
const proxyPort = customProxyPort || this.networkProxy.getListeningPort();
|
|
162
|
-
const proxyHost = 'localhost'; // Assuming NetworkProxy runs locally
|
|
163
|
-
if (this.settings.enableDetailedLogging) {
|
|
164
|
-
console.log(`[${connectionId}] Forwarding TLS connection to NetworkProxy at ${proxyHost}:${proxyPort}`);
|
|
165
|
-
}
|
|
166
|
-
// Create a connection to the NetworkProxy
|
|
167
|
-
const proxySocket = plugins.net.connect({
|
|
168
|
-
host: proxyHost,
|
|
169
|
-
port: proxyPort,
|
|
170
|
-
});
|
|
171
|
-
// Store the outgoing socket in the record
|
|
172
|
-
record.outgoing = proxySocket;
|
|
173
|
-
record.outgoingStartTime = Date.now();
|
|
174
|
-
record.usingNetworkProxy = true;
|
|
175
|
-
// Set up error handlers
|
|
176
|
-
proxySocket.on('error', (err) => {
|
|
177
|
-
console.log(`[${connectionId}] Error connecting to NetworkProxy: ${err.message}`);
|
|
178
|
-
if (onError) {
|
|
179
|
-
onError('network_proxy_connect_error');
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
// Handle connection to NetworkProxy
|
|
183
|
-
proxySocket.on('connect', () => {
|
|
184
|
-
if (this.settings.enableDetailedLogging) {
|
|
185
|
-
console.log(`[${connectionId}] Connected to NetworkProxy at ${proxyHost}:${proxyPort}`);
|
|
186
|
-
}
|
|
187
|
-
// First send the initial data that contains the TLS ClientHello
|
|
188
|
-
proxySocket.write(initialData);
|
|
189
|
-
// Now set up bidirectional piping between client and NetworkProxy
|
|
190
|
-
socket.pipe(proxySocket);
|
|
191
|
-
proxySocket.pipe(socket);
|
|
192
|
-
// Update activity on data transfer (caller should handle this)
|
|
193
|
-
if (this.settings.enableDetailedLogging) {
|
|
194
|
-
console.log(`[${connectionId}] TLS connection successfully forwarded to NetworkProxy`);
|
|
195
|
-
}
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Synchronizes domain configurations to NetworkProxy
|
|
200
|
-
*/
|
|
201
|
-
async syncDomainConfigsToNetworkProxy() {
|
|
202
|
-
if (!this.networkProxy) {
|
|
203
|
-
console.log('Cannot sync configurations - NetworkProxy not initialized');
|
|
204
|
-
return;
|
|
205
|
-
}
|
|
206
|
-
try {
|
|
207
|
-
// Get SSL certificates from assets
|
|
208
|
-
// Import fs directly since it's not in plugins
|
|
209
|
-
const fs = await import('fs');
|
|
210
|
-
let certPair;
|
|
211
|
-
try {
|
|
212
|
-
certPair = {
|
|
213
|
-
key: fs.readFileSync('assets/certs/key.pem', 'utf8'),
|
|
214
|
-
cert: fs.readFileSync('assets/certs/cert.pem', 'utf8'),
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
catch (certError) {
|
|
218
|
-
console.log(`Warning: Could not read default certificates: ${certError}`);
|
|
219
|
-
console.log('Using empty certificate placeholders - ACME will generate proper certificates if enabled');
|
|
220
|
-
// Use empty placeholders - NetworkProxy will use its internal defaults
|
|
221
|
-
// or ACME will generate proper ones if enabled
|
|
222
|
-
certPair = {
|
|
223
|
-
key: '',
|
|
224
|
-
cert: '',
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
// Convert domain configs to NetworkProxy configs
|
|
228
|
-
const proxyConfigs = this.networkProxy.convertPortProxyConfigs(this.settings.domainConfigs, certPair);
|
|
229
|
-
// Log ACME-eligible domains
|
|
230
|
-
const acmeEnabled = this.settings.port80HandlerConfig?.enabled || this.settings.acme?.enabled;
|
|
231
|
-
if (acmeEnabled) {
|
|
232
|
-
const acmeEligibleDomains = proxyConfigs
|
|
233
|
-
.filter((config) => !config.hostName.includes('*')) // Exclude wildcards
|
|
234
|
-
.map((config) => config.hostName);
|
|
235
|
-
if (acmeEligibleDomains.length > 0) {
|
|
236
|
-
console.log(`Domains eligible for ACME certificates: ${acmeEligibleDomains.join(', ')}`);
|
|
237
|
-
// Register these domains with Port80Handler if available
|
|
238
|
-
if (this.port80Handler) {
|
|
239
|
-
this.registerDomainsWithPort80Handler(acmeEligibleDomains);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
console.log('No domains eligible for ACME certificates found in configuration');
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
// Update NetworkProxy with the converted configs
|
|
247
|
-
await this.networkProxy.updateProxyConfigs(proxyConfigs);
|
|
248
|
-
console.log(`Successfully synchronized ${proxyConfigs.length} domain configurations to NetworkProxy`);
|
|
249
|
-
}
|
|
250
|
-
catch (err) {
|
|
251
|
-
console.log(`Failed to sync configurations: ${err}`);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Request a certificate for a specific domain
|
|
256
|
-
*/
|
|
257
|
-
async requestCertificate(domain) {
|
|
258
|
-
// Delegate to Port80Handler if available
|
|
259
|
-
if (this.port80Handler) {
|
|
260
|
-
try {
|
|
261
|
-
// Check if the domain is already registered
|
|
262
|
-
const cert = this.port80Handler.getCertificate(domain);
|
|
263
|
-
if (cert) {
|
|
264
|
-
console.log(`Certificate already exists for ${domain}`);
|
|
265
|
-
return true;
|
|
266
|
-
}
|
|
267
|
-
// Register the domain for certificate issuance
|
|
268
|
-
this.port80Handler.addDomain({
|
|
269
|
-
domainName: domain,
|
|
270
|
-
sslRedirect: true,
|
|
271
|
-
acmeMaintenance: true
|
|
272
|
-
});
|
|
273
|
-
console.log(`Domain ${domain} registered for certificate issuance`);
|
|
274
|
-
return true;
|
|
275
|
-
}
|
|
276
|
-
catch (err) {
|
|
277
|
-
console.log(`Error requesting certificate: ${err}`);
|
|
278
|
-
return false;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
// Fall back to NetworkProxy if Port80Handler is not available
|
|
282
|
-
if (!this.networkProxy) {
|
|
283
|
-
console.log('Cannot request certificate - NetworkProxy not initialized');
|
|
284
|
-
return false;
|
|
285
|
-
}
|
|
286
|
-
if (!this.settings.port80HandlerConfig?.enabled && !this.settings.acme?.enabled) {
|
|
287
|
-
console.log('Cannot request certificate - ACME is not enabled');
|
|
288
|
-
return false;
|
|
289
|
-
}
|
|
290
|
-
try {
|
|
291
|
-
const result = await this.networkProxy.requestCertificate(domain);
|
|
292
|
-
if (result) {
|
|
293
|
-
console.log(`Certificate request for ${domain} submitted successfully`);
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
console.log(`Certificate request for ${domain} failed`);
|
|
297
|
-
}
|
|
298
|
-
return result;
|
|
299
|
-
}
|
|
300
|
-
catch (err) {
|
|
301
|
-
console.log(`Error requesting certificate: ${err}`);
|
|
302
|
-
return false;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5wcC5uZXR3b3JrcHJveHlicmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLnBwLm5ldHdvcmtwcm94eWJyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBeUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUdySDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBb0IsUUFBNEI7UUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFIeEMsaUJBQVksR0FBd0IsSUFBSSxDQUFDO1FBQ3pDLGtCQUFhLEdBQXlCLElBQUksQ0FBQztJQUVBLENBQUM7SUFFcEQ7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxPQUFzQjtRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUU3QixrQ0FBa0M7UUFDbEMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0YsT0FBTyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUYsd0VBQXdFO1FBQ3hFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFL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
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { IPortProxySettings, IDomainConfig } from './classes.pp.interfaces.js';
|
|
2
|
-
import { DomainConfigManager } from './classes.pp.domainconfigmanager.js';
|
|
3
|
-
/**
|
|
4
|
-
* PortProxy - Main class that coordinates all components
|
|
5
|
-
*/
|
|
6
|
-
export declare class PortProxy {
|
|
7
|
-
private netServers;
|
|
8
|
-
private connectionLogger;
|
|
9
|
-
private isShuttingDown;
|
|
10
|
-
private connectionManager;
|
|
11
|
-
private securityManager;
|
|
12
|
-
domainConfigManager: DomainConfigManager;
|
|
13
|
-
private tlsManager;
|
|
14
|
-
private networkProxyBridge;
|
|
15
|
-
private timeoutManager;
|
|
16
|
-
private portRangeManager;
|
|
17
|
-
private connectionHandler;
|
|
18
|
-
private port80Handler;
|
|
19
|
-
constructor(settingsArg: IPortProxySettings);
|
|
20
|
-
/**
|
|
21
|
-
* The settings for the port proxy
|
|
22
|
-
*/
|
|
23
|
-
settings: IPortProxySettings;
|
|
24
|
-
/**
|
|
25
|
-
* Initialize the Port80Handler for ACME certificate management
|
|
26
|
-
*/
|
|
27
|
-
private initializePort80Handler;
|
|
28
|
-
/**
|
|
29
|
-
* Start the proxy server
|
|
30
|
-
*/
|
|
31
|
-
start(): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* Stop the proxy server
|
|
34
|
-
*/
|
|
35
|
-
stop(): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Updates the domain configurations for the proxy
|
|
38
|
-
*/
|
|
39
|
-
updateDomainConfigs(newDomainConfigs: IDomainConfig[]): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Updates the Port80Handler configuration
|
|
42
|
-
*/
|
|
43
|
-
updatePort80HandlerConfig(config: IPortProxySettings['port80HandlerConfig']): Promise<void>;
|
|
44
|
-
/**
|
|
45
|
-
* Request a certificate for a specific domain
|
|
46
|
-
*/
|
|
47
|
-
requestCertificate(domain: string): Promise<boolean>;
|
|
48
|
-
/**
|
|
49
|
-
* Validates if a domain name is valid for certificate issuance
|
|
50
|
-
*/
|
|
51
|
-
private isValidDomain;
|
|
52
|
-
/**
|
|
53
|
-
* Get statistics about current connections
|
|
54
|
-
*/
|
|
55
|
-
getStatistics(): any;
|
|
56
|
-
/**
|
|
57
|
-
* Get a list of eligible domains for ACME certificates
|
|
58
|
-
*/
|
|
59
|
-
getEligibleDomainsForCertificates(): string[];
|
|
60
|
-
/**
|
|
61
|
-
* Get status of certificates managed by Port80Handler
|
|
62
|
-
*/
|
|
63
|
-
getCertificateStatus(): any;
|
|
64
|
-
}
|