const express = require("express"); const geoip = require("geoip-lite"); const cors = require("cors"); const app = express(); app.use(cors()); app.use(express.json()); app.get("/json", (req, res) => { let ip = req.headers["x-forwarded-for"] || req.socket.remoteAddress; if (ip.includes(",")) { ip = ip.split(",")[0]; } ip = ip.replace("::ffff:", ""); // teste local if (ip === "::1" || ip === "127.0.0.1") { ip = "8.8.8.8"; } const geo = geoip.lookup(ip); if (!geo) { return res.json({ status: "fail", query: ip, message: "Unknown IP" }); } res.json({ status: "success", query: ip, country: geo.country, city: geo.city || "Unknown", region: geo.region || "Unknown", timezone: geo.timezone || "Unknown", latitude: geo.ll[0], longitude: geo.ll[1] }); }); app.get("/", (req, res) => { res.send("Minha API funcionando!"); }); app.listen(3000, () => { console.log("API rodando na porta 3000"); });