UNPKG

wit

Version:

command-line wireless 802.11 manager for linux

36 lines (28 loc) 878 B
var iwscan = require('./scan.js'); var known = require('./known.js'); module.exports = function (iface, cb) { iwscan(iface, function (err, signals) { if (err) cb(err) else cb(null, mapSort(signals)) }); }; function cmp (a, b) { return a.ssid < b.ssid ? -1 : 1; } function mapSort (signals) { return Object.keys(signals).sort(cmp).map(map); function map (key) { var sig = signals[key]; var enc = (function () { if (sig.wpa || sig.rsn) return 'WPA'; if (!sig['ht operation']) { return 'FREE'; } return '???'; })(); if (enc !== 'FREE' && known[sig.ssid]) enc += '*'; var ssid = sig.ssid; if (ssid.length > 30) ssid = ssid.slice(0, 30 - 3) + '...'; return [ ssid, sig.signal, enc ]; } }