mirror of
https://github.com/taixingyiji/openit.git
synced 2026-10-20 09:27:41 +00:00
Hello World
This commit is contained in:
commit
cd995d7629
2562 files changed
+457732
No files matched your search
@@ -0,0 +1,48 @@
|
||||
const dns = require('dns').promises;
|
||||
const geoip = require('geoip-lite');
|
||||
const config = require('./config')
|
||||
|
||||
Resolver = dns.Resolver;
|
||||
resolver = new Resolver();
|
||||
resolver.setServers(config.dnsServers);
|
||||
|
||||
module.exports={
|
||||
async get(name){
|
||||
let domainReg = /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?/g
|
||||
let ipReg = /((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}/
|
||||
if(ipReg.test(name)){
|
||||
let geo = geoip.lookup(name);
|
||||
if(geo == null){
|
||||
return '火星'
|
||||
}else{
|
||||
if(geo.country == null){
|
||||
return "火星"
|
||||
}else{
|
||||
return geo.country
|
||||
}
|
||||
}
|
||||
}else if(domainReg.test(name)){
|
||||
try{
|
||||
let address = await resolver.resolve4(name);
|
||||
if(address !== null){
|
||||
let geo = geoip.lookup(address[0])
|
||||
if(geo == null){
|
||||
return '火星'
|
||||
}else{
|
||||
if(geo.country == null){
|
||||
return "火星"
|
||||
}else{
|
||||
return geo.country
|
||||
}
|
||||
}
|
||||
}else{
|
||||
return '火星'
|
||||
}
|
||||
}catch(e){
|
||||
return '火星'
|
||||
}
|
||||
}else{
|
||||
return '火星'
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user