Files
migu_video/utils/net.js
develop202 65ed140b1f 添加pass
2025-12-25 18:46:25 +08:00

46 lines
1.0 KiB
JavaScript

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
}