20 lines
552 B
JavaScript
20 lines
552 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var os = require('os');
|
||
|
|
||
|
var ifaces = os.networkInterfaces();
|
||
|
var llRe = /^(fe80|169)/i; // link-local
|
||
|
|
||
|
Object.keys(ifaces).forEach(function (iname) {
|
||
|
var iface = ifaces[iname];
|
||
|
|
||
|
iface = iface.filter(function (pface) {
|
||
|
// nix loopback, internal and ipv6 link-local (non-routable) and ipv4 link-local
|
||
|
return !pface.internal && !(pface.scopeid > 1) && !llRe.test(pface.address);
|
||
|
});
|
||
|
|
||
|
iface.forEach(function (pface) {
|
||
|
console.log(pface);
|
||
|
});
|
||
|
});
|