showip/app.js

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)