ваше сообщение коммита
This commit is contained in:
@@ -2,6 +2,11 @@ const express = require('express');
|
||||
const router = express.Router();
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const https = require('https');
|
||||
const { promisify } = require('util');
|
||||
const dns = require('dns');
|
||||
|
||||
const resolve4 = promisify(dns.resolve4);
|
||||
|
||||
const SSH_DIR = path.join(process.env.HOME || process.env.USERPROFILE, '.ssh');
|
||||
const DEFAULT_KEY_PATH = path.join(SSH_DIR, 'id_rsa');
|
||||
@@ -39,4 +44,49 @@ router.get('/ssh-key/public', (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// GET /api/dns-check/:domain - Check DNS and get IP address
|
||||
router.get('/dns-check/:domain', async (req, res) => {
|
||||
try {
|
||||
const domain = req.params.domain;
|
||||
|
||||
if (!domain) {
|
||||
return res.status(400).json({
|
||||
success: false,
|
||||
message: 'Domain parameter is required'
|
||||
});
|
||||
}
|
||||
|
||||
console.log(`Checking DNS for domain: ${domain}`);
|
||||
|
||||
// Используем встроенный DNS resolver Node.js
|
||||
const addresses = await resolve4(domain);
|
||||
|
||||
if (addresses && addresses.length > 0) {
|
||||
const ip = addresses[0];
|
||||
console.log(`DNS resolved: ${domain} → ${ip}`);
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
domain: domain,
|
||||
ip: ip,
|
||||
message: `Домен ${domain} разрешен в IP: ${ip}`
|
||||
});
|
||||
} else {
|
||||
res.status(404).json({
|
||||
success: false,
|
||||
domain: domain,
|
||||
message: `DNS запись для домена ${domain} не найдена`
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`DNS check error for ${req.params.domain}:`, error.message);
|
||||
|
||||
res.status(500).json({
|
||||
success: false,
|
||||
domain: req.params.domain,
|
||||
message: `Ошибка проверки DNS: ${error.message}`
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user