Files
cloudron-box/src/sysinfo/caas.js
T
2016-01-05 12:10:25 +01:00

27 lines
673 B
JavaScript

'use strict';
exports = module.exports = {
getIp: getIp
};
var assert = require('assert'),
os = require('os'),
SysInfoError = require('../sysinfo.js').SysInfoError;
function getIp(callback) {
assert.strictEqual(typeof callback, 'function');
var ifaces = os.networkInterfaces();
for (var dev in ifaces) {
if (dev.match(/^(en|eth|wlp).*/) === null) continue;
for (var i = 0; i < ifaces[dev].length; i++) {
if (ifaces[dev][i].family === 'IPv4') {
return callback(null, ifaces[dev][i].address);
}
}
}
callback(new SysInfoError(SysInfoError.INTERNAL_ERROR, 'No IP found'));
}