2025-05-26 09:40:16 +00:00
|
|
|
export enum ServiceType {
|
|
|
|
|
HTTP = 'http',
|
|
|
|
|
HTTPS = 'https',
|
|
|
|
|
SSH = 'ssh',
|
|
|
|
|
FTP = 'ftp',
|
|
|
|
|
SMTP = 'smtp',
|
|
|
|
|
POP3 = 'pop3',
|
|
|
|
|
IMAP = 'imap',
|
|
|
|
|
MYSQL = 'mysql',
|
|
|
|
|
POSTGRESQL = 'postgresql',
|
|
|
|
|
MONGODB = 'mongodb',
|
|
|
|
|
REDIS = 'redis',
|
2025-05-26 12:57:15 +00:00
|
|
|
UNKNOWN = 'unknown',
|
2025-05-26 09:40:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface IDetectorResult {
|
|
|
|
|
isActive: boolean;
|
|
|
|
|
serviceType?: ServiceType;
|
|
|
|
|
protocol?: 'tcp' | 'udp';
|
|
|
|
|
responseTime?: number;
|
|
|
|
|
tlsVersion?: string;
|
|
|
|
|
serviceBanner?: string;
|
|
|
|
|
error?: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface INetworkDiagnostics {
|
|
|
|
|
ping?: {
|
|
|
|
|
reachable: boolean;
|
|
|
|
|
averageLatency: number;
|
|
|
|
|
packetLoss: number;
|
|
|
|
|
};
|
|
|
|
|
traceroute?: Array<{
|
|
|
|
|
hop: number;
|
|
|
|
|
hostname: string;
|
|
|
|
|
ip: string;
|
|
|
|
|
latency: number;
|
|
|
|
|
}>;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export interface IDetectorOptions {
|
|
|
|
|
timeout?: number;
|
|
|
|
|
includeNetworkDiagnostics?: boolean;
|
|
|
|
|
detectServiceType?: boolean;
|
2025-05-26 12:57:15 +00:00
|
|
|
}
|