Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
99f57dba76 | |||
415e28038d | |||
7bda406624 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -19,5 +19,5 @@ dist_*/
|
|||||||
|
|
||||||
# custom
|
# custom
|
||||||
**/.claude/settings.local.json
|
**/.claude/settings.local.json
|
||||||
data/
|
.nogit/data/
|
||||||
readme.plan.md
|
readme.plan.md
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@serve.zone/dcrouter",
|
"name": "@serve.zone/dcrouter",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "2.12.1",
|
"version": "2.12.3",
|
||||||
"description": "A multifaceted routing service handling mail and SMS delivery functions.",
|
"description": "A multifaceted routing service handling mail and SMS delivery functions.",
|
||||||
"main": "dist_ts/index.js",
|
"main": "dist_ts/index.js",
|
||||||
"typings": "dist_ts/index.d.ts",
|
"typings": "dist_ts/index.d.ts",
|
||||||
|
8
ts_interfaces/data/auth.ts
Normal file
8
ts_interfaces/data/auth.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export interface IIdentity {
|
||||||
|
jwt: string;
|
||||||
|
userId: string;
|
||||||
|
name: string;
|
||||||
|
expiresAt: number;
|
||||||
|
role?: string;
|
||||||
|
type?: string;
|
||||||
|
}
|
2
ts_interfaces/data/index.ts
Normal file
2
ts_interfaces/data/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export * from './auth.js';
|
||||||
|
export * from './stats.js';
|
101
ts_interfaces/data/stats.ts
Normal file
101
ts_interfaces/data/stats.ts
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
export interface IServerStats {
|
||||||
|
uptime: number;
|
||||||
|
startTime: number;
|
||||||
|
memoryUsage: {
|
||||||
|
heapUsed: number;
|
||||||
|
heapTotal: number;
|
||||||
|
external: number;
|
||||||
|
rss: number;
|
||||||
|
};
|
||||||
|
cpuUsage: {
|
||||||
|
user: number;
|
||||||
|
system: number;
|
||||||
|
};
|
||||||
|
activeConnections: number;
|
||||||
|
totalConnections: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IEmailStats {
|
||||||
|
sent: number;
|
||||||
|
received: number;
|
||||||
|
bounced: number;
|
||||||
|
queued: number;
|
||||||
|
failed: number;
|
||||||
|
averageDeliveryTime: number;
|
||||||
|
deliveryRate: number;
|
||||||
|
bounceRate: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IDnsStats {
|
||||||
|
totalQueries: number;
|
||||||
|
cacheHits: number;
|
||||||
|
cacheMisses: number;
|
||||||
|
cacheHitRate: number;
|
||||||
|
activeDomains: number;
|
||||||
|
averageResponseTime: number;
|
||||||
|
queryTypes: {
|
||||||
|
[key: string]: number;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IRateLimitInfo {
|
||||||
|
domain: string;
|
||||||
|
currentRate: number;
|
||||||
|
limit: number;
|
||||||
|
remaining: number;
|
||||||
|
resetTime: number;
|
||||||
|
blocked: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ISecurityMetrics {
|
||||||
|
blockedIPs: string[];
|
||||||
|
reputationScores: {
|
||||||
|
[domain: string]: number;
|
||||||
|
};
|
||||||
|
spamDetected: number;
|
||||||
|
malwareDetected: number;
|
||||||
|
phishingDetected: number;
|
||||||
|
authenticationFailures: number;
|
||||||
|
suspiciousActivities: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ILogEntry {
|
||||||
|
timestamp: number;
|
||||||
|
level: 'debug' | 'info' | 'warn' | 'error';
|
||||||
|
category: 'smtp' | 'dns' | 'security' | 'system' | 'email';
|
||||||
|
message: string;
|
||||||
|
metadata?: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IConnectionInfo {
|
||||||
|
id: string;
|
||||||
|
remoteAddress: string;
|
||||||
|
localAddress: string;
|
||||||
|
startTime: number;
|
||||||
|
protocol: 'smtp' | 'smtps' | 'http' | 'https';
|
||||||
|
state: 'connecting' | 'connected' | 'authenticated' | 'transmitting' | 'closing';
|
||||||
|
bytesReceived: number;
|
||||||
|
bytesSent: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IQueueStatus {
|
||||||
|
name: string;
|
||||||
|
size: number;
|
||||||
|
processing: number;
|
||||||
|
failed: number;
|
||||||
|
retrying: number;
|
||||||
|
averageProcessingTime: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IHealthStatus {
|
||||||
|
healthy: boolean;
|
||||||
|
uptime: number;
|
||||||
|
services: {
|
||||||
|
[service: string]: {
|
||||||
|
status: 'healthy' | 'degraded' | 'unhealthy';
|
||||||
|
message?: string;
|
||||||
|
lastCheck: number;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
version?: string;
|
||||||
|
}
|
Reference in New Issue
Block a user