@push.rocks/smartproxy 15.0.2 → 16.0.2
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/certificate/index.d.ts +10 -4
- package/dist_ts/certificate/index.js +5 -7
- package/dist_ts/certificate/models/certificate-types.d.ts +35 -15
- package/dist_ts/certificate/providers/cert-provisioner.d.ts +41 -15
- package/dist_ts/certificate/providers/cert-provisioner.js +201 -41
- package/dist_ts/forwarding/config/forwarding-types.d.ts +40 -76
- package/dist_ts/forwarding/config/forwarding-types.js +19 -18
- package/dist_ts/forwarding/config/index.d.ts +4 -2
- package/dist_ts/forwarding/config/index.js +5 -3
- package/dist_ts/forwarding/handlers/base-handler.js +3 -1
- package/dist_ts/forwarding/index.d.ts +5 -6
- package/dist_ts/forwarding/index.js +3 -3
- package/dist_ts/http/models/http-types.js +1 -1
- package/dist_ts/http/port80/acme-interfaces.d.ts +30 -0
- package/dist_ts/http/port80/acme-interfaces.js +46 -1
- package/dist_ts/http/port80/port80-handler.d.ts +17 -2
- package/dist_ts/http/port80/port80-handler.js +49 -11
- package/dist_ts/proxies/smart-proxy/models/interfaces.d.ts +2 -61
- package/dist_ts/proxies/smart-proxy/models/interfaces.js +5 -4
- package/dist_ts/proxies/smart-proxy/models/route-types.d.ts +118 -4
- package/dist_ts/proxies/smart-proxy/network-proxy-bridge.d.ts +70 -4
- package/dist_ts/proxies/smart-proxy/network-proxy-bridge.js +193 -43
- package/dist_ts/proxies/smart-proxy/route-connection-handler.d.ts +2 -5
- package/dist_ts/proxies/smart-proxy/route-connection-handler.js +25 -146
- package/dist_ts/proxies/smart-proxy/route-helpers/index.d.ts +7 -0
- package/dist_ts/proxies/smart-proxy/route-helpers/index.js +9 -0
- package/dist_ts/proxies/smart-proxy/route-helpers.d.ts +54 -1
- package/dist_ts/proxies/smart-proxy/route-helpers.js +102 -1
- package/dist_ts/proxies/smart-proxy/route-manager.d.ts +3 -9
- package/dist_ts/proxies/smart-proxy/route-manager.js +3 -115
- package/dist_ts/proxies/smart-proxy/smart-proxy.d.ts +72 -10
- package/dist_ts/proxies/smart-proxy/smart-proxy.js +135 -268
- package/dist_ts/proxies/smart-proxy/timeout-manager.js +3 -3
- package/dist_ts/proxies/smart-proxy/utils/index.d.ts +12 -0
- package/dist_ts/proxies/smart-proxy/utils/index.js +19 -0
- package/dist_ts/proxies/smart-proxy/utils/route-helpers.d.ts +174 -0
- package/dist_ts/proxies/smart-proxy/utils/route-helpers.js +332 -0
- package/dist_ts/proxies/smart-proxy/utils/route-migration-utils.d.ts +51 -0
- package/dist_ts/proxies/smart-proxy/utils/route-migration-utils.js +124 -0
- package/dist_ts/proxies/smart-proxy/utils/route-patterns.d.ts +131 -0
- package/dist_ts/proxies/smart-proxy/utils/route-patterns.js +217 -0
- package/dist_ts/proxies/smart-proxy/utils/route-utils.d.ts +79 -0
- package/dist_ts/proxies/smart-proxy/utils/route-utils.js +266 -0
- package/dist_ts/proxies/smart-proxy/utils/route-validators.d.ts +73 -0
- package/dist_ts/proxies/smart-proxy/utils/route-validators.js +242 -0
- package/package.json +1 -1
- package/readme.md +139 -111
- package/readme.plan.md +164 -312
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/certificate/index.ts +17 -9
- package/ts/certificate/models/certificate-types.ts +37 -16
- package/ts/certificate/providers/cert-provisioner.ts +247 -54
- package/ts/forwarding/config/forwarding-types.ts +79 -107
- package/ts/forwarding/config/index.ts +4 -2
- package/ts/forwarding/handlers/base-handler.ts +4 -2
- package/ts/forwarding/index.ts +3 -2
- package/ts/http/models/http-types.ts +0 -1
- package/ts/http/port80/acme-interfaces.ts +84 -0
- package/ts/http/port80/port80-handler.ts +61 -15
- package/ts/proxies/smart-proxy/models/interfaces.ts +7 -64
- package/ts/proxies/smart-proxy/models/route-types.ts +152 -22
- package/ts/proxies/smart-proxy/network-proxy-bridge.ts +226 -55
- package/ts/proxies/smart-proxy/route-connection-handler.ts +36 -205
- package/ts/proxies/smart-proxy/route-helpers/index.ts +9 -0
- package/ts/proxies/smart-proxy/route-helpers.ts +165 -11
- package/ts/proxies/smart-proxy/route-manager.ts +3 -130
- package/ts/proxies/smart-proxy/smart-proxy.ts +157 -329
- package/ts/proxies/smart-proxy/timeout-manager.ts +2 -2
- package/ts/proxies/smart-proxy/utils/index.ts +40 -0
- package/ts/proxies/smart-proxy/utils/route-helpers.ts +455 -0
- package/ts/proxies/smart-proxy/utils/route-migration-utils.ts +165 -0
- package/ts/proxies/smart-proxy/utils/route-patterns.ts +309 -0
- package/ts/proxies/smart-proxy/utils/route-utils.ts +330 -0
- package/ts/proxies/smart-proxy/utils/route-validators.ts +269 -0
- package/ts/forwarding/config/domain-config.ts +0 -28
- package/ts/forwarding/config/domain-manager.ts +0 -283
- package/ts/proxies/smart-proxy/connection-handler.ts +0 -1240
- package/ts/proxies/smart-proxy/port-range-manager.ts +0 -211
- /package/ts/proxies/smart-proxy/{domain-config-manager.ts → domain-config-manager.ts.bak} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@push.rocks/smartproxy',
|
|
6
|
-
version: '
|
|
6
|
+
version: '16.0.2',
|
|
7
7
|
description: 'A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHFQQUFxUDtDQUNuUSxDQUFBIn0=
|
|
@@ -10,15 +10,21 @@ export * from './acme/challenge-handler.js';
|
|
|
10
10
|
export * from './utils/certificate-helpers.js';
|
|
11
11
|
export * from './storage/file-storage.js';
|
|
12
12
|
import { CertProvisioner } from './providers/cert-provisioner.js';
|
|
13
|
+
import type { TCertProvisionObject } from './providers/cert-provisioner.js';
|
|
13
14
|
import type { IAcmeOptions } from './models/certificate-types.js';
|
|
14
|
-
import type {
|
|
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
|
+
}
|
|
15
22
|
/**
|
|
16
23
|
* Creates a complete certificate provisioning system with default settings
|
|
17
|
-
* @param
|
|
24
|
+
* @param routeConfigs Route configurations that may need certificates
|
|
18
25
|
* @param acmeOptions ACME options for certificate provisioning
|
|
19
26
|
* @param networkProxyBridge Bridge to apply certificates to network proxy
|
|
20
27
|
* @param certProvider Optional custom certificate provider
|
|
21
28
|
* @returns Configured CertProvisioner
|
|
22
29
|
*/
|
|
23
|
-
export declare function createCertificateProvisioner(
|
|
24
|
-
certProvider?: any): CertProvisioner;
|
|
30
|
+
export declare function createCertificateProvisioner(routeConfigs: IRouteConfig[], acmeOptions: IAcmeOptions, networkProxyBridge: ICertNetworkProxyBridge, certProvider?: (domain: string) => Promise<TCertProvisionObject>): CertProvisioner;
|
|
@@ -20,20 +20,18 @@ import { CertProvisioner } from './providers/cert-provisioner.js';
|
|
|
20
20
|
import { buildPort80Handler } from './acme/acme-factory.js';
|
|
21
21
|
/**
|
|
22
22
|
* Creates a complete certificate provisioning system with default settings
|
|
23
|
-
* @param
|
|
23
|
+
* @param routeConfigs Route configurations that may need certificates
|
|
24
24
|
* @param acmeOptions ACME options for certificate provisioning
|
|
25
25
|
* @param networkProxyBridge Bridge to apply certificates to network proxy
|
|
26
26
|
* @param certProvider Optional custom certificate provider
|
|
27
27
|
* @returns Configured CertProvisioner
|
|
28
28
|
*/
|
|
29
|
-
export function createCertificateProvisioner(
|
|
30
|
-
certProvider // Placeholder until cert provider type is properly defined
|
|
31
|
-
) {
|
|
29
|
+
export function createCertificateProvisioner(routeConfigs, acmeOptions, networkProxyBridge, certProvider) {
|
|
32
30
|
// Build the Port80Handler for ACME challenges
|
|
33
31
|
const port80Handler = buildPort80Handler(acmeOptions);
|
|
34
32
|
// Extract ACME-specific configuration
|
|
35
|
-
const { renewThresholdDays = 30, renewCheckIntervalHours = 24, autoRenew = true,
|
|
33
|
+
const { renewThresholdDays = 30, renewCheckIntervalHours = 24, autoRenew = true, routeForwards = [] } = acmeOptions;
|
|
36
34
|
// Create and return the certificate provisioner
|
|
37
|
-
return new CertProvisioner(
|
|
35
|
+
return new CertProvisioner(routeConfigs, port80Handler, networkProxyBridge, certProvider, renewThresholdDays, renewCheckIntervalHours, autoRenew, routeForwards);
|
|
38
36
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jZXJ0aWZpY2F0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCwrQkFBK0I7QUFDL0IsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxxQkFBcUI7QUFDckIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyx3QkFBd0I7QUFDeEIsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCx1QkFBdUI7QUFDdkIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLHdCQUF3QjtBQUN4QixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLHNCQUFzQjtBQUN0QixjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGdGQUFnRjtBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXNUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsWUFBNEIsRUFDNUIsV0FBeUIsRUFDekIsa0JBQTJDLEVBQzNDLFlBQWdFO0lBRWhFLDhDQUE4QztJQUM5QyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0RCxzQ0FBc0M7SUFDdEMsTUFBTSxFQUNKLGtCQUFrQixHQUFHLEVBQUUsRUFDdkIsdUJBQXVCLEdBQUcsRUFBRSxFQUM1QixTQUFTLEdBQUcsSUFBSSxFQUNoQixhQUFhLEdBQUcsRUFBRSxFQUNuQixHQUFHLFdBQVcsQ0FBQztJQUVoQixnREFBZ0Q7SUFDaEQsT0FBTyxJQUFJLGVBQWUsQ0FDeEIsWUFBWSxFQUNaLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGFBQWEsQ0FDZCxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -9,6 +9,10 @@ export interface ICertificateData {
|
|
|
9
9
|
expiryDate: Date;
|
|
10
10
|
source?: 'static' | 'http01' | 'dns01';
|
|
11
11
|
isRenewal?: boolean;
|
|
12
|
+
routeReference?: {
|
|
13
|
+
routeId?: string;
|
|
14
|
+
routeName?: string;
|
|
15
|
+
};
|
|
12
16
|
}
|
|
13
17
|
/**
|
|
14
18
|
* Certificates pair (private and public keys)
|
|
@@ -24,6 +28,10 @@ export interface ICertificateFailure {
|
|
|
24
28
|
domain: string;
|
|
25
29
|
error: string;
|
|
26
30
|
isRenewal: boolean;
|
|
31
|
+
routeReference?: {
|
|
32
|
+
routeId?: string;
|
|
33
|
+
routeName?: string;
|
|
34
|
+
};
|
|
27
35
|
}
|
|
28
36
|
/**
|
|
29
37
|
* Certificate expiry payload type
|
|
@@ -32,32 +40,44 @@ export interface ICertificateExpiring {
|
|
|
32
40
|
domain: string;
|
|
33
41
|
expiryDate: Date;
|
|
34
42
|
daysRemaining: number;
|
|
43
|
+
routeReference?: {
|
|
44
|
+
routeId?: string;
|
|
45
|
+
routeName?: string;
|
|
46
|
+
};
|
|
35
47
|
}
|
|
36
48
|
/**
|
|
37
|
-
*
|
|
49
|
+
* Route-specific forwarding configuration for ACME challenges
|
|
38
50
|
*/
|
|
39
|
-
export interface
|
|
40
|
-
ip: string;
|
|
41
|
-
port: number;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Domain-specific forwarding configuration for ACME challenges
|
|
45
|
-
*/
|
|
46
|
-
export interface IDomainForwardConfig {
|
|
51
|
+
export interface IRouteForwardConfig {
|
|
47
52
|
domain: string;
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
target: {
|
|
54
|
+
host: string;
|
|
55
|
+
port: number;
|
|
56
|
+
};
|
|
50
57
|
sslRedirect?: boolean;
|
|
51
58
|
}
|
|
52
59
|
/**
|
|
53
|
-
* Domain configuration options
|
|
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.
|
|
54
64
|
*/
|
|
55
65
|
export interface IDomainOptions {
|
|
56
66
|
domainName: string;
|
|
57
67
|
sslRedirect: boolean;
|
|
58
68
|
acmeMaintenance: boolean;
|
|
59
|
-
forward?:
|
|
60
|
-
|
|
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
|
+
};
|
|
61
81
|
}
|
|
62
82
|
/**
|
|
63
83
|
* Unified ACME configuration options used across proxies and handlers
|
|
@@ -73,5 +93,5 @@ export interface IAcmeOptions {
|
|
|
73
93
|
autoRenew?: boolean;
|
|
74
94
|
certificateStore?: string;
|
|
75
95
|
skipConfiguredCerts?: boolean;
|
|
76
|
-
|
|
96
|
+
routeForwards?: IRouteForwardConfig[];
|
|
77
97
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as plugins from '../../plugins.js';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ICertificateData,
|
|
2
|
+
import type { IRouteConfig } from '../../proxies/smart-proxy/models/route-types.js';
|
|
3
|
+
import type { ICertificateData, IRouteForwardConfig } from '../models/certificate-types.js';
|
|
4
4
|
import { Port80Handler } from '../../http/port80/port80-handler.js';
|
|
5
5
|
interface INetworkProxyBridge {
|
|
6
6
|
applyExternalCertificate(certData: ICertificateData): void;
|
|
7
7
|
}
|
|
8
|
-
export type TSmartProxyCertProvisionObject = plugins.tsclass.network.ICert | 'http01';
|
|
9
8
|
/**
|
|
10
9
|
* Type for static certificate provisioning
|
|
11
10
|
*/
|
|
@@ -13,29 +12,39 @@ export type TCertProvisionObject = plugins.tsclass.network.ICert | 'http01' | 'd
|
|
|
13
12
|
/**
|
|
14
13
|
* CertProvisioner manages certificate provisioning and renewal workflows,
|
|
15
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.
|
|
16
17
|
*/
|
|
17
18
|
export declare class CertProvisioner extends plugins.EventEmitter {
|
|
18
|
-
private
|
|
19
|
+
private routeConfigs;
|
|
20
|
+
private certRoutes;
|
|
19
21
|
private port80Handler;
|
|
20
22
|
private networkProxyBridge;
|
|
21
23
|
private certProvisionFunction?;
|
|
22
|
-
private
|
|
24
|
+
private routeForwards;
|
|
23
25
|
private renewThresholdDays;
|
|
24
26
|
private renewCheckIntervalHours;
|
|
25
27
|
private autoRenew;
|
|
26
28
|
private renewManager?;
|
|
27
29
|
private provisionMap;
|
|
28
30
|
/**
|
|
29
|
-
*
|
|
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
|
|
30
39
|
* @param port80Handler HTTP-01 challenge handler instance
|
|
31
40
|
* @param networkProxyBridge Bridge for applying external certificates
|
|
32
41
|
* @param certProvider Optional callback returning a static cert or 'http01'
|
|
33
42
|
* @param renewThresholdDays Days before expiry to trigger renewals
|
|
34
43
|
* @param renewCheckIntervalHours Interval in hours to check for renewals
|
|
35
44
|
* @param autoRenew Whether to automatically schedule renewals
|
|
36
|
-
* @param
|
|
45
|
+
* @param routeForwards Route-specific forwarding configs for ACME challenges
|
|
37
46
|
*/
|
|
38
|
-
constructor(
|
|
47
|
+
constructor(routeConfigs: IRouteConfig[], port80Handler: Port80Handler, networkProxyBridge: INetworkProxyBridge, certProvider?: (domain: string) => Promise<TCertProvisionObject>, renewThresholdDays?: number, renewCheckIntervalHours?: number, autoRenew?: boolean, routeForwards?: IRouteForwardConfig[]);
|
|
39
48
|
/**
|
|
40
49
|
* Start initial provisioning and schedule renewals.
|
|
41
50
|
*/
|
|
@@ -44,19 +53,22 @@ export declare class CertProvisioner extends plugins.EventEmitter {
|
|
|
44
53
|
* Set up event subscriptions for certificate events
|
|
45
54
|
*/
|
|
46
55
|
private setupEventSubscriptions;
|
|
56
|
+
/**
|
|
57
|
+
* Find a route for a given domain
|
|
58
|
+
*/
|
|
59
|
+
private findRouteForDomain;
|
|
47
60
|
/**
|
|
48
61
|
* Set up forwarding configurations for the Port80Handler
|
|
49
62
|
*/
|
|
50
63
|
private setupForwardingConfigs;
|
|
51
64
|
/**
|
|
52
|
-
* Provision certificates for all
|
|
65
|
+
* Provision certificates for all routes that need them
|
|
53
66
|
*/
|
|
54
|
-
private
|
|
67
|
+
private provisionAllCertificates;
|
|
55
68
|
/**
|
|
56
|
-
* Provision a certificate for a
|
|
57
|
-
* @param domain Domain to provision
|
|
69
|
+
* Provision a certificate for a route
|
|
58
70
|
*/
|
|
59
|
-
private
|
|
71
|
+
private provisionCertificateForRoute;
|
|
60
72
|
/**
|
|
61
73
|
* Schedule certificate renewals using a task manager
|
|
62
74
|
*/
|
|
@@ -69,25 +81,39 @@ export declare class CertProvisioner extends plugins.EventEmitter {
|
|
|
69
81
|
* Renew a certificate for a specific domain
|
|
70
82
|
* @param domain Domain to renew
|
|
71
83
|
* @param provisionType Type of provisioning for this domain
|
|
84
|
+
* @param certRoute The route reference for this domain
|
|
72
85
|
*/
|
|
73
|
-
private
|
|
86
|
+
private renewCertificateForDomain;
|
|
74
87
|
/**
|
|
75
88
|
* Stop all scheduled renewal tasks.
|
|
76
89
|
*/
|
|
77
90
|
stop(): Promise<void>;
|
|
78
91
|
/**
|
|
79
92
|
* Request a certificate on-demand for the given domain.
|
|
93
|
+
* This will look for a matching route configuration and provision accordingly.
|
|
94
|
+
*
|
|
80
95
|
* @param domain Domain name to provision
|
|
81
96
|
*/
|
|
82
97
|
requestCertificate(domain: string): Promise<void>;
|
|
83
98
|
/**
|
|
84
99
|
* Add a new domain for certificate provisioning
|
|
100
|
+
*
|
|
85
101
|
* @param domain Domain to add
|
|
86
102
|
* @param options Domain configuration options
|
|
87
103
|
*/
|
|
88
104
|
addDomain(domain: string, options?: {
|
|
89
105
|
sslRedirect?: boolean;
|
|
90
106
|
acmeMaintenance?: boolean;
|
|
107
|
+
routeId?: string;
|
|
108
|
+
routeName?: string;
|
|
91
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>;
|
|
92
117
|
}
|
|
93
|
-
export
|
|
118
|
+
export type TSmartProxyCertProvisionObject = TCertProvisionObject;
|
|
119
|
+
export {};
|