101 lines
2.0 KiB
TypeScript
101 lines
2.0 KiB
TypeScript
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;
|
|
} |