Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

systeminformation

Package Overview
Dependencies
Maintainers
1
Versions
653
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

systeminformation - npm Package Compare versions

Comparing version 2.0.5 to 3.0.0

.editorconfig

4

package.json
{
"name": "systeminformation",
"version": "2.0.5",
"version": "3.0.0",
"description": "Simple system and OS information library",

@@ -37,4 +37,4 @@ "license": "MIT",

"engines": {
"node": ">=0.10"
"node": ">=4.0.0"
}
}

@@ -7,2 +7,4 @@ # systeminformation

[![NPM Downloads][downloads-image]][downloads-url]
[![Git Issues][issues-img]][issues-url]
[![deps status][daviddm-img]][daviddm-url]
[![MIT license][license-img]][license-url]

@@ -25,2 +27,3 @@

// callback style
si.cpu(function(data) {

@@ -30,11 +33,43 @@ console.log('CPU-Information:');

})
// promises style
si.cpu()
.then(data => console.log(data))
.catch(error => console.error(error));
```
### Major Changes - Version 2
### Major (breaking) Changes - Version 3
There are a lot of changes in version 2 of systeminformation! Here is a quick overview:
- works only with [node.js][nodejs-url] **v4.0.0** and above (using now internal ES6 promise function, arrow functions, ...)
- **Promises**. As you can see above, you can now also use it in a promise oriented way. But callbacks are still supported.
- `cpuCurrentspeed`: now returns an object with current minimal, maximal and average CPU frequencies of all cores.
- `networkInterfaces`: now providing one more detail: internal - true if this is an internal interface like "lo"
- `mem`: now supports also `free` (Version 3.3.10 and above); extended information `avaliable` (potentially available memory)
- `fsStats`: added information sum bytes read + write (tx) and sum transfer rate/sec (tx_sec)
- `networkConnections`: instead of only counting sockets, you now get an array of objects with connection details for each socket (protocol, local and peer address, state)
- `users`: now provides an array of objects with users online including detailed session information (login date/time, ip address, terminal, command)
- `inetLatency`: now you can provide a host against which you want to test latency (default is 8.8.8.8)
- `getDynamicData`: changed order of parameters (callback - if provided - is now the last one): `getDynamicData(srv, network, callback)`
- `getAllData`: changed order of parameters (callback - if provided - is now the last one): `getAllData(srv, network, callback)`
New Functions
New Functions
- `version`: returns systeminformation version (semver)
- `disksIO`: returns overall diskIO and IOPS values for all mounted volumes
Bug Fixes
- several bug fixes (like assess errors)
- testet on even more platforms and linux distributions
**Be aware**, that the new version 3.x is **NOT fully backward compatible** to version 2.x ...
### Major (breaking) Changes - Version 2
There had been a lot of changes in version 2 of systeminformation! Here is a quick overview (for those who come from version 1):
New Functions
- `version`: returns systeminformation version (semver) of this library
- `system`: hardware info (manufacturer, product/model name, version, serial, uuid)

@@ -67,8 +102,8 @@ - `networkConnections`: number of active connections

- `cpu_currentspeed`/`cpuCurrentspeed`: now in GHz
- `cpu`: splitted `manufacturer` (e.g. Intel) and `brand` (e.g. Core 2 Duo)
- `cpu`: splitted `manufacturer` (e.g. Intel) and `brand` (e.g. Core 2 Duo)
- `network_speed`/`networkStats`: now better support for OS X (also support for `operstate`)
- `network_speed`/`networkStats`: overall received and transferred bytes (rx, tx)
- `network_speed`/`networkStats`: overall received and transferred bytes (rx, tx)
- `mem`: now better support for OS X (also support for `swaptotal`, `swapused`, `swapfree`)
- `fs_size`/`fsSize`: use-values now in % (0 - 100% instead of 0 - 1)
- `fs_speed`/`fsStats`: now also full support for OS X
- `fs_size`/`fsSize`: use-values now in % (0 - 100% instead of 0 - 1)
- `fs_speed`/`fsStats`: now also full support for OS X
- `checksite`/`inetChecksite`: new result structure - see command reference

@@ -82,11 +117,10 @@ - `checksite`/`inetChecksite`: ms (former `response_ms`): -1 if not ok

**Be aware**, that the new version 2.x is **NOT backward compatible** to version 1.x ....
## Core concept
[Node.js][nodejs-url] comes with some basic OS information, but I always wanted a little more. So I came up to write this
little library. This library is still work in progress. In version 2 I cleaned up a lot of inconsistencies and bugs, but
there is for sure room for improvement. I was only able to test it on several Debian, Raspbian, Ubuntu distributions as well
as OS X (Mavericks, Yosemite, El Captain). Version 2 now also supports nearly all functionality on OS X/Darwin platforms.
But be careful, this library will definitely NOT work on Windows platforms!
[Node.js][nodejs-url] comes with some basic OS information, but I always wanted a little more. So I came up to write this
little library. This library is still work in progress. Version 3 comes with further improvements. First it
requires now node.js version 4.0 and above. Another big change is, that all functions now return promises. You can use them
like before with callbacks OR with promises (see example in this documentation). I am sure, there is for sure room for improvement.
I was only able to test it on several Debian, Raspbian, Ubuntu distributions as well as OS X (Mavericks, Yosemite, El Captain).
Since version 2 nearly all functionality is available on OS X/Darwin platforms. But be careful, this library will definitely NOT work on Windows platforms!

@@ -141,3 +175,6 @@ If you have comments, suggestions & reports, please feel free to contact me!

| - cores | X | X | # cores |
| si.cpuCurrentspeed(cb) | X | X | current speed (in GHz)|
| si.cpuCurrentspeed(cb) | X | X | current CPU speed (in GHz)|
| - avg | X | | avg CPU speed (all cores) |
| - min | X | | min CPU speed (all cores) |
| - max | X | | max CPU speed (all cores) |
| si.cpuTemperature(cb) | X | | CPU temperature (if sensors is installed) |

@@ -148,7 +185,8 @@ | - main | X | | main temperature |

| si.mem(cb) | X | X | Memory information|
| - total | X | X | |
| - free | X | X | |
| - used | X | X | |
| - active | X | X | |
| - buffcache | X | X | |
| - total | X | X | total memory |
| - free | X | X | not used |
| - used | X | X | used (incl. buffers/cache) |
| - active | X | X | used actively (excl. buffers/cache) |
| - buffcache | X | X | used by buffers+cache |
| - available | X | X | potentially available (total - active) |
| - swaptotal | X | X | |

@@ -166,4 +204,15 @@ | - swapused | X | X | |

| - wx | X | X | bytes written since startup |
| - tx | X | X | total bytes read + written since startup |
| - rx_sec | X | X | bytes read / second (* see notes) |
| - wx_sec | X | X | bytes written / second (* see notes) |
| - tx_sec | X | X | total bytes reads + written / second |
| - ms | X | X | interval length (for per second values) |
| si.disksIO(cb) | X | X | current transfer stats |
| - rIO | X | X | read IOs on all mounted drives |
| - wIO | X | X | write IOs on all mounted drives |
| - tIO | X | X | write IOs on all mounted drives |
| - rIO_sec | X | X | read IO per sec (* see notes) |
| - wIO_sec | X | X | write IO per sec (* see notes) |
| - tIO_sec | X | X | total IO per sec (* see notes) |
| - ms | X | | interval length (for per second values) |
| si.networkInterfaces(cb) | X | X | array of network interfaces |

@@ -173,3 +222,4 @@ | - [0].iface | X | X | interface name |

| - [0].ip6 | X | X | ip6 address |
| si.networkStats('eth1',cb) | X | X | current network stats of given interface |
| - [0].internal | X | X | true if internal interface |
| si.networkStats(iface,cb) | X | X | current network stats of given interface<br>iface parameter is optional<br>defaults to first external network interface|
| - iface | X | X | interface |

@@ -181,2 +231,10 @@ | - operstate | X | X | up / down |

| - tx_sec | X | X | transferred bytes per second (* see notes) |
| - ms | X | X | interval length (for per second values) |
| si.networkConnections(cb) | X | X | current network network connections<br>returns an array of all connections|
| - [0].protocol | X | X | tcp or udp |
| - [0].localaddress | X | X | local address |
| - [0].localport | X | X | local port |
| - [0].peeraddress | X | X | peer address |
| - [0].peerport | X | X | peer port |
| - [0].state | X | X | like ESTABLISHED, TIME_WAIT, ... |
| si.currentLoad(cb) | X | X | CPU-Load in % |

@@ -196,2 +254,8 @@ | si.fullLoad(cb) | X | X | CPU-full load since bootup in % |

| si.users(cb) | X | X | array of users online |
| - [0].user | X | X | user name |
| - [0].tty | X | X | terminal |
| - [0].date | X | X | login date |
| - [0].time | X | X | login time |
| - [0].ip | X | X | ip address (remote login) |
| - [0].command | X | X | last command or shell |
| si.inetChecksite(url, cb) | X | X | response-time (ms) to fetch given URL |

@@ -202,12 +266,13 @@ | - url | X | X | given url |

| - ms | X | X | response time in ms |
| si.inetLatency(cb) | X | X | response-time (ms) to external ressource |
| si.inetLatency(host, cb) | X | X | response-time (ms) to external resource<br>host parameter is optional (default 8.8.8.8)|
| si.getStaticData(cb) | X | X | all static data at once |
| si.getDynamicData(cb,srv,iface) | X | X | all dynamic data at once |
| si.getAllData(cb,srv,iface) | X | X | all data at once |
| si.getDynamicData(srv,iface,cb) | X | X | all dynamic data at once |
| si.getAllData(srv,iface,cb) | X | X | all data at once |
### cb: Asynchronous Function Calls (callback)
Remember: all functions (except `version` and `time`) are implemented as asynchronous (callback) functions!
So another example, how to use a specific function might be:
Remember: all functions (except `version` and `time`) are implemented as asynchronous functions! There are now two ways to consume them:
**Callback Style**
```

