73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
import * as plugins from '../ul-interfaces.plugins.js';
|
|
import type { ILinkSnapshot } from './linksnapshot.js';
|
|
|
|
export interface IDomainSnapshot {
|
|
registration: {
|
|
isRegistered: boolean;
|
|
updatedDate: number;
|
|
createdDate: number;
|
|
expiryDate: number;
|
|
};
|
|
delegation: plugins.tsclass.network.IDomainDelegation;
|
|
phishingFlags: {
|
|
listName: string;
|
|
}[];
|
|
recordScans: {
|
|
identifier: string;
|
|
nameservers: string[];
|
|
aRecords: plugins.tsclass.network.IDnsRecord[];
|
|
aaaaRecords: plugins.tsclass.network.IDnsRecord[];
|
|
txtRecords: plugins.tsclass.network.IDnsRecord[];
|
|
mxRecords: plugins.tsclass.network.IDnsRecord[];
|
|
specialRecords: {
|
|
dmarc: plugins.tsclass.network.IDnsRecord[];
|
|
}
|
|
}[];
|
|
linkSnapshots: ILinkSnapshot[];
|
|
whoisServers: {
|
|
serverUrl: string;
|
|
content: string;
|
|
}[];
|
|
rdap?: {
|
|
raw: any;
|
|
registrar?: string;
|
|
status?: string[];
|
|
events?: Array<{ action: string; date: string }>;
|
|
entities?: Array<{ role: string; name?: string }>;
|
|
};
|
|
certificates?: Array<{
|
|
issuerName: string;
|
|
commonName: string;
|
|
notBefore: string;
|
|
notAfter: string;
|
|
serialNumber: string;
|
|
sans: string[];
|
|
}>;
|
|
httpProbe?: {
|
|
httpStatus?: number;
|
|
httpsStatus?: number;
|
|
httpToHttpsRedirect: boolean;
|
|
sslCertificate?: {
|
|
issuer: string;
|
|
subject: string;
|
|
validFrom: string;
|
|
validTo: string;
|
|
protocol: string;
|
|
sans: string[];
|
|
};
|
|
securityHeaders: {
|
|
hsts: boolean;
|
|
csp: boolean;
|
|
xFrameOptions: string | null;
|
|
xContentTypeOptions: boolean;
|
|
};
|
|
redirectChain: string[];
|
|
};
|
|
dnssec?: {
|
|
enabled: boolean;
|
|
valid: boolean;
|
|
keyRecords: number;
|
|
dsRecords: number;
|
|
};
|
|
}
|