@serve.zone/dcrouter 13.17.0 → 13.17.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_serve/bundle.js +3 -3
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/acme/index.d.ts +1 -0
- package/dist_ts/acme/index.js +2 -0
- package/dist_ts/acme/manager.acme-config.d.ts +48 -0
- package/dist_ts/acme/manager.acme-config.js +156 -0
- package/dist_ts/classes.cert-provision-scheduler.d.ts +52 -0
- package/dist_ts/classes.cert-provision-scheduler.js +138 -0
- package/dist_ts/classes.dcrouter.d.ts +401 -0
- package/dist_ts/classes.dcrouter.js +1852 -0
- package/dist_ts/classes.storage-cert-manager.d.ts +15 -0
- package/dist_ts/classes.storage-cert-manager.js +53 -0
- package/dist_ts/config/classes.api-token-manager.d.ts +44 -0
- package/dist_ts/config/classes.api-token-manager.js +180 -0
- package/dist_ts/config/classes.db-seeder.d.ts +25 -0
- package/dist_ts/config/classes.db-seeder.js +69 -0
- package/dist_ts/config/classes.reference-resolver.d.ts +80 -0
- package/dist_ts/config/classes.reference-resolver.js +483 -0
- package/dist_ts/config/classes.route-config-manager.d.ts +54 -0
- package/dist_ts/config/classes.route-config-manager.js +370 -0
- package/dist_ts/config/classes.target-profile-manager.d.ts +82 -0
- package/dist_ts/config/classes.target-profile-manager.js +349 -0
- package/dist_ts/config/index.d.ts +6 -0
- package/dist_ts/config/index.js +8 -0
- package/dist_ts/config/validator.d.ts +104 -0
- package/dist_ts/config/validator.js +152 -0
- package/dist_ts/db/classes.cache.cleaner.d.ts +47 -0
- package/dist_ts/db/classes.cache.cleaner.js +130 -0
- package/dist_ts/db/classes.cached.document.d.ts +76 -0
- package/dist_ts/db/classes.cached.document.js +100 -0
- package/dist_ts/db/classes.dcrouter-db.d.ts +70 -0
- package/dist_ts/db/classes.dcrouter-db.js +146 -0
- package/dist_ts/db/documents/classes.accounting-session.doc.d.ts +32 -0
- package/dist_ts/db/documents/classes.accounting-session.doc.js +214 -0
- package/dist_ts/db/documents/classes.acme-cert.doc.d.ts +13 -0
- package/dist_ts/db/documents/classes.acme-cert.doc.js +109 -0
- package/dist_ts/db/documents/classes.acme-config.doc.d.ts +22 -0
- package/dist_ts/db/documents/classes.acme-config.doc.js +121 -0
- package/dist_ts/db/documents/classes.api-token.doc.d.ts +18 -0
- package/dist_ts/db/documents/classes.api-token.doc.js +127 -0
- package/dist_ts/db/documents/classes.cached.email.d.ts +125 -0
- package/dist_ts/db/documents/classes.cached.email.js +337 -0
- package/dist_ts/db/documents/classes.cached.ip.reputation.d.ts +119 -0
- package/dist_ts/db/documents/classes.cached.ip.reputation.js +323 -0
- package/dist_ts/db/documents/classes.cert-backoff.doc.d.ts +11 -0
- package/dist_ts/db/documents/classes.cert-backoff.doc.js +97 -0
- package/dist_ts/db/documents/classes.dns-provider.doc.d.ts +22 -0
- package/dist_ts/db/documents/classes.dns-provider.doc.js +134 -0
- package/dist_ts/db/documents/classes.dns-record.doc.d.ts +21 -0
- package/dist_ts/db/documents/classes.dns-record.doc.js +143 -0
- package/dist_ts/db/documents/classes.domain.doc.d.ts +22 -0
- package/dist_ts/db/documents/classes.domain.doc.js +146 -0
- package/dist_ts/db/documents/classes.email-domain.doc.d.ts +17 -0
- package/dist_ts/db/documents/classes.email-domain.doc.js +124 -0
- package/dist_ts/db/documents/classes.network-target.doc.d.ts +15 -0
- package/dist_ts/db/documents/classes.network-target.doc.js +118 -0
- package/dist_ts/db/documents/classes.proxy-cert.doc.d.ts +12 -0
- package/dist_ts/db/documents/classes.proxy-cert.doc.js +103 -0
- package/dist_ts/db/documents/classes.remote-ingress-edge.doc.d.ts +17 -0
- package/dist_ts/db/documents/classes.remote-ingress-edge.doc.js +130 -0
- package/dist_ts/db/documents/classes.route.doc.d.ts +18 -0
- package/dist_ts/db/documents/classes.route.doc.js +121 -0
- package/dist_ts/db/documents/classes.source-profile.doc.d.ts +15 -0
- package/dist_ts/db/documents/classes.source-profile.doc.js +115 -0
- package/dist_ts/db/documents/classes.target-profile.doc.d.ts +16 -0
- package/dist_ts/db/documents/classes.target-profile.doc.js +121 -0
- package/dist_ts/db/documents/classes.vlan-mappings.doc.d.ts +15 -0
- package/dist_ts/db/documents/classes.vlan-mappings.doc.js +77 -0
- package/dist_ts/db/documents/classes.vpn-client.doc.d.ts +23 -0
- package/dist_ts/db/documents/classes.vpn-client.doc.js +172 -0
- package/dist_ts/db/documents/classes.vpn-server-keys.doc.d.ts +10 -0
- package/dist_ts/db/documents/classes.vpn-server-keys.doc.js +94 -0
- package/dist_ts/db/documents/index.d.ts +20 -0
- package/dist_ts/db/documents/index.js +30 -0
- package/dist_ts/db/index.d.ts +4 -0
- package/dist_ts/db/index.js +9 -0
- package/dist_ts/dns/index.d.ts +2 -0
- package/dist_ts/dns/index.js +3 -0
- package/dist_ts/dns/manager.dns.d.ts +267 -0
- package/dist_ts/dns/manager.dns.js +906 -0
- package/dist_ts/dns/providers/cloudflare.provider.d.ts +21 -0
- package/dist_ts/dns/providers/cloudflare.provider.js +106 -0
- package/dist_ts/dns/providers/factory.d.ts +23 -0
- package/dist_ts/dns/providers/factory.js +47 -0
- package/dist_ts/dns/providers/index.d.ts +3 -0
- package/dist_ts/dns/providers/index.js +4 -0
- package/dist_ts/dns/providers/interfaces.d.ts +54 -0
- package/dist_ts/dns/providers/interfaces.js +2 -0
- package/dist_ts/email/classes.email-domain.manager.d.ts +46 -0
- package/dist_ts/email/classes.email-domain.manager.js +276 -0
- package/dist_ts/email/index.d.ts +1 -0
- package/dist_ts/email/index.js +2 -0
- package/dist_ts/errors/base.errors.d.ts +224 -0
- package/dist_ts/errors/base.errors.js +320 -0
- package/dist_ts/errors/error-handler.d.ts +98 -0
- package/dist_ts/errors/error-handler.js +282 -0
- package/dist_ts/errors/error.codes.d.ts +115 -0
- package/dist_ts/errors/error.codes.js +136 -0
- package/dist_ts/errors/index.d.ts +54 -0
- package/dist_ts/errors/index.js +136 -0
- package/dist_ts/errors/reputation.errors.d.ts +183 -0
- package/dist_ts/errors/reputation.errors.js +292 -0
- package/dist_ts/http3/http3-route-augmentation.d.ts +50 -0
- package/dist_ts/http3/http3-route-augmentation.js +98 -0
- package/dist_ts/http3/index.d.ts +1 -0
- package/dist_ts/http3/index.js +2 -0
- package/dist_ts/index.d.ts +8 -0
- package/dist_ts/index.js +29 -0
- package/dist_ts/logger.d.ts +21 -0
- package/dist_ts/logger.js +81 -0
- package/dist_ts/monitoring/classes.metricscache.d.ts +32 -0
- package/dist_ts/monitoring/classes.metricscache.js +63 -0
- package/dist_ts/monitoring/classes.metricsmanager.d.ts +235 -0
- package/dist_ts/monitoring/classes.metricsmanager.js +875 -0
- package/dist_ts/monitoring/index.d.ts +1 -0
- package/dist_ts/monitoring/index.js +2 -0
- package/dist_ts/opsserver/classes.opsserver.d.ts +47 -0
- package/dist_ts/opsserver/classes.opsserver.js +105 -0
- package/dist_ts/opsserver/handlers/acme-config.handler.d.ts +16 -0
- package/dist_ts/opsserver/handlers/acme-config.handler.js +77 -0
- package/dist_ts/opsserver/handlers/admin.handler.d.ts +40 -0
- package/dist_ts/opsserver/handlers/admin.handler.js +191 -0
- package/dist_ts/opsserver/handlers/api-token.handler.d.ts +6 -0
- package/dist_ts/opsserver/handlers/api-token.handler.js +62 -0
- package/dist_ts/opsserver/handlers/certificate.handler.d.ts +77 -0
- package/dist_ts/opsserver/handlers/certificate.handler.js +574 -0
- package/dist_ts/opsserver/handlers/config.handler.d.ts +7 -0
- package/dist_ts/opsserver/handlers/config.handler.js +200 -0
- package/dist_ts/opsserver/handlers/dns-provider.handler.d.ts +16 -0
- package/dist_ts/opsserver/handlers/dns-provider.handler.js +156 -0
- package/dist_ts/opsserver/handlers/dns-record.handler.d.ts +13 -0
- package/dist_ts/opsserver/handlers/dns-record.handler.js +98 -0
- package/dist_ts/opsserver/handlers/domain.handler.d.ts +13 -0
- package/dist_ts/opsserver/handlers/domain.handler.js +137 -0
- package/dist_ts/opsserver/handlers/email-domain.handler.d.ts +16 -0
- package/dist_ts/opsserver/handlers/email-domain.handler.js +150 -0
- package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +30 -0
- package/dist_ts/opsserver/handlers/email-ops.handler.js +227 -0
- package/dist_ts/opsserver/handlers/index.d.ts +21 -0
- package/dist_ts/opsserver/handlers/index.js +22 -0
- package/dist_ts/opsserver/handlers/logs.handler.d.ts +25 -0
- package/dist_ts/opsserver/handlers/logs.handler.js +264 -0
- package/dist_ts/opsserver/handlers/network-target.handler.d.ts +10 -0
- package/dist_ts/opsserver/handlers/network-target.handler.js +117 -0
- package/dist_ts/opsserver/handlers/radius.handler.d.ts +6 -0
- package/dist_ts/opsserver/handlers/radius.handler.js +295 -0
- package/dist_ts/opsserver/handlers/remoteingress.handler.d.ts +6 -0
- package/dist_ts/opsserver/handlers/remoteingress.handler.js +156 -0
- package/dist_ts/opsserver/handlers/route-management.handler.d.ts +14 -0
- package/dist_ts/opsserver/handlers/route-management.handler.js +98 -0
- package/dist_ts/opsserver/handlers/security.handler.d.ts +9 -0
- package/dist_ts/opsserver/handlers/security.handler.js +237 -0
- package/dist_ts/opsserver/handlers/source-profile.handler.d.ts +10 -0
- package/dist_ts/opsserver/handlers/source-profile.handler.js +119 -0
- package/dist_ts/opsserver/handlers/stats.handler.d.ts +11 -0
- package/dist_ts/opsserver/handlers/stats.handler.js +461 -0
- package/dist_ts/opsserver/handlers/target-profile.handler.d.ts +10 -0
- package/dist_ts/opsserver/handlers/target-profile.handler.js +117 -0
- package/dist_ts/opsserver/handlers/users.handler.d.ts +12 -0
- package/dist_ts/opsserver/handlers/users.handler.js +24 -0
- package/dist_ts/opsserver/handlers/vpn.handler.d.ts +6 -0
- package/dist_ts/opsserver/handlers/vpn.handler.js +262 -0
- package/dist_ts/opsserver/helpers/guards.d.ts +27 -0
- package/dist_ts/opsserver/helpers/guards.js +43 -0
- package/dist_ts/opsserver/index.d.ts +1 -0
- package/dist_ts/opsserver/index.js +2 -0
- package/dist_ts/paths.d.ts +25 -0
- package/dist_ts/paths.js +44 -0
- package/dist_ts/plugins.d.ts +81 -0
- package/dist_ts/plugins.js +115 -0
- package/dist_ts/radius/classes.accounting.manager.d.ts +223 -0
- package/dist_ts/radius/classes.accounting.manager.js +449 -0
- package/dist_ts/radius/classes.radius.server.d.ts +169 -0
- package/dist_ts/radius/classes.radius.server.js +384 -0
- package/dist_ts/radius/classes.vlan.manager.d.ts +124 -0
- package/dist_ts/radius/classes.vlan.manager.js +272 -0
- package/dist_ts/radius/index.d.ts +13 -0
- package/dist_ts/radius/index.js +14 -0
- package/dist_ts/remoteingress/classes.remoteingress-manager.d.ts +92 -0
- package/dist_ts/remoteingress/classes.remoteingress-manager.js +291 -0
- package/dist_ts/remoteingress/classes.tunnel-manager.d.ts +59 -0
- package/dist_ts/remoteingress/classes.tunnel-manager.js +165 -0
- package/dist_ts/remoteingress/index.d.ts +2 -0
- package/dist_ts/remoteingress/index.js +3 -0
- package/dist_ts/security/classes.contentscanner.d.ts +164 -0
- package/dist_ts/security/classes.contentscanner.js +642 -0
- package/dist_ts/security/classes.ipreputationchecker.d.ts +145 -0
- package/dist_ts/security/classes.ipreputationchecker.js +458 -0
- package/dist_ts/security/classes.securitylogger.d.ts +144 -0
- package/dist_ts/security/classes.securitylogger.js +235 -0
- package/dist_ts/security/index.d.ts +3 -0
- package/dist_ts/security/index.js +4 -0
- package/dist_ts/sms/classes.smsservice.d.ts +15 -0
- package/dist_ts/sms/classes.smsservice.js +72 -0
- package/dist_ts/sms/config/sms.config.d.ts +93 -0
- package/dist_ts/sms/config/sms.config.js +2 -0
- package/dist_ts/sms/config/sms.schema.d.ts +5 -0
- package/dist_ts/sms/config/sms.schema.js +121 -0
- package/dist_ts/sms/index.d.ts +1 -0
- package/dist_ts/sms/index.js +2 -0
- package/dist_ts/vpn/classes.vpn-manager.d.ts +159 -0
- package/dist_ts/vpn/classes.vpn-manager.js +459 -0
- package/dist_ts/vpn/index.d.ts +1 -0
- package/dist_ts/vpn/index.js +2 -0
- package/dist_ts_apiclient/classes.apitoken.d.ts +41 -0
- package/dist_ts_apiclient/classes.apitoken.js +115 -0
- package/dist_ts_apiclient/classes.certificate.d.ts +57 -0
- package/dist_ts_apiclient/classes.certificate.js +69 -0
- package/dist_ts_apiclient/classes.config.d.ts +7 -0
- package/dist_ts_apiclient/classes.config.js +11 -0
- package/dist_ts_apiclient/classes.dcrouterapiclient.d.ts +41 -0
- package/dist_ts_apiclient/classes.dcrouterapiclient.js +81 -0
- package/dist_ts_apiclient/classes.email.d.ts +30 -0
- package/dist_ts_apiclient/classes.email.js +52 -0
- package/dist_ts_apiclient/classes.logs.d.ts +21 -0
- package/dist_ts_apiclient/classes.logs.js +14 -0
- package/dist_ts_apiclient/classes.radius.d.ts +59 -0
- package/dist_ts_apiclient/classes.radius.js +95 -0
- package/dist_ts_apiclient/classes.remoteingress.d.ts +54 -0
- package/dist_ts_apiclient/classes.remoteingress.js +136 -0
- package/dist_ts_apiclient/classes.route.d.ts +39 -0
- package/dist_ts_apiclient/classes.route.js +125 -0
- package/dist_ts_apiclient/classes.stats.d.ts +47 -0
- package/dist_ts_apiclient/classes.stats.js +38 -0
- package/dist_ts_apiclient/index.d.ts +10 -0
- package/dist_ts_apiclient/index.js +14 -0
- package/dist_ts_apiclient/plugins.d.ts +3 -0
- package/dist_ts_apiclient/plugins.js +5 -0
- package/dist_ts_interfaces/data/acme-config.d.ts +25 -0
- package/dist_ts_interfaces/data/acme-config.js +2 -0
- package/dist_ts_interfaces/data/auth.d.ts +8 -0
- package/dist_ts_interfaces/data/auth.js +2 -0
- package/dist_ts_interfaces/data/dns-provider.d.ts +136 -0
- package/dist_ts_interfaces/data/dns-provider.js +41 -0
- package/dist_ts_interfaces/data/dns-record.d.ts +42 -0
- package/dist_ts_interfaces/data/dns-record.js +2 -0
- package/dist_ts_interfaces/data/domain.d.ts +35 -0
- package/dist_ts_interfaces/data/domain.js +2 -0
- package/dist_ts_interfaces/data/email-domain.d.ts +70 -0
- package/dist_ts_interfaces/data/email-domain.js +2 -0
- package/dist_ts_interfaces/data/index.d.ts +11 -0
- package/dist_ts_interfaces/data/index.js +12 -0
- package/dist_ts_interfaces/data/remoteingress.d.ts +60 -0
- package/dist_ts_interfaces/data/remoteingress.js +2 -0
- package/dist_ts_interfaces/data/route-management.d.ts +110 -0
- package/dist_ts_interfaces/data/route-management.js +2 -0
- package/dist_ts_interfaces/data/stats.d.ts +239 -0
- package/dist_ts_interfaces/data/stats.js +2 -0
- package/dist_ts_interfaces/data/target-profile.d.ts +28 -0
- package/dist_ts_interfaces/data/target-profile.js +2 -0
- package/dist_ts_interfaces/data/vpn.d.ts +61 -0
- package/dist_ts_interfaces/data/vpn.js +2 -0
- package/dist_ts_interfaces/index.d.ts +5 -0
- package/dist_ts_interfaces/index.js +8 -0
- package/dist_ts_interfaces/plugins.d.ts +2 -0
- package/dist_ts_interfaces/plugins.js +4 -0
- package/dist_ts_interfaces/requests/acme-config.d.ts +42 -0
- package/dist_ts_interfaces/requests/acme-config.js +2 -0
- package/dist_ts_interfaces/requests/admin.d.ts +31 -0
- package/dist_ts_interfaces/requests/admin.js +3 -0
- package/dist_ts_interfaces/requests/api-tokens.d.ts +79 -0
- package/dist_ts_interfaces/requests/api-tokens.js +2 -0
- package/dist_ts_interfaces/requests/certificate.d.ts +111 -0
- package/dist_ts_interfaces/requests/certificate.js +3 -0
- package/dist_ts_interfaces/requests/combined.stats.d.ts +28 -0
- package/dist_ts_interfaces/requests/combined.stats.js +2 -0
- package/dist_ts_interfaces/requests/config.d.ts +90 -0
- package/dist_ts_interfaces/requests/config.js +3 -0
- package/dist_ts_interfaces/requests/dns-providers.d.ts +117 -0
- package/dist_ts_interfaces/requests/dns-providers.js +2 -0
- package/dist_ts_interfaces/requests/dns-records.d.ts +89 -0
- package/dist_ts_interfaces/requests/dns-records.js +2 -0
- package/dist_ts_interfaces/requests/domains.d.ts +142 -0
- package/dist_ts_interfaces/requests/domains.js +2 -0
- package/dist_ts_interfaces/requests/email-domains.d.ts +142 -0
- package/dist_ts_interfaces/requests/email-domains.js +2 -0
- package/dist_ts_interfaces/requests/email-ops.d.ts +82 -0
- package/dist_ts_interfaces/requests/email-ops.js +3 -0
- package/dist_ts_interfaces/requests/index.d.ts +21 -0
- package/dist_ts_interfaces/requests/index.js +22 -0
- package/dist_ts_interfaces/requests/logs.d.ts +41 -0
- package/dist_ts_interfaces/requests/logs.js +4 -0
- package/dist_ts_interfaces/requests/network-targets.d.ts +102 -0
- package/dist_ts_interfaces/requests/network-targets.js +2 -0
- package/dist_ts_interfaces/requests/radius.d.ts +268 -0
- package/dist_ts_interfaces/requests/radius.js +3 -0
- package/dist_ts_interfaces/requests/remoteingress.d.ts +108 -0
- package/dist_ts_interfaces/requests/remoteingress.js +3 -0
- package/dist_ts_interfaces/requests/route-management.d.ts +85 -0
- package/dist_ts_interfaces/requests/route-management.js +2 -0
- package/dist_ts_interfaces/requests/source-profiles.d.ts +102 -0
- package/dist_ts_interfaces/requests/source-profiles.js +2 -0
- package/dist_ts_interfaces/requests/stats.d.ts +177 -0
- package/dist_ts_interfaces/requests/stats.js +4 -0
- package/dist_ts_interfaces/requests/target-profiles.d.ts +103 -0
- package/dist_ts_interfaces/requests/target-profiles.js +2 -0
- package/dist_ts_interfaces/requests/users.d.ts +19 -0
- package/dist_ts_interfaces/requests/users.js +3 -0
- package/dist_ts_interfaces/requests/vpn.d.ts +177 -0
- package/dist_ts_interfaces/requests/vpn.js +3 -0
- package/dist_ts_migrations/index.d.ts +28 -0
- package/dist_ts_migrations/index.js +82 -0
- package/dist_ts_oci_container/index.d.ts +8 -0
- package/dist_ts_oci_container/index.js +110 -0
- package/dist_ts_oci_container/plugins.d.ts +3 -0
- package/dist_ts_oci_container/plugins.js +4 -0
- package/dist_ts_web/00_commitinfo_data.d.ts +8 -0
- package/dist_ts_web/00_commitinfo_data.js +9 -0
- package/dist_ts_web/appstate.d.ts +478 -0
- package/dist_ts_web/appstate.js +1968 -0
- package/dist_ts_web/elements/access/index.d.ts +2 -0
- package/dist_ts_web/elements/access/index.js +3 -0
- package/dist_ts_web/elements/access/ops-view-apitokens.d.ts +13 -0
- package/dist_ts_web/elements/access/ops-view-apitokens.js +372 -0
- package/dist_ts_web/elements/access/ops-view-users.d.ts +11 -0
- package/dist_ts_web/elements/access/ops-view-users.js +190 -0
- package/dist_ts_web/elements/domains/dns-provider-form.d.ts +60 -0
- package/dist_ts_web/elements/domains/dns-provider-form.js +259 -0
- package/dist_ts_web/elements/domains/index.d.ts +5 -0
- package/dist_ts_web/elements/domains/index.js +6 -0
- package/dist_ts_web/elements/domains/ops-view-certificates.d.ts +25 -0
- package/dist_ts_web/elements/domains/ops-view-certificates.js +669 -0
- package/dist_ts_web/elements/domains/ops-view-dns.d.ts +17 -0
- package/dist_ts_web/elements/domains/ops-view-dns.js +305 -0
- package/dist_ts_web/elements/domains/ops-view-domains.d.ts +19 -0
- package/dist_ts_web/elements/domains/ops-view-domains.js +456 -0
- package/dist_ts_web/elements/domains/ops-view-providers.d.ts +21 -0
- package/dist_ts_web/elements/domains/ops-view-providers.js +330 -0
- package/dist_ts_web/elements/email/index.d.ts +3 -0
- package/dist_ts_web/elements/email/index.js +4 -0
- package/dist_ts_web/elements/email/ops-view-email-domains.d.ts +19 -0
- package/dist_ts_web/elements/email/ops-view-email-domains.js +410 -0
- package/dist_ts_web/elements/email/ops-view-email-security.d.ts +14 -0
- package/dist_ts_web/elements/email/ops-view-email-security.js +178 -0
- package/dist_ts_web/elements/email/ops-view-emails.d.ts +21 -0
- package/dist_ts_web/elements/email/ops-view-emails.js +165 -0
- package/dist_ts_web/elements/index.d.ts +9 -0
- package/dist_ts_web/elements/index.js +10 -0
- package/dist_ts_web/elements/network/index.d.ts +7 -0
- package/dist_ts_web/elements/network/index.js +8 -0
- package/dist_ts_web/elements/network/ops-view-network-activity.d.ts +60 -0
- package/dist_ts_web/elements/network/ops-view-network-activity.js +754 -0
- package/dist_ts_web/elements/network/ops-view-networktargets.d.ts +17 -0
- package/dist_ts_web/elements/network/ops-view-networktargets.js +255 -0
- package/dist_ts_web/elements/network/ops-view-remoteingress.d.ts +20 -0
- package/dist_ts_web/elements/network/ops-view-remoteingress.js +497 -0
- package/dist_ts_web/elements/network/ops-view-routes.d.ts +17 -0
- package/dist_ts_web/elements/network/ops-view-routes.js +700 -0
- package/dist_ts_web/elements/network/ops-view-sourceprofiles.d.ts +17 -0
- package/dist_ts_web/elements/network/ops-view-sourceprofiles.js +278 -0
- package/dist_ts_web/elements/network/ops-view-targetprofiles.d.ts +21 -0
- package/dist_ts_web/elements/network/ops-view-targetprofiles.js +420 -0
- package/dist_ts_web/elements/network/ops-view-vpn.d.ts +31 -0
- package/dist_ts_web/elements/network/ops-view-vpn.js +873 -0
- package/dist_ts_web/elements/ops-dashboard.d.ts +31 -0
- package/dist_ts_web/elements/ops-dashboard.js +405 -0
- package/dist_ts_web/elements/ops-view-logs.d.ts +13 -0
- package/dist_ts_web/elements/ops-view-logs.js +159 -0
- package/dist_ts_web/elements/overview/index.d.ts +2 -0
- package/dist_ts_web/elements/overview/index.js +3 -0
- package/dist_ts_web/elements/overview/ops-view-config.d.ts +19 -0
- package/dist_ts_web/elements/overview/ops-view-config.js +339 -0
- package/dist_ts_web/elements/overview/ops-view-overview.d.ts +24 -0
- package/dist_ts_web/elements/overview/ops-view-overview.js +545 -0
- package/dist_ts_web/elements/security/index.d.ts +3 -0
- package/dist_ts_web/elements/security/index.js +4 -0
- package/dist_ts_web/elements/security/ops-view-security-authentication.d.ts +13 -0
- package/dist_ts_web/elements/security/ops-view-security-authentication.js +157 -0
- package/dist_ts_web/elements/security/ops-view-security-blocked.d.ts +15 -0
- package/dist_ts_web/elements/security/ops-view-security-blocked.js +153 -0
- package/dist_ts_web/elements/security/ops-view-security-overview.d.ts +16 -0
- package/dist_ts_web/elements/security/ops-view-security-overview.js +205 -0
- package/dist_ts_web/elements/shared/css.d.ts +1 -0
- package/dist_ts_web/elements/shared/css.js +10 -0
- package/dist_ts_web/elements/shared/index.d.ts +1 -0
- package/dist_ts_web/elements/shared/index.js +2 -0
- package/dist_ts_web/index.d.ts +1 -0
- package/dist_ts_web/index.js +10 -0
- package/dist_ts_web/plugins.d.ts +7 -0
- package/dist_ts_web/plugins.js +13 -0
- package/dist_ts_web/router.d.ts +21 -0
- package/dist_ts_web/router.js +151 -0
- package/package.json +1 -1
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/monitoring/classes.metricsmanager.ts +0 -25
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/network/ops-view-routes.ts +9 -1
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
import * as plugins from './plugins.js';
|
|
2
|
+
import * as paths from './paths.js';
|
|
3
|
+
import { UnifiedEmailServer, type IUnifiedEmailServerOptions, type IEmailRoute } from '@push.rocks/smartmta';
|
|
4
|
+
import { CertProvisionScheduler } from './classes.cert-provision-scheduler.js';
|
|
5
|
+
import { DcRouterDb, CacheCleaner } from './db/index.js';
|
|
6
|
+
import { OpsServer } from './opsserver/index.js';
|
|
7
|
+
import { MetricsManager } from './monitoring/index.js';
|
|
8
|
+
import { RadiusServer, type IRadiusServerConfig } from './radius/index.js';
|
|
9
|
+
import { RemoteIngressManager, TunnelManager } from './remoteingress/index.js';
|
|
10
|
+
import { VpnManager } from './vpn/index.js';
|
|
11
|
+
import { RouteConfigManager, ApiTokenManager, ReferenceResolver, TargetProfileManager } from './config/index.js';
|
|
12
|
+
import { type IHttp3Config } from './http3/index.js';
|
|
13
|
+
import { DnsManager } from './dns/manager.dns.js';
|
|
14
|
+
import { AcmeConfigManager } from './acme/manager.acme-config.js';
|
|
15
|
+
import { EmailDomainManager } from './email/classes.email-domain.manager.js';
|
|
16
|
+
export interface IDcRouterOptions {
|
|
17
|
+
/** Base directory for all dcrouter data. Defaults to ~/.serve.zone/dcrouter */
|
|
18
|
+
baseDir?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Direct SmartProxy configuration - gives full control over HTTP/HTTPS and TCP/SNI traffic
|
|
21
|
+
* This is the preferred way to configure HTTP/HTTPS and general TCP/SNI traffic
|
|
22
|
+
*/
|
|
23
|
+
smartProxyConfig?: plugins.smartproxy.ISmartProxyOptions;
|
|
24
|
+
/**
|
|
25
|
+
* Email server configuration
|
|
26
|
+
* This enables all email handling with pattern-based routing
|
|
27
|
+
*/
|
|
28
|
+
emailConfig?: IUnifiedEmailServerOptions;
|
|
29
|
+
/**
|
|
30
|
+
* Custom email port configuration
|
|
31
|
+
* Allows configuring specific ports for email handling
|
|
32
|
+
* This overrides the default port mapping in the emailConfig
|
|
33
|
+
*/
|
|
34
|
+
emailPortConfig?: {
|
|
35
|
+
/** External to internal port mapping */
|
|
36
|
+
portMapping?: Record<number, number>;
|
|
37
|
+
/** Custom port configuration for specific ports */
|
|
38
|
+
portSettings?: Record<number, any>;
|
|
39
|
+
/** Path to store received emails */
|
|
40
|
+
receivedEmailsPath?: string;
|
|
41
|
+
};
|
|
42
|
+
/** TLS/certificate configuration */
|
|
43
|
+
tls?: {
|
|
44
|
+
/** Contact email for ACME certificates */
|
|
45
|
+
contactEmail: string;
|
|
46
|
+
/** Domain for main certificate */
|
|
47
|
+
domain?: string;
|
|
48
|
+
/** Path to certificate file (if not using auto-provisioning) */
|
|
49
|
+
certPath?: string;
|
|
50
|
+
/** Path to key file (if not using auto-provisioning) */
|
|
51
|
+
keyPath?: string;
|
|
52
|
+
/** Path to CA certificate file (for custom CAs) */
|
|
53
|
+
caPath?: string;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* The nameserver domains (e.g., ['ns1.example.com', 'ns2.example.com'])
|
|
57
|
+
* These will automatically get A records pointing to publicIp or proxyIps[0]
|
|
58
|
+
* These are what go in the NS records for ALL domains in dnsScopes
|
|
59
|
+
*/
|
|
60
|
+
dnsNsDomains?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* Domains this DNS server is authoritative for (e.g., ['example.com', 'mail.example.org'])
|
|
63
|
+
* NS records will be auto-generated for these domains
|
|
64
|
+
* Any DNS record outside these scopes will trigger a warning
|
|
65
|
+
* Email domains with `internal-dns` mode must be included here
|
|
66
|
+
*/
|
|
67
|
+
dnsScopes?: string[];
|
|
68
|
+
/**
|
|
69
|
+
* IPs of proxies that forward traffic to your server (optional)
|
|
70
|
+
* When defined AND useIngressProxy is true, A records with server IP are replaced with proxy IPs
|
|
71
|
+
* If not defined or empty, all A records use the real server IP
|
|
72
|
+
* Helps hide real server IP for security/privacy
|
|
73
|
+
*/
|
|
74
|
+
proxyIps?: string[];
|
|
75
|
+
/**
|
|
76
|
+
* Public IP address for nameserver A records (required if proxyIps not set)
|
|
77
|
+
* This is the IP that will be used for the nameserver domains (dnsNsDomains)
|
|
78
|
+
* If proxyIps is set, the first proxy IP will be used instead
|
|
79
|
+
*/
|
|
80
|
+
publicIp?: string;
|
|
81
|
+
/**
|
|
82
|
+
* DNS records to register
|
|
83
|
+
* Must be within the defined dnsScopes (or receive warning)
|
|
84
|
+
* Only need A, CNAME, TXT, MX records (NS records auto-generated, SOA handled by smartdns)
|
|
85
|
+
* Can use `useIngressProxy: false` to expose real server IP (defaults to true)
|
|
86
|
+
*/
|
|
87
|
+
dnsRecords?: Array<{
|
|
88
|
+
name: string;
|
|
89
|
+
type: 'A' | 'AAAA' | 'CNAME' | 'MX' | 'TXT' | 'NS' | 'SOA';
|
|
90
|
+
value: string;
|
|
91
|
+
ttl?: number;
|
|
92
|
+
useIngressProxy?: boolean;
|
|
93
|
+
}>;
|
|
94
|
+
/**
|
|
95
|
+
* Unified database configuration.
|
|
96
|
+
* All persistent data (config, certs, VPN, cache, etc.) is stored via smartdata.
|
|
97
|
+
* If mongoDbUrl is provided, connects to external MongoDB.
|
|
98
|
+
* Otherwise, starts an embedded LocalSmartDb automatically.
|
|
99
|
+
*/
|
|
100
|
+
dbConfig?: {
|
|
101
|
+
/** Enable database (default: true). Set to false in tests to skip DB startup. */
|
|
102
|
+
enabled?: boolean;
|
|
103
|
+
/** External MongoDB connection URL. If absent, uses embedded LocalSmartDb. */
|
|
104
|
+
mongoDbUrl?: string;
|
|
105
|
+
/** Storage path for embedded database data (default: ~/.serve.zone/dcrouter/tsmdb) */
|
|
106
|
+
storagePath?: string;
|
|
107
|
+
/** Database name (default: dcrouter) */
|
|
108
|
+
dbName?: string;
|
|
109
|
+
/** Cache cleanup interval in hours (default: 1) */
|
|
110
|
+
cleanupIntervalHours?: number;
|
|
111
|
+
/** Seed default security profiles and network targets when DB is empty on first startup. */
|
|
112
|
+
seedOnEmpty?: boolean;
|
|
113
|
+
/** Custom seed data for profiles and targets (overrides built-in defaults). */
|
|
114
|
+
seedData?: import('./config/classes.db-seeder.js').ISeedData;
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* RADIUS server configuration for network authentication
|
|
118
|
+
* Enables MAC Authentication Bypass (MAB) and VLAN assignment
|
|
119
|
+
*/
|
|
120
|
+
radiusConfig?: IRadiusServerConfig;
|
|
121
|
+
/**
|
|
122
|
+
* Remote Ingress configuration for edge tunnel nodes
|
|
123
|
+
* Enables edge nodes to accept incoming connections and tunnel them to this DcRouter
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* HTTP/3 (QUIC) configuration for HTTPS routes.
|
|
127
|
+
* Enabled by default — qualifying HTTPS routes on port 443 are automatically
|
|
128
|
+
* augmented with QUIC/H3 fields. Set { enabled: false } to disable globally.
|
|
129
|
+
* Individual routes can opt out via action.options.http3 = false.
|
|
130
|
+
*/
|
|
131
|
+
http3?: IHttp3Config;
|
|
132
|
+
/** Port for the OpsServer web UI (default: 3000) */
|
|
133
|
+
opsServerPort?: number;
|
|
134
|
+
remoteIngressConfig?: {
|
|
135
|
+
/** Enable remote ingress hub (default: false) */
|
|
136
|
+
enabled?: boolean;
|
|
137
|
+
/** Port for tunnel connections from edge nodes (default: 8443) */
|
|
138
|
+
tunnelPort?: number;
|
|
139
|
+
/** External hostname of this hub, embedded in connection tokens */
|
|
140
|
+
hubDomain?: string;
|
|
141
|
+
/** TLS configuration for the tunnel server */
|
|
142
|
+
tls?: {
|
|
143
|
+
certPath?: string;
|
|
144
|
+
keyPath?: string;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* VPN server configuration.
|
|
149
|
+
* Enables VPN-based access control: routes with vpnOnly are only
|
|
150
|
+
* accessible from VPN clients whose TargetProfile matches. Supports WireGuard + native (WS/QUIC) transports.
|
|
151
|
+
*/
|
|
152
|
+
vpnConfig?: {
|
|
153
|
+
/** Enable VPN server (default: false) */
|
|
154
|
+
enabled?: boolean;
|
|
155
|
+
/** VPN subnet CIDR (default: '10.8.0.0/24') */
|
|
156
|
+
subnet?: string;
|
|
157
|
+
/** WireGuard UDP listen port (default: 51820) */
|
|
158
|
+
wgListenPort?: number;
|
|
159
|
+
/** DNS servers pushed to VPN clients */
|
|
160
|
+
dns?: string[];
|
|
161
|
+
/** Server endpoint hostname for client configs (e.g. 'vpn.example.com') */
|
|
162
|
+
serverEndpoint?: string;
|
|
163
|
+
/** Pre-defined VPN clients created on startup */
|
|
164
|
+
clients?: Array<{
|
|
165
|
+
clientId: string;
|
|
166
|
+
targetProfileIds?: string[];
|
|
167
|
+
description?: string;
|
|
168
|
+
}>;
|
|
169
|
+
/** Destination routing policy for VPN client traffic.
|
|
170
|
+
* Default in socket mode: { default: 'forceTarget', target: '127.0.0.1' } (all traffic → SmartProxy).
|
|
171
|
+
* Default in tun mode: not set (all traffic passes through). */
|
|
172
|
+
destinationPolicy?: {
|
|
173
|
+
default: 'forceTarget' | 'block' | 'allow';
|
|
174
|
+
target?: string;
|
|
175
|
+
allowList?: string[];
|
|
176
|
+
blockList?: string[];
|
|
177
|
+
};
|
|
178
|
+
/** Forwarding mode: 'socket' (default, userspace NAT), 'bridge' (L2 bridge to host LAN),
|
|
179
|
+
* or 'hybrid' (socket default, bridge for clients with useHostIp=true) */
|
|
180
|
+
forwardingMode?: 'socket' | 'bridge' | 'hybrid';
|
|
181
|
+
/** LAN subnet CIDR for bridge mode (e.g., '192.168.1.0/24') */
|
|
182
|
+
bridgeLanSubnet?: string;
|
|
183
|
+
/** Physical network interface for bridge mode (auto-detected if omitted) */
|
|
184
|
+
bridgePhysicalInterface?: string;
|
|
185
|
+
/** Start of VPN client IP range in LAN subnet (host offset, default: 200) */
|
|
186
|
+
bridgeIpRangeStart?: number;
|
|
187
|
+
/** End of VPN client IP range in LAN subnet (host offset, default: 250) */
|
|
188
|
+
bridgeIpRangeEnd?: number;
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* DcRouter can be run on ingress and egress to and from a datacenter site.
|
|
193
|
+
*/
|
|
194
|
+
/**
|
|
195
|
+
* Context passed to HTTP routing rules
|
|
196
|
+
*/
|
|
197
|
+
/**
|
|
198
|
+
* Context passed to port proxy (SmartProxy) routing rules
|
|
199
|
+
*/
|
|
200
|
+
export interface PortProxyRuleContext {
|
|
201
|
+
proxy: plugins.smartproxy.SmartProxy;
|
|
202
|
+
routes: plugins.smartproxy.IRouteConfig[];
|
|
203
|
+
}
|
|
204
|
+
export declare class DcRouter {
|
|
205
|
+
options: IDcRouterOptions;
|
|
206
|
+
resolvedPaths: ReturnType<typeof paths.resolvePaths>;
|
|
207
|
+
smartProxy?: plugins.smartproxy.SmartProxy;
|
|
208
|
+
smartAcme?: plugins.smartacme.SmartAcme;
|
|
209
|
+
dnsServer?: plugins.smartdns.dnsServerMod.DnsServer;
|
|
210
|
+
emailServer?: UnifiedEmailServer;
|
|
211
|
+
radiusServer?: RadiusServer;
|
|
212
|
+
opsServer: OpsServer;
|
|
213
|
+
metricsManager?: MetricsManager;
|
|
214
|
+
storageManager: any;
|
|
215
|
+
dcRouterDb?: DcRouterDb;
|
|
216
|
+
cacheCleaner?: CacheCleaner;
|
|
217
|
+
remoteIngressManager?: RemoteIngressManager;
|
|
218
|
+
tunnelManager?: TunnelManager;
|
|
219
|
+
vpnManager?: VpnManager;
|
|
220
|
+
routeConfigManager?: RouteConfigManager;
|
|
221
|
+
apiTokenManager?: ApiTokenManager;
|
|
222
|
+
referenceResolver?: ReferenceResolver;
|
|
223
|
+
targetProfileManager?: TargetProfileManager;
|
|
224
|
+
dnsManager?: DnsManager;
|
|
225
|
+
acmeConfigManager?: AcmeConfigManager;
|
|
226
|
+
emailDomainManager?: EmailDomainManager;
|
|
227
|
+
detectedPublicIp: string | null;
|
|
228
|
+
private dnsLogWindowSecond;
|
|
229
|
+
private dnsLogWindowCount;
|
|
230
|
+
private dnsBatchCount;
|
|
231
|
+
private dnsBatchTimer;
|
|
232
|
+
certificateStatusMap: Map<string, {
|
|
233
|
+
status: "valid" | "failed";
|
|
234
|
+
routeNames: string[];
|
|
235
|
+
expiryDate?: string;
|
|
236
|
+
issuedAt?: string;
|
|
237
|
+
source?: string;
|
|
238
|
+
error?: string;
|
|
239
|
+
}>;
|
|
240
|
+
certProvisionScheduler?: CertProvisionScheduler;
|
|
241
|
+
serviceManager: plugins.taskbuffer.ServiceManager;
|
|
242
|
+
private serviceSubjectSubscription?;
|
|
243
|
+
smartAcmeReady: boolean;
|
|
244
|
+
typedrouter: plugins.typedrequest.TypedRouter<import("@api.global/typedrequest-interfaces").ITypedRequest>;
|
|
245
|
+
private seedConfigRoutes;
|
|
246
|
+
private seedEmailRoutes;
|
|
247
|
+
private seedDnsRoutes;
|
|
248
|
+
private qenv;
|
|
249
|
+
constructor(optionsArg: IDcRouterOptions);
|
|
250
|
+
/**
|
|
251
|
+
* Register all dcrouter services with the ServiceManager.
|
|
252
|
+
* Services are started in dependency order, with failure isolation for optional services.
|
|
253
|
+
*/
|
|
254
|
+
private registerServices;
|
|
255
|
+
start(): Promise<void>;
|
|
256
|
+
/**
|
|
257
|
+
* Detect OS-level resource limits and warn if they are too low for production use.
|
|
258
|
+
* This is detection only — no attempts to raise limits.
|
|
259
|
+
*/
|
|
260
|
+
private checkSystemLimits;
|
|
261
|
+
/**
|
|
262
|
+
* Log comprehensive startup summary
|
|
263
|
+
*/
|
|
264
|
+
private logStartupSummary;
|
|
265
|
+
/**
|
|
266
|
+
* Set up the unified database (smartdata + LocalSmartDb or external MongoDB)
|
|
267
|
+
*/
|
|
268
|
+
private setupDcRouterDb;
|
|
269
|
+
/**
|
|
270
|
+
* Set up SmartProxy with direct configuration and automatic email routes
|
|
271
|
+
*/
|
|
272
|
+
private setupSmartProxy;
|
|
273
|
+
/**
|
|
274
|
+
* Generate SmartProxy routes for email configuration
|
|
275
|
+
*/
|
|
276
|
+
private generateEmailRoutes;
|
|
277
|
+
/**
|
|
278
|
+
* Generate SmartProxy routes for DNS configuration
|
|
279
|
+
*/
|
|
280
|
+
private generateDnsRoutes;
|
|
281
|
+
/**
|
|
282
|
+
* Check if a domain matches a pattern (including wildcard support)
|
|
283
|
+
* @param domain The domain to check
|
|
284
|
+
* @param pattern The pattern to match against (e.g., "*.example.com")
|
|
285
|
+
* @returns Whether the domain matches the pattern
|
|
286
|
+
*/
|
|
287
|
+
private isDomainMatch;
|
|
288
|
+
/**
|
|
289
|
+
* Find ALL route names that match a given domain
|
|
290
|
+
*/
|
|
291
|
+
findRouteNamesForDomain(domain: string): string[];
|
|
292
|
+
stop(): Promise<void>;
|
|
293
|
+
/**
|
|
294
|
+
* Update SmartProxy configuration
|
|
295
|
+
* @param config New SmartProxy configuration
|
|
296
|
+
*/
|
|
297
|
+
updateSmartProxyConfig(config: plugins.smartproxy.ISmartProxyOptions): Promise<void>;
|
|
298
|
+
/**
|
|
299
|
+
* Set up unified email handling with pattern-based routing
|
|
300
|
+
* This implements the consolidated emailConfig approach
|
|
301
|
+
*/
|
|
302
|
+
private setupUnifiedEmailHandling;
|
|
303
|
+
/**
|
|
304
|
+
* Update the unified email configuration
|
|
305
|
+
* @param config New email configuration
|
|
306
|
+
*/
|
|
307
|
+
updateEmailConfig(config: IUnifiedEmailServerOptions): Promise<void>;
|
|
308
|
+
/**
|
|
309
|
+
* Stop all unified email components
|
|
310
|
+
*/
|
|
311
|
+
private stopUnifiedEmailComponents;
|
|
312
|
+
/**
|
|
313
|
+
* Update domain rules for email routing
|
|
314
|
+
* @param rules New domain rules to apply
|
|
315
|
+
*/
|
|
316
|
+
updateEmailRoutes(routes: IEmailRoute[]): Promise<void>;
|
|
317
|
+
/**
|
|
318
|
+
* Get statistics from all components
|
|
319
|
+
*/
|
|
320
|
+
getStats(): any;
|
|
321
|
+
/**
|
|
322
|
+
* Register DNS records with the DNS server
|
|
323
|
+
* @param records Array of DNS records to register
|
|
324
|
+
*/
|
|
325
|
+
private registerDnsRecords;
|
|
326
|
+
/**
|
|
327
|
+
* Parse DNS record data based on record type
|
|
328
|
+
* @param type DNS record type
|
|
329
|
+
* @param value DNS record value
|
|
330
|
+
* @returns Parsed data for the DNS response
|
|
331
|
+
*/
|
|
332
|
+
private parseDnsRecordData;
|
|
333
|
+
/**
|
|
334
|
+
* Set up DNS server with socket handler for DoH
|
|
335
|
+
*/
|
|
336
|
+
private setupDnsWithSocketHandler;
|
|
337
|
+
/**
|
|
338
|
+
* Create DNS socket handler for DoH
|
|
339
|
+
*/
|
|
340
|
+
private createDnsSocketHandler;
|
|
341
|
+
/**
|
|
342
|
+
* Validate DNS configuration
|
|
343
|
+
*/
|
|
344
|
+
private validateDnsConfiguration;
|
|
345
|
+
/**
|
|
346
|
+
* Generate email DNS records for domains with internal-dns mode
|
|
347
|
+
*/
|
|
348
|
+
private generateEmailDnsRecords;
|
|
349
|
+
/**
|
|
350
|
+
* Load DKIM records from JSON files
|
|
351
|
+
* Reads all *.dkimrecord.json files from the DNS records directory
|
|
352
|
+
*/
|
|
353
|
+
private loadDkimRecords;
|
|
354
|
+
/**
|
|
355
|
+
* Initialize DKIM keys for all configured email domains
|
|
356
|
+
* This ensures DKIM records are available immediately at startup
|
|
357
|
+
*/
|
|
358
|
+
private initializeDkimForEmailDomains;
|
|
359
|
+
/**
|
|
360
|
+
* Generate authoritative DNS records (NS only) for all domains in dnsScopes
|
|
361
|
+
* SOA records are now automatically generated by smartdns with primaryNameserver setting
|
|
362
|
+
*/
|
|
363
|
+
private generateAuthoritativeRecords;
|
|
364
|
+
/**
|
|
365
|
+
* Extract the base domain from a DNS record name
|
|
366
|
+
*/
|
|
367
|
+
private extractDomain;
|
|
368
|
+
/**
|
|
369
|
+
* Apply proxy IP replacement logic to DNS records
|
|
370
|
+
*/
|
|
371
|
+
private applyProxyIpReplacement;
|
|
372
|
+
/**
|
|
373
|
+
* Detect the server's public IP address
|
|
374
|
+
*/
|
|
375
|
+
private detectServerPublicIp;
|
|
376
|
+
/**
|
|
377
|
+
* Set up Remote Ingress hub for edge tunnel connections
|
|
378
|
+
*/
|
|
379
|
+
private setupRemoteIngress;
|
|
380
|
+
/**
|
|
381
|
+
* Set up VPN server for VPN-based route access control.
|
|
382
|
+
*/
|
|
383
|
+
private setupVpnServer;
|
|
384
|
+
/** Cache for DNS-resolved IPs of VPN-gated domains. TTL: 5 minutes. */
|
|
385
|
+
private vpnDomainIpCache;
|
|
386
|
+
/**
|
|
387
|
+
* Resolve a domain's A record(s) for VPN AllowedIPs, with a 5-minute cache.
|
|
388
|
+
*/
|
|
389
|
+
private resolveVpnDomainIPs;
|
|
390
|
+
/**
|
|
391
|
+
* Set up RADIUS server for network authentication
|
|
392
|
+
*/
|
|
393
|
+
private setupRadiusServer;
|
|
394
|
+
/**
|
|
395
|
+
* Update RADIUS configuration at runtime
|
|
396
|
+
*/
|
|
397
|
+
updateRadiusConfig(config: IRadiusServerConfig): Promise<void>;
|
|
398
|
+
}
|
|
399
|
+
export type { IUnifiedEmailServerOptions };
|
|
400
|
+
export type { IRadiusServerConfig };
|
|
401
|
+
export default DcRouter;
|