🚩 增加Dns功能 优化性能
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import dns from 'node:dns/promises';
|
||||
export default defineEventHandler(async (event) => {
|
||||
const body = await readBody(event)
|
||||
|
||||
const domain = body.domain;
|
||||
if (!domain) {
|
||||
return { error: 'Missing domain' };
|
||||
}
|
||||
try {
|
||||
const aRecords = await dns.resolve(domain, 'A');
|
||||
const nsRecords = await dns.resolve(domain, 'NS');
|
||||
const soaRecord = await dns.resolveSoa(domain);
|
||||
|
||||
return {
|
||||
A: aRecords.map(ip => ({ TTL: '600', Record: ip })), // 示例中的TTL是假设的
|
||||
NS: nsRecords.map(ns => ({ TTL: '21600', Record: ns })), // 示例中的TTL是假设的
|
||||
SOA: {
|
||||
MName: soaRecord.nsname,
|
||||
Email: soaRecord.hostmaster,
|
||||
Serial: soaRecord.serial,
|
||||
Refresh: soaRecord.refresh,
|
||||
Retry: soaRecord.retry,
|
||||
Expire: soaRecord.expire,
|
||||
MinimumTTL: soaRecord.minttl,
|
||||
}
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(`Error fetching DNS records for ${domain}:`, error);
|
||||
return { error: 'Failed to fetch DNS records' };
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user