l00kup/index.js
2024-10-02 10:45:38 +00:00

54 lines
1.7 KiB
JavaScript

const express = require('express');
const dns = require('dns').promises;
const path = require('path');
const whois = require('whois');
const app = express();
const port = 3000;
// Middleware to parse incoming requests with JSON payloads
app.use(express.json());
// Serve static files from 'public' directory
app.use(express.static('public'));
// Endpoint for performing reverse domain lookup
app.post('/reverseLookup', async (req, res) => {
try {
const { domain } = req.body;
const ips = await dns.lookup(domain);
const reverseResult = await dns.reverse(ips.address);
res.json({ success: true, domain, ips: ips.address, reverseResult });
} catch (error) {
console.error(error);
res.status(500).json({ success: false, message: 'Lookup failed', error: error.message });
}
});
// Endpoint for performing reverse domain lookup by IP
app.post('/reverseLookupByIP', async (req, res) => {
try {
const { ip } = req.body;
const reverseResult = await dns.reverse(ip);
res.json({ success: true, ip, reverseResult });
} catch (error) {
console.error(error);
res.status(500).json({ success: false, message: 'Reverse lookup failed', error: error.message });
}
});
app.post('/whoisLookup', (req, res) => {
const { domain } = req.body;
whois.lookup(domain, (err, data) => {
if (err) {
console.error(err);
res.status(500).json({ success: false, message: 'WHOIS lookup failed', error: err.message });
} else {
res.json({ success: true, domain, whois: data });
}
});
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});