aipi
Version:
Get info for an IP from any echoip instance
30 lines (29 loc) • 630 B
JavaScript
// src/index.ts
import axios from "axios";
var IPInfoFetcher = class {
constructor(instanceUrl = "https://ifconfig.co/json") {
this.instanceUrl = instanceUrl;
}
async getInfo(ip) {
const { data } = await axios.get(this.instanceUrl, {
params: {
ip
}
});
return data;
}
async getGeo(ip) {
const ipInfo = await this.getInfo(ip);
return {
country: ipInfo.country,
region: ipInfo.region_name,
eu: ipInfo.country_eu,
timezone: ipInfo.time_zone,
city: ipInfo.city,
ll: [ipInfo.longitude, ipInfo.latitude]
};
}
};
export {
IPInfoFetcher
};