showip/app.js

27 lines
539 B
JavaScript
Raw Normal View History

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