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;
|
||
|
}
|