UNPKG

get-ip-utils-by-johnstep

Version:

Простой пакет для получения публичного IP через fetch и axios

32 lines (27 loc) 939 B
// index.js import axios from "axios"; // Вариант 1: fetch (Node >=18) export async function getIpFetch() { try { const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), 30_000); const res = await fetch("http://httpbin.org/ip", { signal: controller.signal }); clearTimeout(timeout); if (!res.ok) { return `Ошибка при получении IP: HTTP ${res.status}`; } const data = await res.json(); return data; } catch (err) { return `Ошибка при получении IP: ${err.message ?? err}`; } } // Вариант 2: axios (подходит для старых Node и CommonJS) export async function getIpAxios() { try { const res = await axios.get("http://httpbin.org/ip", { timeout: 30000 }); return res.data; } catch (err) { return `Ошибка при получении IP: ${err.message ?? err}`; } }