@@ -226,6 +291,24 @@ var si = require('systeminformation');

**Promises Style** (new in version 3.0)
When omitting callback parameter (cb), then you can use all function in a promise oriented way:
```
si.networkStats('eth1')
.then(data => {
console.log('Network Interface Stats (eth1):');
console.log('- is up: ' + data.operstate);
console.log('- RX bytes overall: ' + data.rx);
console.log('- TX bytes overall: ' + data.tx);
console.log('- RX bytes/sec: ' + data.rx_sec);
console.log('- TX bytes/sec: ' + data.tx_sec);
})
.catch(error => console.error(error));
```
### *: Additional Notes
In `fsStats` and `networkStats` the results per second values (rx_sec, ...) are calculated beginning
with the second call of the function. It is determined by calculating the difference of transferred bytes
In `fsStats`, `disksIO` and `networkStats` the results per second values (rx_sec, IOPS, ...) are calculated beginning
with the second call of the function. It is determined by calculating the difference of transferred bytes / IOs
divided by the time between two calls of the function.

@@ -237,3 +320,3 @@

For OS X, I did not find a reliable way to get the CPU temperature. All suggestions I found did not work on current version of OS X on different machines (intel platform). So if anyone has an idea, this would be helpful.
For OS X, I did not find a reliable way to get the CPU temperature. All suggestions I found did not work on current version of OS X on different machines (intel platform). So if anyone has an idea, this would be helpful.

