@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,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simplified certificate event system
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Certificate event types - only the essentials
|
|
6
|
-
*/
|
|
7
|
-
export var CertificateEvent;
|
|
8
|
-
(function (CertificateEvent) {
|
|
9
|
-
CertificateEvent["OBTAINED"] = "certificate:obtained";
|
|
10
|
-
CertificateEvent["FAILED"] = "certificate:failed";
|
|
11
|
-
CertificateEvent["EXPIRING"] = "certificate:expiring";
|
|
12
|
-
})(CertificateEvent || (CertificateEvent = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxpZmllZC1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9ldmVudHMvc2ltcGxpZmllZC1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIscURBQWlDLENBQUE7SUFDakMsaURBQTZCLENBQUE7SUFDN0IscURBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0IifQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Certificate management module for SmartProxy
|
|
3
|
-
* Provides certificate provisioning, storage, and management capabilities
|
|
4
|
-
*/
|
|
5
|
-
export * from './models/certificate-types.js';
|
|
6
|
-
export * from './events/certificate-events.js';
|
|
7
|
-
export * from './providers/cert-provisioner.js';
|
|
8
|
-
export * from './acme/acme-factory.js';
|
|
9
|
-
export * from './acme/challenge-handler.js';
|
|
10
|
-
export * from './utils/certificate-helpers.js';
|
|
11
|
-
export * from './storage/file-storage.js';
|
|
12
|
-
import { CertProvisioner } from './providers/cert-provisioner.js';
|
|
13
|
-
import type { TCertProvisionObject } from './providers/cert-provisioner.js';
|
|
14
|
-
import type { IAcmeOptions } from './models/certificate-types.js';
|
|
15
|
-
import type { IRouteConfig } from '../proxies/smart-proxy/models/route-types.js';
|
|
16
|
-
/**
|
|
17
|
-
* Interface for NetworkProxyBridge used by CertProvisioner
|
|
18
|
-
*/
|
|
19
|
-
interface ICertNetworkProxyBridge {
|
|
20
|
-
applyExternalCertificate(certData: any): void;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Creates a complete certificate provisioning system with default settings
|
|
24
|
-
* @param routeConfigs Route configurations that may need certificates
|
|
25
|
-
* @param acmeOptions ACME options for certificate provisioning
|
|
26
|
-
* @param networkProxyBridge Bridge to apply certificates to network proxy
|
|
27
|
-
* @param certProvider Optional custom certificate provider
|
|
28
|
-
* @returns Configured CertProvisioner
|
|
29
|
-
*/
|
|
30
|
-
export declare function createCertificateProvisioner(routeConfigs: IRouteConfig[], acmeOptions: IAcmeOptions, networkProxyBridge: ICertNetworkProxyBridge, certProvider?: (domain: string) => Promise<TCertProvisionObject>): CertProvisioner;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Certificate management module for SmartProxy
|
|
3
|
-
* Provides certificate provisioning, storage, and management capabilities
|
|
4
|
-
*/
|
|
5
|
-
// Certificate types and models
|
|
6
|
-
export * from './models/certificate-types.js';
|
|
7
|
-
// Certificate events
|
|
8
|
-
export * from './events/certificate-events.js';
|
|
9
|
-
// Certificate providers
|
|
10
|
-
export * from './providers/cert-provisioner.js';
|
|
11
|
-
// ACME related exports
|
|
12
|
-
export * from './acme/acme-factory.js';
|
|
13
|
-
export * from './acme/challenge-handler.js';
|
|
14
|
-
// Certificate utilities
|
|
15
|
-
export * from './utils/certificate-helpers.js';
|
|
16
|
-
// Certificate storage
|
|
17
|
-
export * from './storage/file-storage.js';
|
|
18
|
-
// Convenience function to create a certificate provisioner with common settings
|
|
19
|
-
import { CertProvisioner } from './providers/cert-provisioner.js';
|
|
20
|
-
import { buildPort80Handler } from './acme/acme-factory.js';
|
|
21
|
-
/**
|
|
22
|
-
* Creates a complete certificate provisioning system with default settings
|
|
23
|
-
* @param routeConfigs Route configurations that may need certificates
|
|
24
|
-
* @param acmeOptions ACME options for certificate provisioning
|
|
25
|
-
* @param networkProxyBridge Bridge to apply certificates to network proxy
|
|
26
|
-
* @param certProvider Optional custom certificate provider
|
|
27
|
-
* @returns Configured CertProvisioner
|
|
28
|
-
*/
|
|
29
|
-
export function createCertificateProvisioner(routeConfigs, acmeOptions, networkProxyBridge, certProvider) {
|
|
30
|
-
// Build the Port80Handler for ACME challenges
|
|
31
|
-
const port80Handler = buildPort80Handler(acmeOptions);
|
|
32
|
-
// Extract ACME-specific configuration
|
|
33
|
-
const { renewThresholdDays = 30, renewCheckIntervalHours = 24, autoRenew = true, routeForwards = [] } = acmeOptions;
|
|
34
|
-
// Create and return the certificate provisioner
|
|
35
|
-
return new CertProvisioner(routeConfigs, port80Handler, networkProxyBridge, certProvider, renewThresholdDays, renewCheckIntervalHours, autoRenew, routeForwards);
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jZXJ0aWZpY2F0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCwrQkFBK0I7QUFDL0IsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxxQkFBcUI7QUFDckIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyx3QkFBd0I7QUFDeEIsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCx1QkFBdUI7QUFDdkIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLHdCQUF3QjtBQUN4QixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLHNCQUFzQjtBQUN0QixjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGdGQUFnRjtBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXNUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsWUFBNEIsRUFDNUIsV0FBeUIsRUFDekIsa0JBQTJDLEVBQzNDLFlBQWdFO0lBRWhFLDhDQUE4QztJQUM5QyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0RCxzQ0FBc0M7SUFDdEMsTUFBTSxFQUNKLGtCQUFrQixHQUFHLEVBQUUsRUFDdkIsdUJBQXVCLEdBQUcsRUFBRSxFQUM1QixTQUFTLEdBQUcsSUFBSSxFQUNoQixhQUFhLEdBQUcsRUFBRSxFQUNuQixHQUFHLFdBQVcsQ0FBQztJQUVoQixnREFBZ0Q7SUFDaEQsT0FBTyxJQUFJLGVBQWUsQ0FDeEIsWUFBWSxFQUNaLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGFBQWEsQ0FDZCxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Structured error types for certificate management
|
|
3
|
-
*/
|
|
4
|
-
export interface CertificateErrorDetails {
|
|
5
|
-
code: string;
|
|
6
|
-
message: string;
|
|
7
|
-
solution?: string;
|
|
8
|
-
domain?: string;
|
|
9
|
-
challengeType?: 'http' | 'dns';
|
|
10
|
-
details?: Record<string, any>;
|
|
11
|
-
cause?: Error;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Certificate-specific error class with structured information
|
|
15
|
-
*/
|
|
16
|
-
export declare class CertificateError extends Error {
|
|
17
|
-
readonly code: string;
|
|
18
|
-
readonly solution?: string;
|
|
19
|
-
readonly domain?: string;
|
|
20
|
-
readonly challengeType?: 'http' | 'dns';
|
|
21
|
-
readonly details?: Record<string, any>;
|
|
22
|
-
readonly cause?: Error;
|
|
23
|
-
constructor(details: CertificateErrorDetails);
|
|
24
|
-
/**
|
|
25
|
-
* Convert error to JSON for logging
|
|
26
|
-
*/
|
|
27
|
-
toJSON(): Record<string, any>;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Common certificate error codes
|
|
31
|
-
*/
|
|
32
|
-
export declare const CertificateErrorCodes: {
|
|
33
|
-
readonly NO_CERT_PROVIDER: "NO_CERT_PROVIDER";
|
|
34
|
-
readonly INVALID_CERT_PROVIDER: "INVALID_CERT_PROVIDER";
|
|
35
|
-
readonly MISSING_ACME_EMAIL: "MISSING_ACME_EMAIL";
|
|
36
|
-
readonly ACME_HTTP_CHALLENGE_FAILED: "ACME_HTTP_CHALLENGE_FAILED";
|
|
37
|
-
readonly ACME_DNS_CHALLENGE_FAILED: "ACME_DNS_CHALLENGE_FAILED";
|
|
38
|
-
readonly ACME_RATE_LIMITED: "ACME_RATE_LIMITED";
|
|
39
|
-
readonly ACME_ACCOUNT_ERROR: "ACME_ACCOUNT_ERROR";
|
|
40
|
-
readonly ACME_VALIDATION_ERROR: "ACME_VALIDATION_ERROR";
|
|
41
|
-
readonly CERTIFICATE_EXPIRED: "CERTIFICATE_EXPIRED";
|
|
42
|
-
readonly CERTIFICATE_INVALID: "CERTIFICATE_INVALID";
|
|
43
|
-
readonly CERTIFICATE_NOT_FOUND: "CERTIFICATE_NOT_FOUND";
|
|
44
|
-
readonly CERTIFICATE_PARSE_ERROR: "CERTIFICATE_PARSE_ERROR";
|
|
45
|
-
readonly STORAGE_READ_ERROR: "STORAGE_READ_ERROR";
|
|
46
|
-
readonly STORAGE_WRITE_ERROR: "STORAGE_WRITE_ERROR";
|
|
47
|
-
readonly STORAGE_PERMISSION_ERROR: "STORAGE_PERMISSION_ERROR";
|
|
48
|
-
readonly NETWORK_TIMEOUT: "NETWORK_TIMEOUT";
|
|
49
|
-
readonly NETWORK_UNREACHABLE: "NETWORK_UNREACHABLE";
|
|
50
|
-
readonly DNS_RESOLUTION_FAILED: "DNS_RESOLUTION_FAILED";
|
|
51
|
-
readonly INVALID_DOMAIN: "INVALID_DOMAIN";
|
|
52
|
-
readonly WILDCARD_NOT_SUPPORTED: "WILDCARD_NOT_SUPPORTED";
|
|
53
|
-
readonly DOMAIN_NOT_CONFIGURED: "DOMAIN_NOT_CONFIGURED";
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Helper functions for creating common certificate errors
|
|
57
|
-
*/
|
|
58
|
-
export declare const CertificateErrors: {
|
|
59
|
-
noCertProvider: () => CertificateError;
|
|
60
|
-
invalidCertProvider: (error: Error) => CertificateError;
|
|
61
|
-
missingAcmeEmail: () => CertificateError;
|
|
62
|
-
acmeHttpChallengeFailed: (domain: string, details?: any) => CertificateError;
|
|
63
|
-
acmeDnsChallengeFailed: (domain: string, details?: any) => CertificateError;
|
|
64
|
-
acmeRateLimited: (domain: string, resetTime?: Date) => CertificateError;
|
|
65
|
-
certificateExpired: (domain: string, expiredAt: Date) => CertificateError;
|
|
66
|
-
certificateNotFound: (domain: string) => CertificateError;
|
|
67
|
-
wildcardNotSupported: (domain: string) => CertificateError;
|
|
68
|
-
storageError: (operation: "read" | "write", path: string, error: Error) => CertificateError;
|
|
69
|
-
};
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Structured error types for certificate management
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Certificate-specific error class with structured information
|
|
6
|
-
*/
|
|
7
|
-
export class CertificateError extends Error {
|
|
8
|
-
constructor(details) {
|
|
9
|
-
super(details.message);
|
|
10
|
-
this.name = 'CertificateError';
|
|
11
|
-
this.code = details.code;
|
|
12
|
-
this.solution = details.solution;
|
|
13
|
-
this.domain = details.domain;
|
|
14
|
-
this.challengeType = details.challengeType;
|
|
15
|
-
this.details = details.details;
|
|
16
|
-
this.cause = details.cause;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Convert error to JSON for logging
|
|
20
|
-
*/
|
|
21
|
-
toJSON() {
|
|
22
|
-
return {
|
|
23
|
-
name: this.name,
|
|
24
|
-
code: this.code,
|
|
25
|
-
message: this.message,
|
|
26
|
-
solution: this.solution,
|
|
27
|
-
domain: this.domain,
|
|
28
|
-
challengeType: this.challengeType,
|
|
29
|
-
details: this.details,
|
|
30
|
-
cause: this.cause?.message,
|
|
31
|
-
stack: this.stack
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Common certificate error codes
|
|
37
|
-
*/
|
|
38
|
-
export const CertificateErrorCodes = {
|
|
39
|
-
// Configuration errors
|
|
40
|
-
NO_CERT_PROVIDER: 'NO_CERT_PROVIDER',
|
|
41
|
-
INVALID_CERT_PROVIDER: 'INVALID_CERT_PROVIDER',
|
|
42
|
-
MISSING_ACME_EMAIL: 'MISSING_ACME_EMAIL',
|
|
43
|
-
// ACME errors
|
|
44
|
-
ACME_HTTP_CHALLENGE_FAILED: 'ACME_HTTP_CHALLENGE_FAILED',
|
|
45
|
-
ACME_DNS_CHALLENGE_FAILED: 'ACME_DNS_CHALLENGE_FAILED',
|
|
46
|
-
ACME_RATE_LIMITED: 'ACME_RATE_LIMITED',
|
|
47
|
-
ACME_ACCOUNT_ERROR: 'ACME_ACCOUNT_ERROR',
|
|
48
|
-
ACME_VALIDATION_ERROR: 'ACME_VALIDATION_ERROR',
|
|
49
|
-
// Certificate errors
|
|
50
|
-
CERTIFICATE_EXPIRED: 'CERTIFICATE_EXPIRED',
|
|
51
|
-
CERTIFICATE_INVALID: 'CERTIFICATE_INVALID',
|
|
52
|
-
CERTIFICATE_NOT_FOUND: 'CERTIFICATE_NOT_FOUND',
|
|
53
|
-
CERTIFICATE_PARSE_ERROR: 'CERTIFICATE_PARSE_ERROR',
|
|
54
|
-
// Storage errors
|
|
55
|
-
STORAGE_READ_ERROR: 'STORAGE_READ_ERROR',
|
|
56
|
-
STORAGE_WRITE_ERROR: 'STORAGE_WRITE_ERROR',
|
|
57
|
-
STORAGE_PERMISSION_ERROR: 'STORAGE_PERMISSION_ERROR',
|
|
58
|
-
// Network errors
|
|
59
|
-
NETWORK_TIMEOUT: 'NETWORK_TIMEOUT',
|
|
60
|
-
NETWORK_UNREACHABLE: 'NETWORK_UNREACHABLE',
|
|
61
|
-
DNS_RESOLUTION_FAILED: 'DNS_RESOLUTION_FAILED',
|
|
62
|
-
// Domain errors
|
|
63
|
-
INVALID_DOMAIN: 'INVALID_DOMAIN',
|
|
64
|
-
WILDCARD_NOT_SUPPORTED: 'WILDCARD_NOT_SUPPORTED',
|
|
65
|
-
DOMAIN_NOT_CONFIGURED: 'DOMAIN_NOT_CONFIGURED'
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Helper functions for creating common certificate errors
|
|
69
|
-
*/
|
|
70
|
-
export const CertificateErrors = {
|
|
71
|
-
noCertProvider: () => new CertificateError({
|
|
72
|
-
code: CertificateErrorCodes.NO_CERT_PROVIDER,
|
|
73
|
-
message: 'Certificate provider is required when ACME is enabled',
|
|
74
|
-
solution: 'Configure a certProvider in your SmartProxy options'
|
|
75
|
-
}),
|
|
76
|
-
invalidCertProvider: (error) => new CertificateError({
|
|
77
|
-
code: CertificateErrorCodes.INVALID_CERT_PROVIDER,
|
|
78
|
-
message: 'Certificate provider returned invalid response',
|
|
79
|
-
solution: 'Ensure your certProvider returns a valid CertificateStrategy',
|
|
80
|
-
cause: error
|
|
81
|
-
}),
|
|
82
|
-
missingAcmeEmail: () => new CertificateError({
|
|
83
|
-
code: CertificateErrorCodes.MISSING_ACME_EMAIL,
|
|
84
|
-
message: 'ACME email is required for certificate provisioning',
|
|
85
|
-
solution: 'Configure acme.email in your SmartProxy options'
|
|
86
|
-
}),
|
|
87
|
-
acmeHttpChallengeFailed: (domain, details) => new CertificateError({
|
|
88
|
-
code: CertificateErrorCodes.ACME_HTTP_CHALLENGE_FAILED,
|
|
89
|
-
message: `HTTP-01 challenge failed for ${domain}`,
|
|
90
|
-
solution: 'Ensure port 80 is accessible and DNS points to this server',
|
|
91
|
-
domain,
|
|
92
|
-
challengeType: 'http',
|
|
93
|
-
details
|
|
94
|
-
}),
|
|
95
|
-
acmeDnsChallengeFailed: (domain, details) => new CertificateError({
|
|
96
|
-
code: CertificateErrorCodes.ACME_DNS_CHALLENGE_FAILED,
|
|
97
|
-
message: `DNS-01 challenge failed for ${domain}`,
|
|
98
|
-
solution: 'Verify DNS TXT record is correctly set for the domain',
|
|
99
|
-
domain,
|
|
100
|
-
challengeType: 'dns',
|
|
101
|
-
details
|
|
102
|
-
}),
|
|
103
|
-
acmeRateLimited: (domain, resetTime) => new CertificateError({
|
|
104
|
-
code: CertificateErrorCodes.ACME_RATE_LIMITED,
|
|
105
|
-
message: `ACME rate limit exceeded for ${domain}`,
|
|
106
|
-
solution: resetTime
|
|
107
|
-
? `Wait until ${resetTime.toISOString()} before retrying`
|
|
108
|
-
: 'Wait before retrying or use staging environment for testing',
|
|
109
|
-
domain,
|
|
110
|
-
details: { resetTime }
|
|
111
|
-
}),
|
|
112
|
-
certificateExpired: (domain, expiredAt) => new CertificateError({
|
|
113
|
-
code: CertificateErrorCodes.CERTIFICATE_EXPIRED,
|
|
114
|
-
message: `Certificate for ${domain} expired at ${expiredAt.toISOString()}`,
|
|
115
|
-
solution: 'Renew the certificate or configure automatic renewal',
|
|
116
|
-
domain,
|
|
117
|
-
details: { expiredAt }
|
|
118
|
-
}),
|
|
119
|
-
certificateNotFound: (domain) => new CertificateError({
|
|
120
|
-
code: CertificateErrorCodes.CERTIFICATE_NOT_FOUND,
|
|
121
|
-
message: `No certificate found for ${domain}`,
|
|
122
|
-
solution: 'Request a new certificate or provide a static certificate',
|
|
123
|
-
domain
|
|
124
|
-
}),
|
|
125
|
-
wildcardNotSupported: (domain) => new CertificateError({
|
|
126
|
-
code: CertificateErrorCodes.WILDCARD_NOT_SUPPORTED,
|
|
127
|
-
message: `Wildcard domain ${domain} requires DNS-01 challenge`,
|
|
128
|
-
solution: 'Configure your certProvider to return acme-dns strategy for wildcards',
|
|
129
|
-
domain
|
|
130
|
-
}),
|
|
131
|
-
storageError: (operation, path, error) => new CertificateError({
|
|
132
|
-
code: operation === 'read'
|
|
133
|
-
? CertificateErrorCodes.STORAGE_READ_ERROR
|
|
134
|
-
: CertificateErrorCodes.STORAGE_WRITE_ERROR,
|
|
135
|
-
message: `Failed to ${operation} certificate at ${path}`,
|
|
136
|
-
solution: `Check file permissions and ensure directory exists`,
|
|
137
|
-
details: { path },
|
|
138
|
-
cause: error
|
|
139
|
-
})
|
|
140
|
-
};
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvY2VydGlmaWNhdGUvbW9kZWxzL2NlcnRpZmljYXRlLWVycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQVlIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLEtBQUs7SUFRekMsWUFBWSxPQUFnQztRQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU87WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxL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
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Certificate strategy types for SmartProxy
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Certificate strategy types
|
|
6
|
-
*/
|
|
7
|
-
export type CertificateStrategy = {
|
|
8
|
-
type: 'acme-http';
|
|
9
|
-
} | {
|
|
10
|
-
type: 'acme-dns';
|
|
11
|
-
} | {
|
|
12
|
-
type: 'static';
|
|
13
|
-
cert: string;
|
|
14
|
-
key: string;
|
|
15
|
-
expiresAt?: Date;
|
|
16
|
-
} | {
|
|
17
|
-
type: 'skip';
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Certificate provider function type
|
|
21
|
-
*/
|
|
22
|
-
export type CertProvider = (domain: string) => Promise<CertificateStrategy>;
|
|
23
|
-
/**
|
|
24
|
-
* Helper functions for creating certificate strategies
|
|
25
|
-
*/
|
|
26
|
-
export declare const CertStrategies: {
|
|
27
|
-
/**
|
|
28
|
-
* Use ACME HTTP-01 challenge
|
|
29
|
-
*/
|
|
30
|
-
acmeHttp: () => CertificateStrategy;
|
|
31
|
-
/**
|
|
32
|
-
* Use ACME DNS-01 challenge (required for wildcards)
|
|
33
|
-
*/
|
|
34
|
-
acmeDns: () => CertificateStrategy;
|
|
35
|
-
/**
|
|
36
|
-
* Use static certificate
|
|
37
|
-
*/
|
|
38
|
-
static: (cert: string, key: string, expiresAt?: Date) => CertificateStrategy;
|
|
39
|
-
/**
|
|
40
|
-
* Skip certificate provisioning for this domain
|
|
41
|
-
*/
|
|
42
|
-
skip: () => CertificateStrategy;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Built-in certificate providers
|
|
46
|
-
*/
|
|
47
|
-
export declare const defaultCertProviders: {
|
|
48
|
-
/**
|
|
49
|
-
* Standard ACME provider: HTTP-01 for regular domains, DNS-01 for wildcards
|
|
50
|
-
*/
|
|
51
|
-
standard: (domain: string) => Promise<CertificateStrategy>;
|
|
52
|
-
/**
|
|
53
|
-
* Use static certificates from disk if available, fallback to ACME
|
|
54
|
-
*/
|
|
55
|
-
withStaticFallback: (certDir: string) => (domain: string) => Promise<CertificateStrategy>;
|
|
56
|
-
/**
|
|
57
|
-
* Always skip certificate provisioning
|
|
58
|
-
*/
|
|
59
|
-
skip: () => Promise<CertificateStrategy>;
|
|
60
|
-
};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Certificate strategy types for SmartProxy
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* Helper functions for creating certificate strategies
|
|
6
|
-
*/
|
|
7
|
-
export const CertStrategies = {
|
|
8
|
-
/**
|
|
9
|
-
* Use ACME HTTP-01 challenge
|
|
10
|
-
*/
|
|
11
|
-
acmeHttp: () => ({ type: 'acme-http' }),
|
|
12
|
-
/**
|
|
13
|
-
* Use ACME DNS-01 challenge (required for wildcards)
|
|
14
|
-
*/
|
|
15
|
-
acmeDns: () => ({ type: 'acme-dns' }),
|
|
16
|
-
/**
|
|
17
|
-
* Use static certificate
|
|
18
|
-
*/
|
|
19
|
-
static: (cert, key, expiresAt) => ({
|
|
20
|
-
type: 'static',
|
|
21
|
-
cert,
|
|
22
|
-
key,
|
|
23
|
-
expiresAt
|
|
24
|
-
}),
|
|
25
|
-
/**
|
|
26
|
-
* Skip certificate provisioning for this domain
|
|
27
|
-
*/
|
|
28
|
-
skip: () => ({ type: 'skip' })
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Built-in certificate providers
|
|
32
|
-
*/
|
|
33
|
-
export const defaultCertProviders = {
|
|
34
|
-
/**
|
|
35
|
-
* Standard ACME provider: HTTP-01 for regular domains, DNS-01 for wildcards
|
|
36
|
-
*/
|
|
37
|
-
standard: (domain) => {
|
|
38
|
-
return Promise.resolve(domain.includes('*')
|
|
39
|
-
? CertStrategies.acmeDns()
|
|
40
|
-
: CertStrategies.acmeHttp());
|
|
41
|
-
},
|
|
42
|
-
/**
|
|
43
|
-
* Use static certificates from disk if available, fallback to ACME
|
|
44
|
-
*/
|
|
45
|
-
withStaticFallback: (certDir) => {
|
|
46
|
-
return async (domain) => {
|
|
47
|
-
const fs = await import('fs/promises');
|
|
48
|
-
const path = await import('path');
|
|
49
|
-
const certPath = path.join(certDir, `${domain}.crt`);
|
|
50
|
-
const keyPath = path.join(certDir, `${domain}.key`);
|
|
51
|
-
try {
|
|
52
|
-
const [cert, key] = await Promise.all([
|
|
53
|
-
fs.readFile(certPath, 'utf-8'),
|
|
54
|
-
fs.readFile(keyPath, 'utf-8')
|
|
55
|
-
]);
|
|
56
|
-
return CertStrategies.static(cert, key);
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
// File not found, fallback to ACME
|
|
60
|
-
return domain.includes('*')
|
|
61
|
-
? CertStrategies.acmeDns()
|
|
62
|
-
: CertStrategies.acmeHttp();
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
},
|
|
66
|
-
/**
|
|
67
|
-
* Always skip certificate provisioning
|
|
68
|
-
*/
|
|
69
|
-
skip: () => {
|
|
70
|
-
return Promise.resolve(CertStrategies.skip());
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9tb2RlbHMvY2VydGlmaWNhdGUtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFnQkg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUI7O09BRUc7SUFDSCxRQUFRLEVBQUUsR0FBd0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFFNUQ7O09BRUc7SUFDSCxPQUFPLEVBQUUsR0FBd0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFFMUQ7O09BRUc7SUFDSCxNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsR0FBVyxFQUFFLFNBQWdCLEVBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBSTtRQUNKLEdBQUc7UUFDSCxTQUFTO0tBQ1YsQ0FBQztJQUVGOztPQUVHO0lBQ0gsSUFBSSxFQUFFLEdBQXdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0NBQ3BELENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDOztPQUVHO0lBQ0gsUUFBUSxFQUFFLENBQUMsTUFBYyxFQUFnQyxFQUFFO1FBQ3pELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDbEIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixFQUFFLENBQUMsT0FBZSxFQUFFLEVBQUU7UUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBYyxFQUFnQyxFQUFFO1lBQzVELE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsQ0FBQztZQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLENBQUM7WUFFcEQsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUNwQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7b0JBQzlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztpQkFDOUIsQ0FBQyxDQUFDO2dCQUVILE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxtQ0FBbUM7Z0JBQ25DLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO29CQUMxQixDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEVBQUUsR0FBaUMsRUFBRTtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGLENBQUMifQ==
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Certificate data structure containing all necessary information
|
|
3
|
-
* about a certificate
|
|
4
|
-
*/
|
|
5
|
-
export interface ICertificateData {
|
|
6
|
-
domain: string;
|
|
7
|
-
certificate: string;
|
|
8
|
-
privateKey: string;
|
|
9
|
-
expiryDate: Date;
|
|
10
|
-
source?: 'static' | 'http01' | 'dns01';
|
|
11
|
-
isRenewal?: boolean;
|
|
12
|
-
routeReference?: {
|
|
13
|
-
routeId?: string;
|
|
14
|
-
routeName?: string;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Certificates pair (private and public keys)
|
|
19
|
-
*/
|
|
20
|
-
export interface ICertificates {
|
|
21
|
-
privateKey: string;
|
|
22
|
-
publicKey: string;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Certificate failure payload type
|
|
26
|
-
*/
|
|
27
|
-
export interface ICertificateFailure {
|
|
28
|
-
domain: string;
|
|
29
|
-
error: string;
|
|
30
|
-
isRenewal: boolean;
|
|
31
|
-
routeReference?: {
|
|
32
|
-
routeId?: string;
|
|
33
|
-
routeName?: string;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Certificate expiry payload type
|
|
38
|
-
*/
|
|
39
|
-
export interface ICertificateExpiring {
|
|
40
|
-
domain: string;
|
|
41
|
-
expiryDate: Date;
|
|
42
|
-
daysRemaining: number;
|
|
43
|
-
routeReference?: {
|
|
44
|
-
routeId?: string;
|
|
45
|
-
routeName?: string;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Route-specific forwarding configuration for ACME challenges
|
|
50
|
-
*/
|
|
51
|
-
export interface IRouteForwardConfig {
|
|
52
|
-
domain: string;
|
|
53
|
-
target: {
|
|
54
|
-
host: string;
|
|
55
|
-
port: number;
|
|
56
|
-
};
|
|
57
|
-
sslRedirect?: boolean;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Domain configuration options for Port80Handler
|
|
61
|
-
*
|
|
62
|
-
* This is used internally by the Port80Handler to manage domains
|
|
63
|
-
* but will eventually be replaced with route-based options.
|
|
64
|
-
*/
|
|
65
|
-
export interface IDomainOptions {
|
|
66
|
-
domainName: string;
|
|
67
|
-
sslRedirect: boolean;
|
|
68
|
-
acmeMaintenance: boolean;
|
|
69
|
-
forward?: {
|
|
70
|
-
ip: string;
|
|
71
|
-
port: number;
|
|
72
|
-
};
|
|
73
|
-
acmeForward?: {
|
|
74
|
-
ip: string;
|
|
75
|
-
port: number;
|
|
76
|
-
};
|
|
77
|
-
routeReference?: {
|
|
78
|
-
routeId?: string;
|
|
79
|
-
routeName?: string;
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Unified ACME configuration options used across proxies and handlers
|
|
84
|
-
*/
|
|
85
|
-
export interface IAcmeOptions {
|
|
86
|
-
accountEmail?: string;
|
|
87
|
-
enabled?: boolean;
|
|
88
|
-
port?: number;
|
|
89
|
-
useProduction?: boolean;
|
|
90
|
-
httpsRedirectPort?: number;
|
|
91
|
-
renewThresholdDays?: number;
|
|
92
|
-
renewCheckIntervalHours?: number;
|
|
93
|
-
autoRenew?: boolean;
|
|
94
|
-
certificateStore?: string;
|
|
95
|
-
skipConfiguredCerts?: boolean;
|
|
96
|
-
routeForwards?: IRouteForwardConfig[];
|
|
97
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import * as plugins from '../../plugins.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9tb2RlbHMvY2VydGlmaWNhdGUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQyJ9
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import * as plugins from '../../plugins.js';
|
|
2
|
-
import type { IRouteConfig } from '../../proxies/smart-proxy/models/route-types.js';
|
|
3
|
-
import type { ICertificateData, IRouteForwardConfig } from '../models/certificate-types.js';
|
|
4
|
-
import { Port80Handler } from '../../http/port80/port80-handler.js';
|
|
5
|
-
interface INetworkProxyBridge {
|
|
6
|
-
applyExternalCertificate(certData: ICertificateData): void;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Type for static certificate provisioning
|
|
10
|
-
*/
|
|
11
|
-
export type TCertProvisionObject = plugins.tsclass.network.ICert | 'http01' | 'dns01';
|
|
12
|
-
/**
|
|
13
|
-
* CertProvisioner manages certificate provisioning and renewal workflows,
|
|
14
|
-
* unifying static certificates and HTTP-01 challenges via Port80Handler.
|
|
15
|
-
*
|
|
16
|
-
* This class directly works with route configurations instead of converting to domain configs.
|
|
17
|
-
*/
|
|
18
|
-
export declare class CertProvisioner extends plugins.EventEmitter {
|
|
19
|
-
private routeConfigs;
|
|
20
|
-
private certRoutes;
|
|
21
|
-
private port80Handler;
|
|
22
|
-
private networkProxyBridge;
|
|
23
|
-
private certProvisionFunction?;
|
|
24
|
-
private routeForwards;
|
|
25
|
-
private renewThresholdDays;
|
|
26
|
-
private renewCheckIntervalHours;
|
|
27
|
-
private autoRenew;
|
|
28
|
-
private renewManager?;
|
|
29
|
-
private provisionMap;
|
|
30
|
-
/**
|
|
31
|
-
* Extract routes that need certificates
|
|
32
|
-
* @param routes Route configurations
|
|
33
|
-
*/
|
|
34
|
-
private extractCertificateRoutesFromRoutes;
|
|
35
|
-
/**
|
|
36
|
-
* Constructor for CertProvisioner
|
|
37
|
-
*
|
|
38
|
-
* @param routeConfigs Array of route configurations
|
|
39
|
-
* @param port80Handler HTTP-01 challenge handler instance
|
|
40
|
-
* @param networkProxyBridge Bridge for applying external certificates
|
|
41
|
-
* @param certProvider Optional callback returning a static cert or 'http01'
|
|
42
|
-
* @param renewThresholdDays Days before expiry to trigger renewals
|
|
43
|
-
* @param renewCheckIntervalHours Interval in hours to check for renewals
|
|
44
|
-
* @param autoRenew Whether to automatically schedule renewals
|
|
45
|
-
* @param routeForwards Route-specific forwarding configs for ACME challenges
|
|
46
|
-
*/
|
|
47
|
-
constructor(routeConfigs: IRouteConfig[], port80Handler: Port80Handler, networkProxyBridge: INetworkProxyBridge, certProvider?: (domain: string) => Promise<TCertProvisionObject>, renewThresholdDays?: number, renewCheckIntervalHours?: number, autoRenew?: boolean, routeForwards?: IRouteForwardConfig[]);
|
|
48
|
-
/**
|
|
49
|
-
* Start initial provisioning and schedule renewals.
|
|
50
|
-
*/
|
|
51
|
-
start(): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Set up event subscriptions for certificate events
|
|
54
|
-
*/
|
|
55
|
-
private setupEventSubscriptions;
|
|
56
|
-
/**
|
|
57
|
-
* Find a route for a given domain
|
|
58
|
-
*/
|
|
59
|
-
private findRouteForDomain;
|
|
60
|
-
/**
|
|
61
|
-
* Set up forwarding configurations for the Port80Handler
|
|
62
|
-
*/
|
|
63
|
-
private setupForwardingConfigs;
|
|
64
|
-
/**
|
|
65
|
-
* Provision certificates for all routes that need them
|
|
66
|
-
*/
|
|
67
|
-
private provisionAllCertificates;
|
|
68
|
-
/**
|
|
69
|
-
* Provision a certificate for a route
|
|
70
|
-
*/
|
|
71
|
-
private provisionCertificateForRoute;
|
|
72
|
-
/**
|
|
73
|
-
* Schedule certificate renewals using a task manager
|
|
74
|
-
*/
|
|
75
|
-
private scheduleRenewals;
|
|
76
|
-
/**
|
|
77
|
-
* Perform renewals for all domains that need it
|
|
78
|
-
*/
|
|
79
|
-
private performRenewals;
|
|
80
|
-
/**
|
|
81
|
-
* Renew a certificate for a specific domain
|
|
82
|
-
* @param domain Domain to renew
|
|
83
|
-
* @param provisionType Type of provisioning for this domain
|
|
84
|
-
* @param certRoute The route reference for this domain
|
|
85
|
-
*/
|
|
86
|
-
private renewCertificateForDomain;
|
|
87
|
-
/**
|
|
88
|
-
* Stop all scheduled renewal tasks.
|
|
89
|
-
*/
|
|
90
|
-
stop(): Promise<void>;
|
|
91
|
-
/**
|
|
92
|
-
* Request a certificate on-demand for the given domain.
|
|
93
|
-
* This will look for a matching route configuration and provision accordingly.
|
|
94
|
-
*
|
|
95
|
-
* @param domain Domain name to provision
|
|
96
|
-
*/
|
|
97
|
-
requestCertificate(domain: string): Promise<void>;
|
|
98
|
-
/**
|
|
99
|
-
* Add a new domain for certificate provisioning
|
|
100
|
-
*
|
|
101
|
-
* @param domain Domain to add
|
|
102
|
-
* @param options Domain configuration options
|
|
103
|
-
*/
|
|
104
|
-
addDomain(domain: string, options?: {
|
|
105
|
-
sslRedirect?: boolean;
|
|
106
|
-
acmeMaintenance?: boolean;
|
|
107
|
-
routeId?: string;
|
|
108
|
-
routeName?: string;
|
|
109
|
-
}): Promise<void>;
|
|
110
|
-
/**
|
|
111
|
-
* Update routes with new configurations
|
|
112
|
-
* This replaces all existing routes with new ones and re-provisions certificates as needed
|
|
113
|
-
*
|
|
114
|
-
* @param newRoutes New route configurations to use
|
|
115
|
-
*/
|
|
116
|
-
updateRoutes(newRoutes: IRouteConfig[]): Promise<void>;
|
|
117
|
-
}
|
|
118
|
-
export type TSmartProxyCertProvisionObject = TCertProvisionObject;
|
|
119
|
-
export {};
|