27 lines
539 B
JavaScript
27 lines
539 B
JavaScript
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)
|