2024-02-15 20:30:38 +01:00
|
|
|
export * from './00_commitinfo_data.js';
|
2026-02-11 16:32:49 +00:00
|
|
|
|
|
|
|
|
// Re-export smartmta (excluding commitinfo to avoid naming conflict)
|
|
|
|
|
export { UnifiedEmailServer } from '@push.rocks/smartmta';
|
|
|
|
|
export type { IUnifiedEmailServerOptions, IEmailRoute, IEmailDomainConfig } from '@push.rocks/smartmta';
|
2024-02-15 20:30:38 +01:00
|
|
|
|
2025-05-08 12:56:17 +00:00
|
|
|
// DcRouter
|
2026-03-18 16:22:02 +00:00
|
|
|
import { DcRouter } from './classes.dcrouter.js';
|
2025-05-08 12:56:17 +00:00
|
|
|
export * from './classes.dcrouter.js';
|
|
|
|
|
|
2026-02-01 19:21:37 +00:00
|
|
|
// RADIUS module
|
|
|
|
|
export * from './radius/index.js';
|
|
|
|
|
|
2026-02-16 11:25:16 +00:00
|
|
|
// Remote Ingress module
|
|
|
|
|
export * from './remoteingress/index.js';
|
|
|
|
|
|
2026-03-19 19:06:15 +00:00
|
|
|
// HTTP/3 module
|
|
|
|
|
export type { IHttp3Config } from './http3/index.js';
|
|
|
|
|
|
2026-03-18 16:22:02 +00:00
|
|
|
export const runCli = async () => {
|
|
|
|
|
let options: import('./classes.dcrouter.js').IDcRouterOptions = {};
|
|
|
|
|
|
|
|
|
|
if (process.env.DCROUTER_MODE === 'OCI_CONTAINER') {
|
|
|
|
|
const { getOciContainerConfig } = await import('../ts_oci_container/index.js');
|
|
|
|
|
options = getOciContainerConfig();
|
|
|
|
|
console.log('[DCRouter] Starting in OCI Container mode...');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const dcRouter = new DcRouter(options);
|
|
|
|
|
await dcRouter.start();
|
|
|
|
|
console.log('[DCRouter] Running. Send SIGTERM or SIGINT to stop.');
|
|
|
|
|
|
|
|
|
|
const shutdown = async () => {
|
|
|
|
|
console.log('[DCRouter] Shutting down...');
|
|
|
|
|
await dcRouter.stop();
|
|
|
|
|
process.exit(0);
|
|
|
|
|
};
|
|
|
|
|
process.on('SIGINT', shutdown);
|
|
|
|
|
process.on('SIGTERM', shutdown);
|
|
|
|
|
};
|