import os from "os" import { printRed } from "./colorOut.js"; function getLocalIPv(ver = 4) { const ips = [] const inter = os.networkInterfaces() // console.dir(inter, { depth: null }) for (let net in inter) { // console.dir(net, { depth: null }) // console.log() for (let netPort of inter[net]) { // netPort = inter[net][netPort] // console.dir(netPort, { depth: null }) if (netPort.family === `IPv${ver}`) { // console.dir(netPort, { depth: null }) ips.push(netPort.address) } } } // console.log() // console.dir(ips, { depth: null }) return ips } async function fetchUrl(url, opts = {}) { const controller = new AbortController(); const timeoutId = setTimeout(() => { controller.abort() printRed("请求超时") }, 6000); opts["signal"] = controller.signal const res = await fetch(url, opts) .then(r => r.json()) .catch(err => { console.log(err) clearTimeout(timeoutId); }) clearTimeout(timeoutId); return res } export { getLocalIPv, fetchUrl }