wifiInterfaces(), wifiConnections() added

This commit is contained in:
Sebastian Hildebrandt
2021-02-10 16:08:55 +01:00
parent cce9fd5f73
commit ac29803f03
18 changed files with 904 additions and 97 deletions
+4 -1
View File
@@ -47,9 +47,11 @@
<h4>New Functions</h4>
<ul>
<li><span class="code">audio()</span> detailed audio information </li>
<li><span class="code">bluetoothDevices()</span> detailed information detected bluetooth devices</li>
<li><span class="code">printers()</span> detailed printer information </li>
<li><span class="code">usb()</span> detailed USB information</li>
<li><span class="code">bluetoothDevices()</span> detailed information detected bluetooth devices</li>
<li><span class="code">wifiInterfaces()</span> detected Wi-Fi interfaces</li>
<li><span class="code">wifiConnections()</span> active Wi-Fi connections</li>
</ul>
<h4>Breaking Changes</h4>
<p><span class="bold">Be aware</span>, that the new version 5.x is <span class="bold">NOT fully backward compatible</span> to version 4.x ...</p>
@@ -185,6 +187,7 @@
<li><span class="code">uuid()</span>: better value support</li>
<li><span class="code">uuid()</span>: added MACs</li>
<li><span class="code">uuid()</span>: better Raspberry Pi hardware ID</li>
<li><span class="code">versions()</span>: added bash, zsh, fish, powershell, dotnet</li>
<li><span class="code">Apple M1 Silicon</span> extended support (now everything supported except of cpu temperature)</li>
<li>updated TypeScript definitions </li>
</ul>
+5
View File
@@ -56,6 +56,11 @@
</tr>
</thead>
<tbody>
<tr>
<th scope="row">5.2.0</th>
<td>2020-02-10</td>
<td><span class="code">wifiInterfces()</span> and <span class="code">wifiConnections()</span> added</td>
</tr>
<tr>
<th scope="row">5.1.2</th>
<td>2020-02-08</td>
+2 -2
View File
@@ -170,7 +170,7 @@
<img class="logo" src="assets/logo.png">
<div class="title">systeminformation</div>
<div class="subtitle"><span id="typed"></span>&nbsp;</div>
<div class="version">New Version: <span id="version">5.1.2</span></div>
<div class="version">New Version: <span id="version">5.2.0</span></div>
<button class="btn btn-light" onclick="location.href='https://github.com/sebhildebrandt/systeminformation'">View on Github <i class=" fab fa-github"></i></button>
</div>
<div class="down">
@@ -201,7 +201,7 @@
</div>
<div class="row number-section">
<div class="col-xl-4 col-lg-4 col-md-4 col-12">
<div class="numbers">13,280</div>
<div class="numbers">13,533</div>
<div class="title">Lines of code</div>
</div>
<div class="col-xl-4 col-lg-4 col-md-4 col-12">
+56 -1
View File
@@ -550,6 +550,56 @@ si.osInfo().then(data => console.log(data));</code></pre class="example">
<td>X</td>
<td>virtualbox version</td>
</tr>
<tr>
<td></td>
<td>bash</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>bash version</td>
</tr>
<tr>
<td></td>
<td>zsh</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>zsh version</td>
</tr>
<tr>
<td></td>
<td>fish</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>X</td>
<td>fish version</td>
</tr>
<tr>
<td></td>
<td>powershell</td>
<td></td>
<td></td>
<td></td>
<td>X</td>
<td></td>
<td>powershell version</td>
</tr>
<tr>
<td></td>
<td>dotnet</td>
<td></td>
<td></td>
<td></td>
<td>X</td>
<td></td>
<td>dotnet version</td>
</tr>
<tr class="example">
<td></td>
<td colspan="7">
@@ -587,7 +637,12 @@ si.versions().then(data => console.log(data));</code></pre class="example">
pip3: '19.0.3',
java: '',
gcc: '4.2.1',
virtualbox: ''
virtualbox: '',
bash: '3.2.57',
zsh: '5.8',
fish: '',
powershell: '',
dotnet: ''
}</pre>
<h5>Example 2</h5>
<pre><code class="js">const si = require('systeminformation');
+5 -5
View File
@@ -63,8 +63,8 @@
═══════════════════════════════════════════════════════════
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ a ... Audio h ... Bluetooth s ... Services ? ... Get Object │
│ b ... BIOS i ... INET Latency S ... Shell , ... All Static │
│ a ... Audio h ... Bluetooth s ... Services Y ... Battery ? ... Get Object │
│ b ... BIOS i ... INET Latency S ... Shell z ... Users , ... All Static │
│ B ... Baseboard I ... INET Check Site t ... time 1 ... NET Iface Default . ... All Dynamic │
│ C ... Chassis j ... CPU Current Speed T ... CPU Temperature 2 ... NET Gateway Default / ... All │
│ c ... CPU l ... CPU Current Load u ... USB 3 ... NET Interfaces │
@@ -72,9 +72,9 @@
│ D ... DiskIO m ... Memory v ... Versions 5 ... NET Connections │
│ e ... Block Devices M ... MEM Layout V ... Virtual Box 6 ... Docker Info │
│ E ... Open Files o ... OS Info w ... WIFI networks 7 ... Docker Container │
│ f ... FS Size p ... Processes y ... System 8 ... Docker Cont Stats │
│ F ... FS Stats P ... Process Load Y ... Battery 9 ... Docker Cont Proc │
│ g ... Graphics r ... Printer z ... Users 0 ... Docker All q >>> QUIT │
│ f ... FS Size p ... Processes W ... WIFI interfaces 8 ... Docker Cont Stats │
│ F ... FS Stats P ... Process Load x ... WIFI connections 9 ... Docker Cont Proc │
│ g ... Graphics r ... Printer y ... System 0 ... Docker All q >>> QUIT │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘</code></pre>
<p><span class="bold">Press q</span> to exit the test suite</p>
<p>Here a sample output for the e.g. <span class="bold">c ... CPU</span></p>
+272 -1
View File
@@ -47,7 +47,7 @@
<div class="col-12 sectionheader">
<div class="title">Wifi</div>
<div class="text">
<p>In this section you will learn how to get detailed information about available wifi networks:</p>
<p>In this section you will learn how to get detailed information about available wifi networks, interfaces and connections:</p>
<p>For function reference and examples we assume, that we imported <span class="code">systeminformation</span> as follows:</p>
<pre><code class="js">const si = require('systeminformation');</code></pre>
<h2>Wifi Networks</h2>
@@ -214,6 +214,277 @@ si.wifiNetworks().then(data => console.log(data));</code></pre class="example">
</tbody>
</table>
<h2>Wifi Interfaces</h2>
<p>All functions in this section return a promise or can be called with a callback function (parameter <span class="code">cb</span> in the function reference)</p>
<table class="table table-sm table-bordered table-striped">
<thead>
<tr>
<th>Function</th>
<th>Result object</th>
<th>Linux</th>
<th>BSD</th>
<th>Mac</th>
<th>Win</th>
<th>Sun</th>
<th>Comments</th>
</tr>
</thead>
<tbody>
<tr>
<td>si.wifiInterfaces(cb)</td>
<td>[{...}]</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>array of detected wifi interfaces</td>
</tr>
<tr>
<td></td>
<td>[0].id</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>Wifi ID</td>
</tr>
<tr>
<td></td>
<td>[0].iface</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>interface</td>
</tr>
<tr>
<td></td>
<td>[0].model</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>model</td>
</tr>
<tr>
<td></td>
<td>[0].vendor</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>vendor</td>
</tr>
<tr>
<td></td>
<td>[0].mac</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>interface MAC</td>
</tr>
<tr class="example">
<td></td>
<td colspan="7">
<h5>Example</h5>
<pre><code class="js">const si = require('systeminformation');
si.wifiInterfaces().then(data => console.log(data));</code></pre class="example">
<pre class="example">
[
{
id: 'Wi-Fi',
iface: 'en0',
model: 'AirPort',
vendor: '',
mac: 'a0:b1:c2:d3:e4:f5'
},
...
]</pre>
</tr>
</tbody>
</table>
<h2>Wifi Connections</h2>
<p>All functions in this section return a promise or can be called with a callback function (parameter <span class="code">cb</span> in the function reference)</p>
<table class="table table-sm table-bordered table-striped">
<thead>
<tr>
<th>Function</th>
<th>Result object</th>
<th>Linux</th>
<th>BSD</th>
<th>Mac</th>
<th>Win</th>
<th>Sun</th>
<th>Comments</th>
</tr>
</thead>
<tbody>
<tr>
<td>si.wifiConnections(cb)</td>
<td>[{...}]</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>array of active wifi connections</td>
</tr>
<tr>
<td></td>
<td>[0].id</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>Wifi ID</td>
</tr>
<tr>
<td></td>
<td>[0].iface</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>interface</td>
</tr>
<tr>
<td></td>
<td>[0].name</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>name</td>
</tr>
<tr>
<td></td>
<td>[0].model</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>model</td>
</tr>
<tr>
<td></td>
<td>[0].ssid</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>Wifi network SSID</td>
</tr>
<tr>
<td></td>
<td>[0].bssid</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>BSSID (mac)</td>
</tr>
<tr>
<td></td>
<td>[0].channel</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>channel</td>
</tr>
<tr>
<td></td>
<td>[0].frequency</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>frequency</td>
</tr>
<tr>
<td></td>
<td>[0].type</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>WiFi type</td>
</tr>
<tr>
<td></td>
<td>[0].security</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>WiFi security</td>
</tr>
<tr>
<td></td>
<td>[0].signalLevel</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>signal level in dB</td>
</tr>
<tr>
<td></td>
<td>[0].txRate</td>
<td>X</td>
<td></td>
<td>X</td>
<td>X</td>
<td></td>
<td>transfer rate Mbit/s</td>
</tr>
<tr class="example">
<td></td>
<td colspan="7">
<h5>Example</h5>
<pre><code class="js">const si = require('systeminformation');
si.wifiConnections().then(data => console.log(data));</code></pre class="example">
<pre class="example">
[
{
id: 'Wi-Fi',
iface: 'en0',
name: 'AirPort',
model: 'AirPort',
ssid: 'my-own-internet',
bssid: '01:23:45:67:89:0a',
channel: 36,
frequency: 5180,
type: '802.11',
security: 'wpa2-psk',
signalLevel: 46,
txRate: '405'
},
...
]</pre>
</tr>
</tbody>
</table>
</div>
</div>