@serve.zone/dcrouter 13.16.0 → 13.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_serve/bundle.js +729 -721
- package/package.json +2 -2
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/monitoring/classes.metricsmanager.ts +43 -34
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/network/ops-view-network-activity.ts +2 -1
- package/ts_web/elements/network/ops-view-routes.ts +24 -8
- package/dist_ts/00_commitinfo_data.d.ts +0 -8
- package/dist_ts/00_commitinfo_data.js +0 -9
- package/dist_ts/acme/index.d.ts +0 -1
- package/dist_ts/acme/index.js +0 -2
- package/dist_ts/acme/manager.acme-config.d.ts +0 -48
- package/dist_ts/acme/manager.acme-config.js +0 -156
- package/dist_ts/classes.cert-provision-scheduler.d.ts +0 -52
- package/dist_ts/classes.cert-provision-scheduler.js +0 -138
- package/dist_ts/classes.dcrouter.d.ts +0 -401
- package/dist_ts/classes.dcrouter.js +0 -1852
- package/dist_ts/classes.storage-cert-manager.d.ts +0 -15
- package/dist_ts/classes.storage-cert-manager.js +0 -53
- package/dist_ts/config/classes.api-token-manager.d.ts +0 -44
- package/dist_ts/config/classes.api-token-manager.js +0 -180
- package/dist_ts/config/classes.db-seeder.d.ts +0 -25
- package/dist_ts/config/classes.db-seeder.js +0 -69
- package/dist_ts/config/classes.reference-resolver.d.ts +0 -80
- package/dist_ts/config/classes.reference-resolver.js +0 -483
- package/dist_ts/config/classes.route-config-manager.d.ts +0 -54
- package/dist_ts/config/classes.route-config-manager.js +0 -370
- package/dist_ts/config/classes.target-profile-manager.d.ts +0 -82
- package/dist_ts/config/classes.target-profile-manager.js +0 -349
- package/dist_ts/config/index.d.ts +0 -6
- package/dist_ts/config/index.js +0 -8
- package/dist_ts/config/validator.d.ts +0 -104
- package/dist_ts/config/validator.js +0 -152
- package/dist_ts/db/classes.cache.cleaner.d.ts +0 -47
- package/dist_ts/db/classes.cache.cleaner.js +0 -130
- package/dist_ts/db/classes.cached.document.d.ts +0 -76
- package/dist_ts/db/classes.cached.document.js +0 -100
- package/dist_ts/db/classes.dcrouter-db.d.ts +0 -70
- package/dist_ts/db/classes.dcrouter-db.js +0 -146
- package/dist_ts/db/documents/classes.accounting-session.doc.d.ts +0 -32
- package/dist_ts/db/documents/classes.accounting-session.doc.js +0 -214
- package/dist_ts/db/documents/classes.acme-cert.doc.d.ts +0 -13
- package/dist_ts/db/documents/classes.acme-cert.doc.js +0 -109
- package/dist_ts/db/documents/classes.acme-config.doc.d.ts +0 -22
- package/dist_ts/db/documents/classes.acme-config.doc.js +0 -121
- package/dist_ts/db/documents/classes.api-token.doc.d.ts +0 -18
- package/dist_ts/db/documents/classes.api-token.doc.js +0 -127
- package/dist_ts/db/documents/classes.cached.email.d.ts +0 -125
- package/dist_ts/db/documents/classes.cached.email.js +0 -337
- package/dist_ts/db/documents/classes.cached.ip.reputation.d.ts +0 -119
- package/dist_ts/db/documents/classes.cached.ip.reputation.js +0 -323
- package/dist_ts/db/documents/classes.cert-backoff.doc.d.ts +0 -11
- package/dist_ts/db/documents/classes.cert-backoff.doc.js +0 -97
- package/dist_ts/db/documents/classes.dns-provider.doc.d.ts +0 -22
- package/dist_ts/db/documents/classes.dns-provider.doc.js +0 -134
- package/dist_ts/db/documents/classes.dns-record.doc.d.ts +0 -21
- package/dist_ts/db/documents/classes.dns-record.doc.js +0 -143
- package/dist_ts/db/documents/classes.domain.doc.d.ts +0 -22
- package/dist_ts/db/documents/classes.domain.doc.js +0 -146
- package/dist_ts/db/documents/classes.email-domain.doc.d.ts +0 -17
- package/dist_ts/db/documents/classes.email-domain.doc.js +0 -124
- package/dist_ts/db/documents/classes.network-target.doc.d.ts +0 -15
- package/dist_ts/db/documents/classes.network-target.doc.js +0 -118
- package/dist_ts/db/documents/classes.proxy-cert.doc.d.ts +0 -12
- package/dist_ts/db/documents/classes.proxy-cert.doc.js +0 -103
- package/dist_ts/db/documents/classes.remote-ingress-edge.doc.d.ts +0 -17
- package/dist_ts/db/documents/classes.remote-ingress-edge.doc.js +0 -130
- package/dist_ts/db/documents/classes.route.doc.d.ts +0 -18
- package/dist_ts/db/documents/classes.route.doc.js +0 -121
- package/dist_ts/db/documents/classes.source-profile.doc.d.ts +0 -15
- package/dist_ts/db/documents/classes.source-profile.doc.js +0 -115
- package/dist_ts/db/documents/classes.target-profile.doc.d.ts +0 -16
- package/dist_ts/db/documents/classes.target-profile.doc.js +0 -121
- package/dist_ts/db/documents/classes.vlan-mappings.doc.d.ts +0 -15
- package/dist_ts/db/documents/classes.vlan-mappings.doc.js +0 -77
- package/dist_ts/db/documents/classes.vpn-client.doc.d.ts +0 -23
- package/dist_ts/db/documents/classes.vpn-client.doc.js +0 -172
- package/dist_ts/db/documents/classes.vpn-server-keys.doc.d.ts +0 -10
- package/dist_ts/db/documents/classes.vpn-server-keys.doc.js +0 -94
- package/dist_ts/db/documents/index.d.ts +0 -20
- package/dist_ts/db/documents/index.js +0 -30
- package/dist_ts/db/index.d.ts +0 -4
- package/dist_ts/db/index.js +0 -9
- package/dist_ts/dns/index.d.ts +0 -2
- package/dist_ts/dns/index.js +0 -3
- package/dist_ts/dns/manager.dns.d.ts +0 -267
- package/dist_ts/dns/manager.dns.js +0 -906
- package/dist_ts/dns/providers/cloudflare.provider.d.ts +0 -21
- package/dist_ts/dns/providers/cloudflare.provider.js +0 -106
- package/dist_ts/dns/providers/factory.d.ts +0 -23
- package/dist_ts/dns/providers/factory.js +0 -47
- package/dist_ts/dns/providers/index.d.ts +0 -3
- package/dist_ts/dns/providers/index.js +0 -4
- package/dist_ts/dns/providers/interfaces.d.ts +0 -54
- package/dist_ts/dns/providers/interfaces.js +0 -2
- package/dist_ts/email/classes.email-domain.manager.d.ts +0 -46
- package/dist_ts/email/classes.email-domain.manager.js +0 -276
- package/dist_ts/email/index.d.ts +0 -1
- package/dist_ts/email/index.js +0 -2
- package/dist_ts/errors/base.errors.d.ts +0 -224
- package/dist_ts/errors/base.errors.js +0 -320
- package/dist_ts/errors/error-handler.d.ts +0 -98
- package/dist_ts/errors/error-handler.js +0 -282
- package/dist_ts/errors/error.codes.d.ts +0 -115
- package/dist_ts/errors/error.codes.js +0 -136
- package/dist_ts/errors/index.d.ts +0 -54
- package/dist_ts/errors/index.js +0 -136
- package/dist_ts/errors/reputation.errors.d.ts +0 -183
- package/dist_ts/errors/reputation.errors.js +0 -292
- package/dist_ts/http3/http3-route-augmentation.d.ts +0 -50
- package/dist_ts/http3/http3-route-augmentation.js +0 -98
- package/dist_ts/http3/index.d.ts +0 -1
- package/dist_ts/http3/index.js +0 -2
- package/dist_ts/index.d.ts +0 -8
- package/dist_ts/index.js +0 -29
- package/dist_ts/logger.d.ts +0 -21
- package/dist_ts/logger.js +0 -81
- package/dist_ts/monitoring/classes.metricscache.d.ts +0 -32
- package/dist_ts/monitoring/classes.metricscache.js +0 -63
- package/dist_ts/monitoring/classes.metricsmanager.d.ts +0 -233
- package/dist_ts/monitoring/classes.metricsmanager.js +0 -897
- package/dist_ts/monitoring/index.d.ts +0 -1
- package/dist_ts/monitoring/index.js +0 -2
- package/dist_ts/opsserver/classes.opsserver.d.ts +0 -47
- package/dist_ts/opsserver/classes.opsserver.js +0 -105
- package/dist_ts/opsserver/handlers/acme-config.handler.d.ts +0 -16
- package/dist_ts/opsserver/handlers/acme-config.handler.js +0 -77
- package/dist_ts/opsserver/handlers/admin.handler.d.ts +0 -40
- package/dist_ts/opsserver/handlers/admin.handler.js +0 -191
- package/dist_ts/opsserver/handlers/api-token.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/api-token.handler.js +0 -62
- package/dist_ts/opsserver/handlers/certificate.handler.d.ts +0 -77
- package/dist_ts/opsserver/handlers/certificate.handler.js +0 -574
- package/dist_ts/opsserver/handlers/config.handler.d.ts +0 -7
- package/dist_ts/opsserver/handlers/config.handler.js +0 -200
- package/dist_ts/opsserver/handlers/dns-provider.handler.d.ts +0 -16
- package/dist_ts/opsserver/handlers/dns-provider.handler.js +0 -156
- package/dist_ts/opsserver/handlers/dns-record.handler.d.ts +0 -13
- package/dist_ts/opsserver/handlers/dns-record.handler.js +0 -98
- package/dist_ts/opsserver/handlers/domain.handler.d.ts +0 -13
- package/dist_ts/opsserver/handlers/domain.handler.js +0 -137
- package/dist_ts/opsserver/handlers/email-domain.handler.d.ts +0 -16
- package/dist_ts/opsserver/handlers/email-domain.handler.js +0 -150
- package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +0 -30
- package/dist_ts/opsserver/handlers/email-ops.handler.js +0 -227
- package/dist_ts/opsserver/handlers/index.d.ts +0 -21
- package/dist_ts/opsserver/handlers/index.js +0 -22
- package/dist_ts/opsserver/handlers/logs.handler.d.ts +0 -25
- package/dist_ts/opsserver/handlers/logs.handler.js +0 -264
- package/dist_ts/opsserver/handlers/network-target.handler.d.ts +0 -10
- package/dist_ts/opsserver/handlers/network-target.handler.js +0 -117
- package/dist_ts/opsserver/handlers/radius.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/radius.handler.js +0 -295
- package/dist_ts/opsserver/handlers/remoteingress.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/remoteingress.handler.js +0 -156
- package/dist_ts/opsserver/handlers/route-management.handler.d.ts +0 -14
- package/dist_ts/opsserver/handlers/route-management.handler.js +0 -98
- package/dist_ts/opsserver/handlers/security.handler.d.ts +0 -9
- package/dist_ts/opsserver/handlers/security.handler.js +0 -237
- package/dist_ts/opsserver/handlers/source-profile.handler.d.ts +0 -10
- package/dist_ts/opsserver/handlers/source-profile.handler.js +0 -119
- package/dist_ts/opsserver/handlers/stats.handler.d.ts +0 -11
- package/dist_ts/opsserver/handlers/stats.handler.js +0 -461
- package/dist_ts/opsserver/handlers/target-profile.handler.d.ts +0 -10
- package/dist_ts/opsserver/handlers/target-profile.handler.js +0 -117
- package/dist_ts/opsserver/handlers/users.handler.d.ts +0 -12
- package/dist_ts/opsserver/handlers/users.handler.js +0 -24
- package/dist_ts/opsserver/handlers/vpn.handler.d.ts +0 -6
- package/dist_ts/opsserver/handlers/vpn.handler.js +0 -262
- package/dist_ts/opsserver/helpers/guards.d.ts +0 -27
- package/dist_ts/opsserver/helpers/guards.js +0 -43
- package/dist_ts/opsserver/index.d.ts +0 -1
- package/dist_ts/opsserver/index.js +0 -2
- package/dist_ts/paths.d.ts +0 -25
- package/dist_ts/paths.js +0 -44
- package/dist_ts/plugins.d.ts +0 -81
- package/dist_ts/plugins.js +0 -115
- package/dist_ts/radius/classes.accounting.manager.d.ts +0 -223
- package/dist_ts/radius/classes.accounting.manager.js +0 -449
- package/dist_ts/radius/classes.radius.server.d.ts +0 -169
- package/dist_ts/radius/classes.radius.server.js +0 -384
- package/dist_ts/radius/classes.vlan.manager.d.ts +0 -124
- package/dist_ts/radius/classes.vlan.manager.js +0 -272
- package/dist_ts/radius/index.d.ts +0 -13
- package/dist_ts/radius/index.js +0 -14
- package/dist_ts/remoteingress/classes.remoteingress-manager.d.ts +0 -92
- package/dist_ts/remoteingress/classes.remoteingress-manager.js +0 -291
- package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +0 -59
- package/dist_ts/remoteingress/classes.tunnel-manager.js +0 -165
- package/dist_ts/remoteingress/index.d.ts +0 -2
- package/dist_ts/remoteingress/index.js +0 -3
- package/dist_ts/security/classes.contentscanner.d.ts +0 -164
- package/dist_ts/security/classes.contentscanner.js +0 -642
- package/dist_ts/security/classes.ipreputationchecker.d.ts +0 -145
- package/dist_ts/security/classes.ipreputationchecker.js +0 -458
- package/dist_ts/security/classes.securitylogger.d.ts +0 -144
- package/dist_ts/security/classes.securitylogger.js +0 -235
- package/dist_ts/security/index.d.ts +0 -3
- package/dist_ts/security/index.js +0 -4
- package/dist_ts/sms/classes.smsservice.d.ts +0 -15
- package/dist_ts/sms/classes.smsservice.js +0 -72
- package/dist_ts/sms/config/sms.config.d.ts +0 -93
- package/dist_ts/sms/config/sms.config.js +0 -2
- package/dist_ts/sms/config/sms.schema.d.ts +0 -5
- package/dist_ts/sms/config/sms.schema.js +0 -121
- package/dist_ts/sms/index.d.ts +0 -1
- package/dist_ts/sms/index.js +0 -2
- package/dist_ts/vpn/classes.vpn-manager.d.ts +0 -159
- package/dist_ts/vpn/classes.vpn-manager.js +0 -459
- package/dist_ts/vpn/index.d.ts +0 -1
- package/dist_ts/vpn/index.js +0 -2
- package/dist_ts_apiclient/classes.apitoken.d.ts +0 -41
- package/dist_ts_apiclient/classes.apitoken.js +0 -115
- package/dist_ts_apiclient/classes.certificate.d.ts +0 -57
- package/dist_ts_apiclient/classes.certificate.js +0 -69
- package/dist_ts_apiclient/classes.config.d.ts +0 -7
- package/dist_ts_apiclient/classes.config.js +0 -11
- package/dist_ts_apiclient/classes.dcrouterapiclient.d.ts +0 -41
- package/dist_ts_apiclient/classes.dcrouterapiclient.js +0 -81
- package/dist_ts_apiclient/classes.email.d.ts +0 -30
- package/dist_ts_apiclient/classes.email.js +0 -52
- package/dist_ts_apiclient/classes.logs.d.ts +0 -21
- package/dist_ts_apiclient/classes.logs.js +0 -14
- package/dist_ts_apiclient/classes.radius.d.ts +0 -59
- package/dist_ts_apiclient/classes.radius.js +0 -95
- package/dist_ts_apiclient/classes.remoteingress.d.ts +0 -54
- package/dist_ts_apiclient/classes.remoteingress.js +0 -136
- package/dist_ts_apiclient/classes.route.d.ts +0 -39
- package/dist_ts_apiclient/classes.route.js +0 -125
- package/dist_ts_apiclient/classes.stats.d.ts +0 -47
- package/dist_ts_apiclient/classes.stats.js +0 -38
- package/dist_ts_apiclient/index.d.ts +0 -10
- package/dist_ts_apiclient/index.js +0 -14
- package/dist_ts_apiclient/plugins.d.ts +0 -3
- package/dist_ts_apiclient/plugins.js +0 -5
- package/dist_ts_interfaces/data/acme-config.d.ts +0 -25
- package/dist_ts_interfaces/data/acme-config.js +0 -2
- package/dist_ts_interfaces/data/auth.d.ts +0 -8
- package/dist_ts_interfaces/data/auth.js +0 -2
- package/dist_ts_interfaces/data/dns-provider.d.ts +0 -136
- package/dist_ts_interfaces/data/dns-provider.js +0 -41
- package/dist_ts_interfaces/data/dns-record.d.ts +0 -42
- package/dist_ts_interfaces/data/dns-record.js +0 -2
- package/dist_ts_interfaces/data/domain.d.ts +0 -35
- package/dist_ts_interfaces/data/domain.js +0 -2
- package/dist_ts_interfaces/data/email-domain.d.ts +0 -70
- package/dist_ts_interfaces/data/email-domain.js +0 -2
- package/dist_ts_interfaces/data/index.d.ts +0 -11
- package/dist_ts_interfaces/data/index.js +0 -12
- package/dist_ts_interfaces/data/remoteingress.d.ts +0 -60
- package/dist_ts_interfaces/data/remoteingress.js +0 -2
- package/dist_ts_interfaces/data/route-management.d.ts +0 -110
- package/dist_ts_interfaces/data/route-management.js +0 -2
- package/dist_ts_interfaces/data/stats.d.ts +0 -238
- package/dist_ts_interfaces/data/stats.js +0 -2
- package/dist_ts_interfaces/data/target-profile.d.ts +0 -28
- package/dist_ts_interfaces/data/target-profile.js +0 -2
- package/dist_ts_interfaces/data/vpn.d.ts +0 -61
- package/dist_ts_interfaces/data/vpn.js +0 -2
- package/dist_ts_interfaces/index.d.ts +0 -5
- package/dist_ts_interfaces/index.js +0 -8
- package/dist_ts_interfaces/plugins.d.ts +0 -2
- package/dist_ts_interfaces/plugins.js +0 -4
- package/dist_ts_interfaces/requests/acme-config.d.ts +0 -42
- package/dist_ts_interfaces/requests/acme-config.js +0 -2
- package/dist_ts_interfaces/requests/admin.d.ts +0 -31
- package/dist_ts_interfaces/requests/admin.js +0 -3
- package/dist_ts_interfaces/requests/api-tokens.d.ts +0 -79
- package/dist_ts_interfaces/requests/api-tokens.js +0 -2
- package/dist_ts_interfaces/requests/certificate.d.ts +0 -111
- package/dist_ts_interfaces/requests/certificate.js +0 -3
- package/dist_ts_interfaces/requests/combined.stats.d.ts +0 -28
- package/dist_ts_interfaces/requests/combined.stats.js +0 -2
- package/dist_ts_interfaces/requests/config.d.ts +0 -90
- package/dist_ts_interfaces/requests/config.js +0 -3
- package/dist_ts_interfaces/requests/dns-providers.d.ts +0 -117
- package/dist_ts_interfaces/requests/dns-providers.js +0 -2
- package/dist_ts_interfaces/requests/dns-records.d.ts +0 -89
- package/dist_ts_interfaces/requests/dns-records.js +0 -2
- package/dist_ts_interfaces/requests/domains.d.ts +0 -142
- package/dist_ts_interfaces/requests/domains.js +0 -2
- package/dist_ts_interfaces/requests/email-domains.d.ts +0 -142
- package/dist_ts_interfaces/requests/email-domains.js +0 -2
- package/dist_ts_interfaces/requests/email-ops.d.ts +0 -82
- package/dist_ts_interfaces/requests/email-ops.js +0 -3
- package/dist_ts_interfaces/requests/index.d.ts +0 -21
- package/dist_ts_interfaces/requests/index.js +0 -22
- package/dist_ts_interfaces/requests/logs.d.ts +0 -41
- package/dist_ts_interfaces/requests/logs.js +0 -4
- package/dist_ts_interfaces/requests/network-targets.d.ts +0 -102
- package/dist_ts_interfaces/requests/network-targets.js +0 -2
- package/dist_ts_interfaces/requests/radius.d.ts +0 -268
- package/dist_ts_interfaces/requests/radius.js +0 -3
- package/dist_ts_interfaces/requests/remoteingress.d.ts +0 -108
- package/dist_ts_interfaces/requests/remoteingress.js +0 -3
- package/dist_ts_interfaces/requests/route-management.d.ts +0 -85
- package/dist_ts_interfaces/requests/route-management.js +0 -2
- package/dist_ts_interfaces/requests/source-profiles.d.ts +0 -102
- package/dist_ts_interfaces/requests/source-profiles.js +0 -2
- package/dist_ts_interfaces/requests/stats.d.ts +0 -177
- package/dist_ts_interfaces/requests/stats.js +0 -4
- package/dist_ts_interfaces/requests/target-profiles.d.ts +0 -103
- package/dist_ts_interfaces/requests/target-profiles.js +0 -2
- package/dist_ts_interfaces/requests/users.d.ts +0 -19
- package/dist_ts_interfaces/requests/users.js +0 -3
- package/dist_ts_interfaces/requests/vpn.d.ts +0 -177
- package/dist_ts_interfaces/requests/vpn.js +0 -3
- package/dist_ts_migrations/index.d.ts +0 -28
- package/dist_ts_migrations/index.js +0 -82
- package/dist_ts_oci_container/index.d.ts +0 -8
- package/dist_ts_oci_container/index.js +0 -110
- package/dist_ts_oci_container/plugins.d.ts +0 -3
- package/dist_ts_oci_container/plugins.js +0 -4
- package/dist_ts_web/00_commitinfo_data.d.ts +0 -8
- package/dist_ts_web/00_commitinfo_data.js +0 -9
- package/dist_ts_web/appstate.d.ts +0 -478
- package/dist_ts_web/appstate.js +0 -1968
- package/dist_ts_web/elements/access/index.d.ts +0 -2
- package/dist_ts_web/elements/access/index.js +0 -3
- package/dist_ts_web/elements/access/ops-view-apitokens.d.ts +0 -13
- package/dist_ts_web/elements/access/ops-view-apitokens.js +0 -372
- package/dist_ts_web/elements/access/ops-view-users.d.ts +0 -11
- package/dist_ts_web/elements/access/ops-view-users.js +0 -190
- package/dist_ts_web/elements/domains/dns-provider-form.d.ts +0 -60
- package/dist_ts_web/elements/domains/dns-provider-form.js +0 -259
- package/dist_ts_web/elements/domains/index.d.ts +0 -5
- package/dist_ts_web/elements/domains/index.js +0 -6
- package/dist_ts_web/elements/domains/ops-view-certificates.d.ts +0 -25
- package/dist_ts_web/elements/domains/ops-view-certificates.js +0 -669
- package/dist_ts_web/elements/domains/ops-view-dns.d.ts +0 -17
- package/dist_ts_web/elements/domains/ops-view-dns.js +0 -305
- package/dist_ts_web/elements/domains/ops-view-domains.d.ts +0 -19
- package/dist_ts_web/elements/domains/ops-view-domains.js +0 -456
- package/dist_ts_web/elements/domains/ops-view-providers.d.ts +0 -21
- package/dist_ts_web/elements/domains/ops-view-providers.js +0 -330
- package/dist_ts_web/elements/email/index.d.ts +0 -3
- package/dist_ts_web/elements/email/index.js +0 -4
- package/dist_ts_web/elements/email/ops-view-email-domains.d.ts +0 -19
- package/dist_ts_web/elements/email/ops-view-email-domains.js +0 -410
- package/dist_ts_web/elements/email/ops-view-email-security.d.ts +0 -14
- package/dist_ts_web/elements/email/ops-view-email-security.js +0 -178
- package/dist_ts_web/elements/email/ops-view-emails.d.ts +0 -21
- package/dist_ts_web/elements/email/ops-view-emails.js +0 -165
- package/dist_ts_web/elements/index.d.ts +0 -9
- package/dist_ts_web/elements/index.js +0 -10
- package/dist_ts_web/elements/network/index.d.ts +0 -7
- package/dist_ts_web/elements/network/index.js +0 -8
- package/dist_ts_web/elements/network/ops-view-network-activity.d.ts +0 -60
- package/dist_ts_web/elements/network/ops-view-network-activity.js +0 -753
- package/dist_ts_web/elements/network/ops-view-networktargets.d.ts +0 -17
- package/dist_ts_web/elements/network/ops-view-networktargets.js +0 -255
- package/dist_ts_web/elements/network/ops-view-remoteingress.d.ts +0 -20
- package/dist_ts_web/elements/network/ops-view-remoteingress.js +0 -497
- package/dist_ts_web/elements/network/ops-view-routes.d.ts +0 -16
- package/dist_ts_web/elements/network/ops-view-routes.js +0 -674
- package/dist_ts_web/elements/network/ops-view-sourceprofiles.d.ts +0 -17
- package/dist_ts_web/elements/network/ops-view-sourceprofiles.js +0 -278
- package/dist_ts_web/elements/network/ops-view-targetprofiles.d.ts +0 -21
- package/dist_ts_web/elements/network/ops-view-targetprofiles.js +0 -420
- package/dist_ts_web/elements/network/ops-view-vpn.d.ts +0 -31
- package/dist_ts_web/elements/network/ops-view-vpn.js +0 -873
- package/dist_ts_web/elements/ops-dashboard.d.ts +0 -31
- package/dist_ts_web/elements/ops-dashboard.js +0 -405
- package/dist_ts_web/elements/ops-view-logs.d.ts +0 -13
- package/dist_ts_web/elements/ops-view-logs.js +0 -159
- package/dist_ts_web/elements/overview/index.d.ts +0 -2
- package/dist_ts_web/elements/overview/index.js +0 -3
- package/dist_ts_web/elements/overview/ops-view-config.d.ts +0 -19
- package/dist_ts_web/elements/overview/ops-view-config.js +0 -339
- package/dist_ts_web/elements/overview/ops-view-overview.d.ts +0 -24
- package/dist_ts_web/elements/overview/ops-view-overview.js +0 -545
- package/dist_ts_web/elements/security/index.d.ts +0 -3
- package/dist_ts_web/elements/security/index.js +0 -4
- package/dist_ts_web/elements/security/ops-view-security-authentication.d.ts +0 -13
- package/dist_ts_web/elements/security/ops-view-security-authentication.js +0 -157
- package/dist_ts_web/elements/security/ops-view-security-blocked.d.ts +0 -15
- package/dist_ts_web/elements/security/ops-view-security-blocked.js +0 -153
- package/dist_ts_web/elements/security/ops-view-security-overview.d.ts +0 -16
- package/dist_ts_web/elements/security/ops-view-security-overview.js +0 -205
- package/dist_ts_web/elements/shared/css.d.ts +0 -1
- package/dist_ts_web/elements/shared/css.js +0 -10
- package/dist_ts_web/elements/shared/index.d.ts +0 -1
- package/dist_ts_web/elements/shared/index.js +0 -2
- package/dist_ts_web/index.d.ts +0 -1
- package/dist_ts_web/index.js +0 -10
- package/dist_ts_web/plugins.d.ts +0 -7
- package/dist_ts_web/plugins.js +0 -13
- package/dist_ts_web/router.d.ts +0 -21
- package/dist_ts_web/router.js +0 -151
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
/**
|
|
3
|
-
* ICertManager implementation backed by smartdata document classes.
|
|
4
|
-
* Persists SmartAcme certificates via AcmeCertDoc so they
|
|
5
|
-
* survive process restarts without re-hitting ACME.
|
|
6
|
-
*/
|
|
7
|
-
export declare class StorageBackedCertManager implements plugins.smartacme.ICertManager {
|
|
8
|
-
constructor();
|
|
9
|
-
init(): Promise<void>;
|
|
10
|
-
retrieveCertificate(domainName: string): Promise<plugins.smartacme.Cert | null>;
|
|
11
|
-
storeCertificate(cert: plugins.smartacme.Cert): Promise<void>;
|
|
12
|
-
deleteCertificate(domainName: string): Promise<void>;
|
|
13
|
-
close(): Promise<void>;
|
|
14
|
-
wipe(): Promise<void>;
|
|
15
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import * as plugins from './plugins.js';
|
|
2
|
-
import { AcmeCertDoc } from './db/index.js';
|
|
3
|
-
/**
|
|
4
|
-
* ICertManager implementation backed by smartdata document classes.
|
|
5
|
-
* Persists SmartAcme certificates via AcmeCertDoc so they
|
|
6
|
-
* survive process restarts without re-hitting ACME.
|
|
7
|
-
*/
|
|
8
|
-
export class StorageBackedCertManager {
|
|
9
|
-
constructor() { }
|
|
10
|
-
async init() { }
|
|
11
|
-
async retrieveCertificate(domainName) {
|
|
12
|
-
const doc = await AcmeCertDoc.findByDomain(domainName);
|
|
13
|
-
if (!doc)
|
|
14
|
-
return null;
|
|
15
|
-
return new plugins.smartacme.Cert({
|
|
16
|
-
id: doc.id,
|
|
17
|
-
domainName: doc.domainName,
|
|
18
|
-
created: doc.created,
|
|
19
|
-
privateKey: doc.privateKey,
|
|
20
|
-
publicKey: doc.publicKey,
|
|
21
|
-
csr: doc.csr,
|
|
22
|
-
validUntil: doc.validUntil,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
async storeCertificate(cert) {
|
|
26
|
-
let doc = await AcmeCertDoc.findByDomain(cert.domainName);
|
|
27
|
-
if (!doc) {
|
|
28
|
-
doc = new AcmeCertDoc();
|
|
29
|
-
doc.id = cert.id;
|
|
30
|
-
doc.domainName = cert.domainName;
|
|
31
|
-
}
|
|
32
|
-
doc.created = cert.created;
|
|
33
|
-
doc.privateKey = cert.privateKey;
|
|
34
|
-
doc.publicKey = cert.publicKey;
|
|
35
|
-
doc.csr = cert.csr;
|
|
36
|
-
doc.validUntil = cert.validUntil;
|
|
37
|
-
await doc.save();
|
|
38
|
-
}
|
|
39
|
-
async deleteCertificate(domainName) {
|
|
40
|
-
const doc = await AcmeCertDoc.findByDomain(domainName);
|
|
41
|
-
if (doc) {
|
|
42
|
-
await doc.delete();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
async close() { }
|
|
46
|
-
async wipe() {
|
|
47
|
-
const docs = await AcmeCertDoc.findAll();
|
|
48
|
-
for (const doc of docs) {
|
|
49
|
-
await doc.delete();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zdG9yYWdlLWNlcnQtbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzL2NsYXNzZXMuc3RvcmFnZS1jZXJ0LW1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxnQkFBZSxDQUFDO0lBRWhCLEtBQUssQ0FBQyxJQUFJLEtBQW1CLENBQUM7SUFFOUIsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFVBQWtCO1FBQzFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNoQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7WUFDVixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7WUFDMUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ3BCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtZQUMxQixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7WUFDeEIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHO1lBQ1osVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBNEI7UUFDakQsSUFBSSxHQUFHLEdBQUcsTUFBTSxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxHQUFHLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUN4QixHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakIsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25DLENBQUM7UUFDRCxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDM0IsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMvQixHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbkIsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2pDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLEtBQW1CLENBQUM7SUFFL0IsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLElBQUksR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type { IStoredApiToken, IApiTokenInfo, TApiTokenScope } from '../../dist_ts_interfaces/data/route-management.js';
|
|
2
|
-
export declare class ApiTokenManager {
|
|
3
|
-
private tokens;
|
|
4
|
-
constructor();
|
|
5
|
-
initialize(): Promise<void>;
|
|
6
|
-
/**
|
|
7
|
-
* Create a new API token. Returns the raw token value (shown once).
|
|
8
|
-
*/
|
|
9
|
-
createToken(name: string, scopes: TApiTokenScope[], expiresInDays: number | null, createdBy: string): Promise<{
|
|
10
|
-
id: string;
|
|
11
|
-
rawToken: string;
|
|
12
|
-
}>;
|
|
13
|
-
/**
|
|
14
|
-
* Validate a raw token string. Returns the stored token if valid, null otherwise.
|
|
15
|
-
* Also updates lastUsedAt.
|
|
16
|
-
*/
|
|
17
|
-
validateToken(rawToken: string): Promise<IStoredApiToken | null>;
|
|
18
|
-
/**
|
|
19
|
-
* Check if a token has a specific scope.
|
|
20
|
-
*/
|
|
21
|
-
hasScope(token: IStoredApiToken, scope: TApiTokenScope): boolean;
|
|
22
|
-
/**
|
|
23
|
-
* List all tokens (safe info only, no hashes).
|
|
24
|
-
*/
|
|
25
|
-
listTokens(): IApiTokenInfo[];
|
|
26
|
-
/**
|
|
27
|
-
* Revoke (delete) a token.
|
|
28
|
-
*/
|
|
29
|
-
revokeToken(id: string): Promise<boolean>;
|
|
30
|
-
/**
|
|
31
|
-
* Roll (regenerate) a token's secret while keeping its identity.
|
|
32
|
-
* Returns the new raw token value (shown once).
|
|
33
|
-
*/
|
|
34
|
-
rollToken(id: string): Promise<{
|
|
35
|
-
id: string;
|
|
36
|
-
rawToken: string;
|
|
37
|
-
} | null>;
|
|
38
|
-
/**
|
|
39
|
-
* Enable or disable a token.
|
|
40
|
-
*/
|
|
41
|
-
toggleToken(id: string, enabled: boolean): Promise<boolean>;
|
|
42
|
-
private loadTokens;
|
|
43
|
-
private persistToken;
|
|
44
|
-
}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import * as plugins from '../plugins.js';
|
|
2
|
-
import { logger } from '../logger.js';
|
|
3
|
-
import { ApiTokenDoc } from '../db/index.js';
|
|
4
|
-
const TOKEN_PREFIX_STR = 'dcr_';
|
|
5
|
-
export class ApiTokenManager {
|
|
6
|
-
tokens = new Map();
|
|
7
|
-
constructor() { }
|
|
8
|
-
async initialize() {
|
|
9
|
-
await this.loadTokens();
|
|
10
|
-
if (this.tokens.size > 0) {
|
|
11
|
-
logger.log('info', `Loaded ${this.tokens.size} API token(s) from storage`);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
// =========================================================================
|
|
15
|
-
// Token lifecycle
|
|
16
|
-
// =========================================================================
|
|
17
|
-
/**
|
|
18
|
-
* Create a new API token. Returns the raw token value (shown once).
|
|
19
|
-
*/
|
|
20
|
-
async createToken(name, scopes, expiresInDays, createdBy) {
|
|
21
|
-
const id = plugins.uuid.v4();
|
|
22
|
-
const randomBytes = plugins.crypto.randomBytes(32);
|
|
23
|
-
const rawPayload = `${id}:${randomBytes.toString('base64url')}`;
|
|
24
|
-
const rawToken = `${TOKEN_PREFIX_STR}${rawPayload}`;
|
|
25
|
-
const tokenHash = plugins.crypto.createHash('sha256').update(rawToken).digest('hex');
|
|
26
|
-
const now = Date.now();
|
|
27
|
-
const stored = {
|
|
28
|
-
id,
|
|
29
|
-
name,
|
|
30
|
-
tokenHash,
|
|
31
|
-
scopes,
|
|
32
|
-
createdAt: now,
|
|
33
|
-
expiresAt: expiresInDays != null ? now + expiresInDays * 86400000 : null,
|
|
34
|
-
lastUsedAt: null,
|
|
35
|
-
createdBy,
|
|
36
|
-
enabled: true,
|
|
37
|
-
};
|
|
38
|
-
this.tokens.set(id, stored);
|
|
39
|
-
await this.persistToken(stored);
|
|
40
|
-
logger.log('info', `API token '${name}' created (id: ${id})`);
|
|
41
|
-
return { id, rawToken };
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Validate a raw token string. Returns the stored token if valid, null otherwise.
|
|
45
|
-
* Also updates lastUsedAt.
|
|
46
|
-
*/
|
|
47
|
-
async validateToken(rawToken) {
|
|
48
|
-
if (!rawToken.startsWith(TOKEN_PREFIX_STR))
|
|
49
|
-
return null;
|
|
50
|
-
const hash = plugins.crypto.createHash('sha256').update(rawToken).digest('hex');
|
|
51
|
-
for (const stored of this.tokens.values()) {
|
|
52
|
-
if (stored.tokenHash === hash) {
|
|
53
|
-
if (!stored.enabled)
|
|
54
|
-
return null;
|
|
55
|
-
if (stored.expiresAt !== null && stored.expiresAt < Date.now())
|
|
56
|
-
return null;
|
|
57
|
-
// Update lastUsedAt (fire and forget)
|
|
58
|
-
stored.lastUsedAt = Date.now();
|
|
59
|
-
this.persistToken(stored).catch(() => { });
|
|
60
|
-
return stored;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Check if a token has a specific scope.
|
|
67
|
-
*/
|
|
68
|
-
hasScope(token, scope) {
|
|
69
|
-
return token.scopes.includes(scope);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* List all tokens (safe info only, no hashes).
|
|
73
|
-
*/
|
|
74
|
-
listTokens() {
|
|
75
|
-
const result = [];
|
|
76
|
-
for (const stored of this.tokens.values()) {
|
|
77
|
-
result.push({
|
|
78
|
-
id: stored.id,
|
|
79
|
-
name: stored.name,
|
|
80
|
-
scopes: stored.scopes,
|
|
81
|
-
createdAt: stored.createdAt,
|
|
82
|
-
expiresAt: stored.expiresAt,
|
|
83
|
-
lastUsedAt: stored.lastUsedAt,
|
|
84
|
-
enabled: stored.enabled,
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return result;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Revoke (delete) a token.
|
|
91
|
-
*/
|
|
92
|
-
async revokeToken(id) {
|
|
93
|
-
if (!this.tokens.has(id))
|
|
94
|
-
return false;
|
|
95
|
-
const token = this.tokens.get(id);
|
|
96
|
-
this.tokens.delete(id);
|
|
97
|
-
const doc = await ApiTokenDoc.findById(id);
|
|
98
|
-
if (doc)
|
|
99
|
-
await doc.delete();
|
|
100
|
-
logger.log('info', `API token '${token.name}' revoked (id: ${id})`);
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Roll (regenerate) a token's secret while keeping its identity.
|
|
105
|
-
* Returns the new raw token value (shown once).
|
|
106
|
-
*/
|
|
107
|
-
async rollToken(id) {
|
|
108
|
-
const stored = this.tokens.get(id);
|
|
109
|
-
if (!stored)
|
|
110
|
-
return null;
|
|
111
|
-
const randomBytes = plugins.crypto.randomBytes(32);
|
|
112
|
-
const rawPayload = `${id}:${randomBytes.toString('base64url')}`;
|
|
113
|
-
const rawToken = `${TOKEN_PREFIX_STR}${rawPayload}`;
|
|
114
|
-
stored.tokenHash = plugins.crypto.createHash('sha256').update(rawToken).digest('hex');
|
|
115
|
-
await this.persistToken(stored);
|
|
116
|
-
logger.log('info', `API token '${stored.name}' rolled (id: ${id})`);
|
|
117
|
-
return { id, rawToken };
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Enable or disable a token.
|
|
121
|
-
*/
|
|
122
|
-
async toggleToken(id, enabled) {
|
|
123
|
-
const stored = this.tokens.get(id);
|
|
124
|
-
if (!stored)
|
|
125
|
-
return false;
|
|
126
|
-
stored.enabled = enabled;
|
|
127
|
-
await this.persistToken(stored);
|
|
128
|
-
logger.log('info', `API token '${stored.name}' ${enabled ? 'enabled' : 'disabled'} (id: ${id})`);
|
|
129
|
-
return true;
|
|
130
|
-
}
|
|
131
|
-
// =========================================================================
|
|
132
|
-
// Private
|
|
133
|
-
// =========================================================================
|
|
134
|
-
async loadTokens() {
|
|
135
|
-
const docs = await ApiTokenDoc.findAll();
|
|
136
|
-
for (const doc of docs) {
|
|
137
|
-
if (doc.id) {
|
|
138
|
-
this.tokens.set(doc.id, {
|
|
139
|
-
id: doc.id,
|
|
140
|
-
name: doc.name,
|
|
141
|
-
tokenHash: doc.tokenHash,
|
|
142
|
-
scopes: doc.scopes,
|
|
143
|
-
createdAt: doc.createdAt,
|
|
144
|
-
expiresAt: doc.expiresAt,
|
|
145
|
-
lastUsedAt: doc.lastUsedAt,
|
|
146
|
-
createdBy: doc.createdBy,
|
|
147
|
-
enabled: doc.enabled,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
async persistToken(stored) {
|
|
153
|
-
const existing = await ApiTokenDoc.findById(stored.id);
|
|
154
|
-
if (existing) {
|
|
155
|
-
existing.name = stored.name;
|
|
156
|
-
existing.tokenHash = stored.tokenHash;
|
|
157
|
-
existing.scopes = stored.scopes;
|
|
158
|
-
existing.createdAt = stored.createdAt;
|
|
159
|
-
existing.expiresAt = stored.expiresAt;
|
|
160
|
-
existing.lastUsedAt = stored.lastUsedAt;
|
|
161
|
-
existing.createdBy = stored.createdBy;
|
|
162
|
-
existing.enabled = stored.enabled;
|
|
163
|
-
await existing.save();
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
const doc = new ApiTokenDoc();
|
|
167
|
-
doc.id = stored.id;
|
|
168
|
-
doc.name = stored.name;
|
|
169
|
-
doc.tokenHash = stored.tokenHash;
|
|
170
|
-
doc.scopes = stored.scopes;
|
|
171
|
-
doc.createdAt = stored.createdAt;
|
|
172
|
-
doc.expiresAt = stored.expiresAt;
|
|
173
|
-
doc.lastUsedAt = stored.lastUsedAt;
|
|
174
|
-
doc.createdBy = stored.createdBy;
|
|
175
|
-
doc.enabled = stored.enabled;
|
|
176
|
-
await doc.save();
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hcGktdG9rZW4tbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL2NvbmZpZy9jbGFzc2VzLmFwaS10b2tlbi1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTzdDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBRWhDLE1BQU0sT0FBTyxlQUFlO0lBQ2xCLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztJQUVwRCxnQkFBZSxDQUFDO0lBRVQsS0FBSyxDQUFDLFVBQVU7UUFDckIsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxDQUFDO1FBQzdFLENBQUM7SUFDSCxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLGtCQUFrQjtJQUNsQiw0RUFBNEU7SUFFNUU7O09BRUc7SUFDSSxLQUFLLENBQUMsV0FBVyxDQUN0QixJQUFZLEVBQ1osTUFBd0IsRUFDeEIsYUFBNEIsRUFDNUIsU0FBaUI7UUFFakIsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM3QixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRCxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUUsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxF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
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { ReferenceResolver } from './classes.reference-resolver.js';
|
|
2
|
-
import type { IRouteSecurity } from '../../dist_ts_interfaces/data/route-management.js';
|
|
3
|
-
export interface ISeedData {
|
|
4
|
-
profiles?: Array<{
|
|
5
|
-
name: string;
|
|
6
|
-
description?: string;
|
|
7
|
-
security: IRouteSecurity;
|
|
8
|
-
extendsProfiles?: string[];
|
|
9
|
-
}>;
|
|
10
|
-
targets?: Array<{
|
|
11
|
-
name: string;
|
|
12
|
-
description?: string;
|
|
13
|
-
host: string | string[];
|
|
14
|
-
port: number;
|
|
15
|
-
}>;
|
|
16
|
-
}
|
|
17
|
-
export declare class DbSeeder {
|
|
18
|
-
private referenceResolver;
|
|
19
|
-
constructor(referenceResolver: ReferenceResolver);
|
|
20
|
-
/**
|
|
21
|
-
* Check if DB is empty and seed if configured.
|
|
22
|
-
* Called once during ConfigManagers service startup, after initialize().
|
|
23
|
-
*/
|
|
24
|
-
seedIfEmpty(seedOnEmpty?: boolean, seedData?: ISeedData): Promise<void>;
|
|
25
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { logger } from '../logger.js';
|
|
2
|
-
export class DbSeeder {
|
|
3
|
-
referenceResolver;
|
|
4
|
-
constructor(referenceResolver) {
|
|
5
|
-
this.referenceResolver = referenceResolver;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Check if DB is empty and seed if configured.
|
|
9
|
-
* Called once during ConfigManagers service startup, after initialize().
|
|
10
|
-
*/
|
|
11
|
-
async seedIfEmpty(seedOnEmpty, seedData) {
|
|
12
|
-
if (!seedOnEmpty)
|
|
13
|
-
return;
|
|
14
|
-
const existingProfiles = this.referenceResolver.listProfiles();
|
|
15
|
-
const existingTargets = this.referenceResolver.listTargets();
|
|
16
|
-
if (existingProfiles.length > 0 || existingTargets.length > 0) {
|
|
17
|
-
logger.log('info', 'DB already contains profiles/targets, skipping seed');
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
logger.log('info', 'Seeding database with initial profiles and targets...');
|
|
21
|
-
const profilesToSeed = seedData?.profiles ?? DEFAULT_PROFILES;
|
|
22
|
-
const targetsToSeed = seedData?.targets ?? DEFAULT_TARGETS;
|
|
23
|
-
for (const p of profilesToSeed) {
|
|
24
|
-
await this.referenceResolver.createProfile({
|
|
25
|
-
name: p.name,
|
|
26
|
-
description: p.description,
|
|
27
|
-
security: p.security,
|
|
28
|
-
extendsProfiles: p.extendsProfiles,
|
|
29
|
-
createdBy: 'system-seed',
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
for (const t of targetsToSeed) {
|
|
33
|
-
await this.referenceResolver.createTarget({
|
|
34
|
-
name: t.name,
|
|
35
|
-
description: t.description,
|
|
36
|
-
host: t.host,
|
|
37
|
-
port: t.port,
|
|
38
|
-
createdBy: 'system-seed',
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
logger.log('info', `Seeded ${profilesToSeed.length} profile(s) and ${targetsToSeed.length} target(s)`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
const DEFAULT_PROFILES = [
|
|
45
|
-
{
|
|
46
|
-
name: 'PUBLIC',
|
|
47
|
-
description: 'Allow all traffic — no IP restrictions',
|
|
48
|
-
security: {
|
|
49
|
-
ipAllowList: ['*'],
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: 'STANDARD',
|
|
54
|
-
description: 'Standard internal access with common private subnets',
|
|
55
|
-
security: {
|
|
56
|
-
ipAllowList: ['192.168.0.0/16', '10.0.0.0/8', '127.0.0.1', '::1'],
|
|
57
|
-
maxConnections: 1000,
|
|
58
|
-
},
|
|
59
|
-
},
|
|
60
|
-
];
|
|
61
|
-
const DEFAULT_TARGETS = [
|
|
62
|
-
{
|
|
63
|
-
name: 'LOCALHOST',
|
|
64
|
-
description: 'Local machine on port 443',
|
|
65
|
-
host: '127.0.0.1',
|
|
66
|
-
port: 443,
|
|
67
|
-
},
|
|
68
|
-
];
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kYi1zZWVkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jb25maWcvY2xhc3Nlcy5kYi1zZWVkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQW1CdEMsTUFBTSxPQUFPLFFBQVE7SUFDQztJQUFwQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFHLENBQUM7SUFFNUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FDdEIsV0FBcUIsRUFDckIsUUFBb0I7UUFFcEIsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBRXpCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9ELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU3RCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5RCxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxxREFBcUQsQ0FBQyxDQUFDO1lBQzFFLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsdURBQXVELENBQUMsQ0FBQztRQUU1RSxNQUFNLGNBQWMsR0FBdUMsUUFBUSxFQUFFLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQztRQUNsRyxNQUFNLGFBQWEsR0FBc0MsUUFBUSxFQUFFLE9BQU8sSUFBSSxlQUFlLENBQUM7UUFFOUYsS0FBSyxNQUFNLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUMvQixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7Z0JBQ3pDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVc7Z0JBQzFCLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUTtnQkFDcEIsZUFBZSxFQUFFLENBQUMsQ0FBQyxlQUFlO2dCQUNsQyxTQUFTLEVBQUUsYUFBYTthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsS0FBSyxNQUFNLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3hDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVc7Z0JBQzFCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0JBQ1osU0FBUyxFQUFFLGFBQWE7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsY0FBYyxDQUFDLE1BQU0sbUJBQW1CLGFBQWEsQ0FBQyxNQUFNLFlBQVksQ0FBQyxDQUFDO0lBQ3pHLENBQUM7Q0FDRjtBQUVELE1BQU0sZ0JBQWdCLEdBQXNEO0lBQzFFO1FBQ0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxXQUFXLEVBQUUsd0NBQXdDO1FBQ3JELFFBQVEsRUFBRTtZQUNSLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUNuQjtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsVUFBVTtRQUNoQixXQUFXLEVBQUUsc0RBQXNEO1FBQ25FLFFBQVEsRUFBRTtZQUNSLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDO1lBQ2pFLGNBQWMsRUFBRSxJQUFJO1NBQ3JCO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQXFEO0lBQ3hFO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUsR0FBRztLQUNWO0NBQ0YsQ0FBQyJ9
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import * as plugins from '../plugins.js';
|
|
2
|
-
import type { ISourceProfile, INetworkTarget, IRouteMetadata, IRoute, IRouteSecurity } from '../../dist_ts_interfaces/data/route-management.js';
|
|
3
|
-
export declare class ReferenceResolver {
|
|
4
|
-
private profiles;
|
|
5
|
-
private targets;
|
|
6
|
-
initialize(): Promise<void>;
|
|
7
|
-
createProfile(data: {
|
|
8
|
-
name: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
security: IRouteSecurity;
|
|
11
|
-
extendsProfiles?: string[];
|
|
12
|
-
createdBy: string;
|
|
13
|
-
}): Promise<string>;
|
|
14
|
-
updateProfile(id: string, patch: Partial<Omit<ISourceProfile, 'id' | 'createdAt' | 'createdBy'>>): Promise<{
|
|
15
|
-
affectedRouteIds: string[];
|
|
16
|
-
}>;
|
|
17
|
-
deleteProfile(id: string, force: boolean, storedRoutes?: Map<string, IRoute>): Promise<{
|
|
18
|
-
success: boolean;
|
|
19
|
-
message?: string;
|
|
20
|
-
}>;
|
|
21
|
-
getProfile(id: string): ISourceProfile | undefined;
|
|
22
|
-
getProfileByName(name: string): ISourceProfile | undefined;
|
|
23
|
-
listProfiles(): ISourceProfile[];
|
|
24
|
-
getProfileUsage(storedRoutes: Map<string, IRoute>): Map<string, Array<{
|
|
25
|
-
id: string;
|
|
26
|
-
routeName: string;
|
|
27
|
-
}>>;
|
|
28
|
-
getProfileUsageForId(profileId: string, storedRoutes: Map<string, IRoute>): Array<{
|
|
29
|
-
id: string;
|
|
30
|
-
routeName: string;
|
|
31
|
-
}>;
|
|
32
|
-
createTarget(data: {
|
|
33
|
-
name: string;
|
|
34
|
-
description?: string;
|
|
35
|
-
host: string | string[];
|
|
36
|
-
port: number;
|
|
37
|
-
createdBy: string;
|
|
38
|
-
}): Promise<string>;
|
|
39
|
-
updateTarget(id: string, patch: Partial<Omit<INetworkTarget, 'id' | 'createdAt' | 'createdBy'>>): Promise<{
|
|
40
|
-
affectedRouteIds: string[];
|
|
41
|
-
}>;
|
|
42
|
-
deleteTarget(id: string, force: boolean, storedRoutes?: Map<string, IRoute>): Promise<{
|
|
43
|
-
success: boolean;
|
|
44
|
-
message?: string;
|
|
45
|
-
}>;
|
|
46
|
-
getTarget(id: string): INetworkTarget | undefined;
|
|
47
|
-
getTargetByName(name: string): INetworkTarget | undefined;
|
|
48
|
-
listTargets(): INetworkTarget[];
|
|
49
|
-
getTargetUsageForId(targetId: string, storedRoutes: Map<string, IRoute>): Array<{
|
|
50
|
-
id: string;
|
|
51
|
-
routeName: string;
|
|
52
|
-
}>;
|
|
53
|
-
/**
|
|
54
|
-
* Resolve references for a single route.
|
|
55
|
-
* Materializes source profile and/or network target into the route's fields.
|
|
56
|
-
* Returns the resolved route and updated metadata.
|
|
57
|
-
*/
|
|
58
|
-
resolveRoute(route: plugins.smartproxy.IRouteConfig, metadata?: IRouteMetadata): {
|
|
59
|
-
route: plugins.smartproxy.IRouteConfig;
|
|
60
|
-
metadata: IRouteMetadata;
|
|
61
|
-
};
|
|
62
|
-
findRoutesByProfileRef(profileId: string): Promise<string[]>;
|
|
63
|
-
findRoutesByTargetRef(targetId: string): Promise<string[]>;
|
|
64
|
-
findRoutesByProfileRefSync(profileId: string, storedRoutes: Map<string, IRoute>): string[];
|
|
65
|
-
findRoutesByTargetRefSync(targetId: string, storedRoutes: Map<string, IRoute>): string[];
|
|
66
|
-
private resolveSourceProfile;
|
|
67
|
-
/**
|
|
68
|
-
* Merge two IRouteSecurity objects.
|
|
69
|
-
* `override` values take precedence over `base` values.
|
|
70
|
-
* For ipAllowList/ipBlockList: union arrays and deduplicate.
|
|
71
|
-
* For scalar/object fields: override wins if present.
|
|
72
|
-
*/
|
|
73
|
-
private mergeSecurityFields;
|
|
74
|
-
private loadProfiles;
|
|
75
|
-
private loadTargets;
|
|
76
|
-
private persistProfile;
|
|
77
|
-
private persistTarget;
|
|
78
|
-
private clearProfileRefsOnRoutes;
|
|
79
|
-
private clearTargetRefsOnRoutes;
|
|
80
|
-
}
|