mirror of
https://github.com/abrendan/l00kup.git
synced 2025-06-15 12:05:42 +02:00
54 lines
1.7 KiB
JavaScript
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}`);
|
|
}); |