cloudflare-ddns-sync
Version:
A simple module to update DNS records on Cloudflare whenever you want
20 lines (19 loc) • 1.13 kB
TypeScript
import { ScheduledTask } from 'node-cron';
import { Auth, DomainRecordList, MultiSyncCallback, Record, RecordData } from './types/index.js';
export default class CloudflareDDNSSync {
private cloudflareClient;
constructor(auth: Auth);
getIp(): Promise<string>;
getIpv6(): Promise<string>;
getRecordDataForDomain(domain: string): Promise<Array<RecordData>>;
getRecordDataForDomains(domains: Array<string>): Promise<DomainRecordList>;
getRecordDataForRecord(record: Record): Promise<RecordData>;
getRecordDataForRecords(records: Array<Record>): Promise<Array<RecordData>>;
removeRecord(recordName: string, recordType?: string): Promise<void>;
stopSyncOnIpChange(changeListenerId: string): void;
syncByCronTime(cronExpression: string, records: Array<Record>, callback: MultiSyncCallback, ip?: string): ScheduledTask;
syncOnIpChange(records: Array<Record>, callback: MultiSyncCallback): Promise<string>;
syncRecord(record: Record, ip?: string): Promise<RecordData>;
syncRecords(records: Array<Record>, ip?: string): Promise<Array<RecordData>>;
}
export * from './types/index.js';