const express = require('express') const { Resolver } = require('dns').promises const app = express() const r = new Resolver() r.setServers(['1.1.1.1']) app.get('/', async (req, res) => { res.header('Content-type: text/plain') let ip, host try { ip = /.*:([^:]+)$/.exec(req.connection.remoteAddress)[1] } catch(err) { console.log(err.message) ip = 'ERR' } try { host = await r.reverse(ip) } catch(err) { console.log(err.message) host = 'ERR' } res.send(`${ip}\n${host}\n`) }) app.listen(18080)