Network Setting and Get Network Info (IP, Lan, Wifi and ...)
- This package works only `linux` based systems
+ linux on PC, Raspberry-pi, Orange-pi and ...
- This package required to `nmcli` (`network-manager`)
npm install node-network-manager --save
app.js
const network = require("node-network-manager");
network
.getConnectionProfilesList()
.then((data) => console.log(data))
.catch((error) => console.log(error));
1- Enable network
network
.enable()
.then(() => console.log("network has just turned on"))
.catch((error) => console.log(error));
2- Disable network
network
.disable()
.then(() => console.log("network has just turned off"))
.catch((error) => console.log(error));
3- Get network connectivity state (params: reChecking = true|false)
network
.getNetworkConnectivityState(true)
.then((hostName) => console.log(hostName))
.catch((error) => console.log(error));
4- Enable Wifi
network
.wifiEnable()
.then(() => console.log("wifi was enabled"))
.catch((error) => console.log(error));
5- Disable Wifi
network
.wifiDisable()
.then(() => console.log("wifi was disabled"))
.catch((error) => console.log(error));
6- Get Wifi status
network
.getWifiStatus()
.then((data) => console.log(data))
.catch((error) => console.log(error));
7- Observe NetworkManager activity. Watches for changes in connectivity state, devices or connection profiles. (params: stream = stream)
const fs = require("fs");
const path = require("path");
const myFile = fs.createWriteStream(path.join(__dirname, "myOutput.txt"));
network
.activityMonitor(process.stdout)
.then((endStream) => {
console.log("start monitor");
setTimeout(() => {
console.log("stop monitor");
endStream();
}, 5000);
})
.catch((error) => console.log(error));
network
.activityMonitor(myFile)
.then((endStream) => {
console.log("start monitor");
setTimeout(() => {
console.log("stop monitor");
endStream();
}, 5000);
})
.catch((error) => console.log(error));
8- List in-memory and on-disk connection profiles (params: active = true|false)
network
.getConnectionProfilesList()
.then((data) => console.log(data))
.catch((error) => console.log(error));
9- Activate a connection (params: uuid (can get with getConnectionProfilesList))
network
.connectionUp("79373ad4-c462-43f7-90bd-ffdd4036623f")
.then((data) => console.log(data))
.catch((error) => console.log(error));
10- Deactivate a connection from a device without preventing the device from further auto-activation. (params: uuid (can get with getConnectionProfilesList))
network
.connectionDown("79373ad4-c462-43f7-90bd-ffdd4036623f")
.then((data) => console.log(data))
.catch((error) => console.log(error));
11- List available Wi-Fi access points. (params: reScan = true|false)
network
.getWifiList(true)
.then((data) => console.log(data))
.catch((error) => console.log(error));
12- Connect to a Wi-Fi network specified by SSID (params: SSID = String , Password = String)
network
.wifiConnect("Your-Access-Point-SSId", "AP-Password")
.then((data) => console.log(data))
.catch((error) => console.log(error));
13- Get all IPv4 interfaces
network
.getIPv4()
.then((ipData) => console.log(ipData))
.catch((error) => console.log(error));
14- Get system hostname
network
.getHostName()
.then((hostName) => console.log(hostName))
.catch((error) => console.log(error));
15- Get ethernet and wifi ip details (v1.0.5)
network
.getConnectionProfilesList(false)
.then((data) => {
const ethernet = data.find((item) => item.TYPE === "ethernet");
const wifi = data.find((item) => item.TYPE === "wifi");
network
.getDeviceInfoIPDetail(ethernet.DEVICE)
.then((data) => console.log(data))
.catch((error) => console.log(error));
network
.getDeviceInfoIPDetail(wifi.DEVICE)
.then((data) => console.log(data))
.catch((error) => console.log(error));
})
.catch((error) => console.log(error));
This project is licensed under the MIT License
- added getDeviceInfoIPDetail function
- added inUseBoolean field in 'getWifiList' result
- Fixed Examples in README file
- Fixed README file
- Fixed README file
- Release first version