lan-settings
用于设置操作系统的局域网设置的Node模块(Node >= v7.6), 支持 Windows、macOS, 后续会支持 Linux
安装
npm i --save lan-settings
使用 (Promise/Async)
const lan = ; // 获取设备的所有可用 NetworkServices (macOS Only)lan ; // 获取当前局域网设置信息,如果err非空,表示获取失败lan ; // output: // { autoDetect: false, // autoConfig: false, // autoConfigUrl: '', // proxyEnable: true, // proxyServer: '127.0.0.1:8888', // bypassLocal: false, // bypass: '' } // 自动检测设置lan ; // 开启并这种PAC脚本lan ; // 开启并设置统一的代理服务器,开启本地代理白名单lan ; // 高级设置,对http、https、ftp、socks分别设置不同的代理,并设置白名单域名前缀lan ; // 重置到修改前的设置lan ;
使用 (Callback)
const lan = ;// 获取设备的所有可用 NetworkServices (macOS Only)lan; // 获取当前局域网设置信息,如果err非空,表示获取失败lan; // 自动检测设置lan; // 开启并这种PAC脚本lan; // 开启并设置统一的代理服务器,开启本地代理白名单lan; // 高级设置,对http、https、ftp、socks分别设置不同的代理,并设置白名单域名前缀lan; // 重置到修改前的设置lan;
API
注: networkservice 参数只适用于 macOS, 默认值为 "All", 即全部设置
lan.listNetworkServices([cb]):
获取设备的所有可用 NetworkServices
cb(err)
为可选回调函数,如果重置失败,则err不为空; (macOS only)
若不传入回调函数, 则返回 Promise 对象;
'iPhone USB' 'Ethernet' 'Wi-Fi' 'Bluetooth PAN' 'Thunderbolt Bridge'
lan.getSettings([cb, networkservice]):
获取当前局域网设置信息
其中 cb(err, settings)
为可选回调函数,如果出错err不为空,否则settings为当前系统局域网设置信息;
若不传入回调函数, 则返回 Promise 对象;
autoDetect: true // 是否开启自动检查设置 autoConfig: true // 是否开启pac脚本 autoConfigUrl: 'http://127.0.0.1:50011' // pac脚本的url proxyEnable: true // 是否开启代理设置 proxyServer: '127.0.0.1:8888' // 代理服务器ip和端口,如果使用高级设置,可能返回 `htt=127.0.0.1:8888;https=127.0.0.2:8889`等 bypassLocal: true // 是否启用对本地地址不使用代理 bypass: 'www.test;www.abc' // 高级设置里面的白名单信息
lan.setSettings(settings, [cb, networkservice]):
设置局域网信息
settings如上,如果为null表示清空并关闭所有局域网设置项,cb(err)
为可选回调函数,如果设置失败,则err不为空。
若不传入回调函数, 则返回 Promise 对象;
lan.reset(cb[, networkservice]):
将局域网设置重置到修改前
cb(err)
为可选回调函数,如果重置失败,则err不为空。
若不传入回调函数, 则返回 Promise 对象;