// --- NETWORK INTERFACES --- const getNetworkInterfaces = () =>{ const list = []; const ilist = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.internal) { ilist.push({ f,iface }); } else{ list.push({ f,iface }); } } } return list.length > 0 ? list : ilist; }
freemem: os.freemem(), cpus: os.cpus(), network_interfaces: os.networkInterfaces(), nodejs_version: process.version, gladys_version: this.gladysVersion,
/** * Get IPv4 broadcast addresses for all interfaces * * @returns {Array<String>} * @memberof UdpServer */ getBroadcastAddresses() { const list = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.family === "IPv4") { list.push(ipaddr.IPv4.broadcastAddressFromCIDR(f.cidr).toString()); } } } return list; }
/** * Get list of local IPs * * @returns */ getIpList() { const list = []; const ilist = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.family === "IPv4") { if (f.internal) { ilist.push(f.address); break; } else { list.push(f.address); break; } } } } return list.length > 0 ? list : ilist; }
/** * Get all interface IPv4 addresses * * @returns {Array<String>} * @memberof UdpServer */ getInterfaceAddresses() { const list = []; const interfaces = os.networkInterfaces(); for (let iface in interfaces) { for (let i in interfaces[iface]) { const f = interfaces[iface][i]; if (f.family === "IPv4") { list.push(f.address); } } } return list; }
async index() { this.ctx.body = 'hi, egg ' + os.hostname() + JSON.stringify(os.networkInterfaces()) }
function () { let ifaces = os.networkInterfaces(); let ips: string[] = []; let func = function (details: os.NetworkInterfaceInfo) { if (details.family === 'IPv4') { ips.push(details.address); } }; for (let dev in ifaces) { ifaces[dev].forEach(func); } return ips; }()
function ip() { const interfaces = os.networkInterfaces(); return Object.keys(interfaces) .map(function(nic) { const addresses = interfaces[nic].filter(function(details) { return details.family.toLowerCase() === "ipv4" && !isLoopback(details.address); }); return addresses.length ? addresses[0].address : undefined; }) .filter(Boolean)[0]; }
function getPublicIP() { var interfaces = os.networkInterfaces(); if (Array.isArray(interfaces.en0) && interfaces.en0.length > 0) { var en0 = interfaces.en0; var ipv4Item = en0.find(function (i) { return i.family === 'IPv4'; }); if (ipv4Item) { return Promise.resolve(ipv4Item.address); } } return Promise.resolve(null); }
function getLocalIP() { const interfaces = os.networkInterfaces(); const addresses = []; Object.keys(interfaces).forEach((netInterface) => { interfaces[netInterface].forEach((interfaceObject) => { if (interfaceObject.family === 'IPv4' && !interfaceObject.internal) { addresses.push(interfaceObject.address); } }); }); return addresses; }
const getIps = () => { const ifaces = networkInterfaces(); return Object.keys(ifaces).reduce((results = [], ifname) => { const localResults = ifaces[ifname].filter((iface) => { return 'IPv4' === iface.family && !iface.internal; }).map((iface) => iface.address); return results.concat(localResults); }, []); }
export function getPublicIP(): Promise<string | null> { const interfaces = os.networkInterfaces() if (Array.isArray(interfaces.en0) && interfaces.en0.length > 0) { const { en0 } = interfaces const ipv4Item = en0.find((i) => i.family === 'IPv4') if (ipv4Item) { return Promise.resolve(ipv4Item.address) } } return Promise.resolve(null) }
const get_IPadress=(ifaceKey, callback)=>{ //inspired from https://stackoverflow.com/questions/3653065/get-local-ip-address-in-node-js const ifaces = OS.networkInterfaces() const iface=ifaces[ifaceKey] callback(iface[0].address) }
function ipv4(iface) { let interfaces = os.networkInterfaces(); if (iface) interfaces = reduceInterfaces(interfaces, iface); return pickInterface(interfaces, 'IPv4'); }
freemem: os.freemem(), cpus: os.cpus(), network_interfaces: os.networkInterfaces(), nodejs_version: process.version, gladys_version: this.gladysVersion,