@@ -246,2 +329,3 @@ I am happy to discuss any comments and suggestions. Please feel free to contact me if you see any possibility of improvement!

| -------------- | -------------- | -------- |
| 3.0.0 | 2016-08-03 | new major version 3.0 |
| 2.0.5 | 2016-03-02 | changed .gitignore |

@@ -284,9 +368,10 @@ | 2.0.4 | 2016-02-22 | tiny correction - removed double quotes CPU brand, ... |

- Riccardo Novaglia [richy24](https://github.com/richy24)
- Quentin Busuttil [Buzut](https://github.com/Buzut)
## Copyright Information
Linux is a registered trademark of Linus Torvalds, OS X is a registered trademark of Apple Inc.,
Windows is a registered trademark of Microsoft Corporation. Node.js is a trademark of Joyent Inc.,
Intel is a trademark of Intel Corporation, Raspberry Pi is a trademark of the Raspberry Pi Foundation,
Debian is a trademark of the Debian Project, Ubuntu is a trademark of Canonical Ltd.
Linux is a registered trademark of Linus Torvalds, OS X is a registered trademark of Apple Inc.,
Windows is a registered trademark of Microsoft Corporation. Node.js is a trademark of Joyent Inc.,
Intel is a trademark of Intel Corporation, Raspberry Pi is a trademark of the Raspberry Pi Foundation,
Debian is a trademark of the Debian Project, Ubuntu is a trademark of Canonical Ltd.
All other trademarks are the property of their respective owners.

@@ -317,3 +402,3 @@

>THE SOFTWARE.
>
>
>Further details see [LICENSE](LICENSE) file.

@@ -332,1 +417,7 @@

[nodejs-url]: https://nodejs.org/en/
[daviddm-img]: https://img.shields.io/david/sebhildebrandt/systeminformation.svg?style=flat-square
[daviddm-url]: https://david-dm.org/sebhildebrandt/systeminformation
[issues-img]: https://img.shields.io/github/issues/sebhildebrandt/systeminformation.svg?style=flat-square
[issues-url]: https://github.com/sebhildebrandt/systeminformation/issues

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc