systeminformation 5.23.13 → 5.23.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -19,31 +19,64 @@
19
19
  <a href="https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md">Changelog</a>
20
20
  </p>
21
21
 
22
- [![NPM Version][npm-image]][npm-url]
23
- [![NPM Downloads][downloads-image]][downloads-url]
24
- [![Git Issues][issues-img]][issues-url]
25
- [![Closed Issues][closed-issues-img]][closed-issues-url]
26
- <img src="docs/assets/no-dependencies.svg" alt="no dependencies">
27
- [![Sponsoring][sponsor-badge]][sponsor-url]
28
- [![Caretaker][caretaker-image]][caretaker-url]
29
- [![MIT license][license-img]][license-url]
22
+ [![NPM Version][npm-image]][npm-url]
23
+ [![NPM Downloads][downloads-image]][downloads-url]
24
+ [![Git Issues][issues-img]][issues-url]
25
+ [![Closed Issues][closed-issues-img]][closed-issues-url]
26
+ <img src="docs/assets/no-dependencies.svg" alt="no dependencies">
27
+ [![Sponsoring][sponsor-badge]][sponsor-url]
28
+ [![Caretaker][caretaker-image]][caretaker-url]
29
+ [![MIT license][license-img]][license-url]
30
30
 
31
31
  ## The Systeminformation Project
32
- This is amazing. Started as a small project just for myself, it now has > 15,000 lines of code, > 600 versions published, up to 8 mio downloads per month, > 300 mio downloads overall. #1 NPM ranking for backend packages. Thank you to all who contributed to this project!
32
+
33
+ ```
34
+ .''.
35
+ .''. . *''* :_\/_:
36
+ :_\/_: _\(/_ .:.*_\/_* : /\ :
37
+ .''.: /\ : ./)\ ':'* /\ * : '..'.
38
+ :_\/_:'.:::. ' *''* * '.\'/.' _\(/_
39
+ : /\ : ::::: *_\/_* -= o =- /)\
40
+ '..' ':::' * /\ * .'/.\'. '
41
+ *..* :
42
+ *
43
+ * /.\ * * . *
44
+ . /..'\ . . * .
45
+ */'.'\* . . . * *
46
+ * /.''.'\ * . . . *
47
+ . */.'.'.\*
48
+ .........".""""/'.''.'.\""."."........".".".......................
49
+ ^^^[_]^^^*
50
+ ```
51
+
52
+ I wish you all a Merry Christmas and a peaceful New Year 2025.
53
+
54
+ This is amazing. Started as a small project just for myself, it now has > 15,000
55
+ lines of code, > 650 versions published, up to 8 mio downloads per month, > 330
56
+ mio downloads overall. #1 NPM ranking for backend packages. Thank you to all who
57
+ contributed to this project!
33
58
 
34
59
  ## Please support this project ... ☕️
35
60
 
36
- Over the past few years I spent **more than 2.000 hours** working on this project and invested in hardware to be able to test on different platforms. Currently I am working very hard on the next **new version 6.0** completely rewritten in TypeScript and with a lot of new features. Any support is highly appreciated - [Buy me a coffee](https://www.buymeacoffee.com/systeminfo).
61
+ Over the past few years I spent **more than 3.000 hours** working on this
62
+ project and invested in hardware to be able to test on different platforms.
63
+ Currently I am working very hard on the next **new version 6.0** completely
64
+ rewritten in TypeScript and with a lot of new features. Any support is highly
65
+ appreciated - [Buy me a coffee](https://www.buymeacoffee.com/systeminfo).
37
66
 
38
- **Your contribution** make it possible for me to keep working on this project, add new features and support more platforms. Thank you in advance!
67
+ **Your contribution** make it possible for me to keep working on this project,
68
+ add new features and support more platforms. Thank you in advance!
39
69
 
40
70
  ## New Version 5.0
41
71
 
42
- The new Version 5 is here - this next major version release 5.0 comes with new functionality and several improvements and changes (some of them are breaking changes!):
72
+ The new Version 5 is here - this next major version release 5.0 comes with new
73
+ functionality and several improvements and changes (some of them are breaking
74
+ changes!):
43
75
 
44
76
  - added audio: get detailed audio device information
45
77
  - added bluetooth: get detailed bluetooth device information
46
- - added dockerImages, dockerVolumes: get detailed information about docker images and volumes
78
+ - added dockerImages, dockerVolumes: get detailed information about docker
79
+ images and volumes
47
80
  - added printer: get information from detected printers
48
81
  - added usb: get detailed usb controller and device information
49
82
  - added wifi interfaces and connections: extended wifi information
@@ -52,23 +85,32 @@ The new Version 5 is here - this next major version release 5.0 comes with new f
52
85
  - better/extended system info detection
53
86
  - Apple Silicon M1/M2/M3 support
54
87
  - better Raspberry-PI detection
55
- - systeminformation website updated and extended with full documentation and examples [systeminformation.io][systeminformation-url]
88
+ - systeminformation website updated and extended with full documentation and
89
+ examples [systeminformation.io][systeminformation-url]
56
90
  - lot of minor improvements
57
91
 
58
- Breaking Changes in version 5: you will see several breaking changes for the sake of a more consistent API interface and to be future proof. Read the [detailed version 5 changes][changes5-url].
92
+ Breaking Changes in version 5: you will see several breaking changes for the
93
+ sake of a more consistent API interface and to be future proof. Read the
94
+ [detailed version 5 changes][changes5-url].
59
95
 
60
- I did a lot of testing on different platforms and machines but of course there might be some issues that I am not aware of. I would be happy if you inform me when you discover any issues. Issues can be [opened here][new-issue].
96
+ I did a lot of testing on different platforms and machines but of course there
97
+ might be some issues that I am not aware of. I would be happy if you inform me
98
+ when you discover any issues. Issues can be [opened here][new-issue].
61
99
 
62
100
  ## Quick Start
63
101
 
64
- Lightweight collection of 50+ functions to retrieve detailed hardware, system and OS information.
102
+ Lightweight collection of 50+ functions to retrieve detailed hardware, system
103
+ and OS information.
65
104
 
66
105
  - simple to use
67
- - get detailed information about system, cpu, baseboard, battery, memory, disks/filesystem, network, docker, software, services and processes
68
- - supports Linux, macOS, partial Windows, FreeBSD, OpenBSD, NetBSD, SunOS and Android support
106
+ - get detailed information about system, cpu, baseboard, battery, memory,
107
+ disks/filesystem, network, docker, software, services and processes
108
+ - supports Linux, macOS, partial Windows, FreeBSD, OpenBSD, NetBSD, SunOS and
109
+ Android support
69
110
  - no npm dependencies
70
111
 
71
- **Attention**: this is a `node.js` library. It is supposed to be used as a backend/server-side library and will definitely not work within a browser.
112
+ **Attention**: this is a `node.js` library. It is supposed to be used as a
113
+ backend/server-side library and will definitely not work within a browser.
72
114
 
73
115
  ### Installation
74
116
 
@@ -84,7 +126,8 @@ npm i systeminformation
84
126
 
85
127
  ### Give it a try with `npx`?
86
128
 
87
- You just want to give it a try - right from your command line without installing it? Here is how you can call it with `npx`:
129
+ You just want to give it a try - right from your command line without installing
130
+ it? Here is how you can call it with `npx`:
88
131
 
89
132
  ```
90
133
  # get basic system info (System, OS, CPU)
@@ -94,10 +137,10 @@ npx systeminformation info
94
137
  npx systeminformation
95
138
  ```
96
139
 
97
-
98
140
  #### Still need Version 4?
99
141
 
100
- If you need version 4 (for compatibility reasons), you can install version 4 (latest release) like this
142
+ If you need version 4 (for compatibility reasons), you can install version 4
143
+ (latest release) like this
101
144
 
102
145
  ```bash
103
146
  npm install systeminformation@4 —save
@@ -111,15 +154,16 @@ npm install systeminformation@4
111
154
 
112
155
  ### Usage
113
156
 
114
- All functions (except `version` and `time`) are implemented as asynchronous functions. Here a small example how to use them:
157
+ All functions (except `version` and `time`) are implemented as asynchronous
158
+ functions. Here a small example how to use them:
115
159
 
116
160
  ```js
117
- const si = require('systeminformation');
161
+ const si = require("systeminformation");
118
162
 
119
163
  // promises style - new since version 3
120
164
  si.cpu()
121
- .then(data => console.log(data))
122
- .catch(error => console.error(error));
165
+ .then((data) => console.log(data))
166
+ .catch((error) => console.error(error));
123
167
  ```
124
168
 
125
169
  ## News and Changes
@@ -140,7 +184,8 @@ si.cpu()
140
184
  - Version 5.14.0: `blockDevices()` added raid group member (linux)
141
185
  - Version 5.13.0: `networkConnections()` added process name (macOS)
142
186
  - Version 5.12.0: `cpu()` added performance and efficiency cores
143
- - Version 5.11.0: `networkInterfaces()` added default property and default parameter
187
+ - Version 5.11.0: `networkInterfaces()` added default property and default
188
+ parameter
144
189
  - Version 5.10.0: basic `android` support
145
190
  - Version 5.9.0: `graphics()` added properties (macOS)
146
191
  - Version 5.8.0: `disksIO()` added waitTime, waitPercent (linux)
@@ -150,29 +195,41 @@ si.cpu()
150
195
  - Version 5.4.0: `dockerImages()` added
151
196
  - Version 5.3.0: `osInfo()` added remoteSession (win only)
152
197
  - Version 5.2.0: `wifiInterfaces()` and `wifiConnections()` added
153
- - Version 5.1.0: `memLayout()` added ECC flag, `bios()` added language, features (linux)
154
- - Version 5.0.0: new version 5 - attention there are some breaking changes. See [detailed version 5 changes here][changes5-url].
198
+ - Version 5.1.0: `memLayout()` added ECC flag, `bios()` added language, features
199
+ (linux)
200
+ - Version 5.0.0: new version 5 - attention there are some breaking changes. See
201
+ [detailed version 5 changes here][changes5-url].
155
202
  - ...
156
203
 
157
204
  You can find all changes here: [detailed changelog][changelog-url]
158
205
 
159
206
  ## Core concept
160
207
 
161
- [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 a work in progress. It is supposed to be used as a backend/server-side library (it will definitely not work within a browser). It requires node.js version 4.0 and above.
208
+ [Node.js][nodejs-url] comes with some basic OS information, but I always wanted
209
+ a little more. So I came up to write this little library. This library is still
210
+ a work in progress. It is supposed to be used as a backend/server-side library
211
+ (it will definitely not work within a browser). It requires node.js version 4.0
212
+ and above.
162
213
 
163
- I was able to test it on several Debian, Raspbian, Ubuntu distributions as well as macOS (Mavericks, Yosemite, El Captain, Sierra, High Sierra, Mojave, Catalina, Big Sur) and some Windows 7, Windows 8, Windows 10, FreeBSD, OpenBSD, NetBSD and SunOS machines. Not all functions are supported on all operating systems. Have a look at the function reference in the docs to get further details.
214
+ I was able to test it on several Debian, Raspbian, Ubuntu distributions as well
215
+ as macOS (Mavericks, Yosemite, El Captain, Sierra, High Sierra, Mojave,
216
+ Catalina, Big Sur) and some Windows 7, Windows 8, Windows 10, FreeBSD, OpenBSD,
217
+ NetBSD and SunOS machines. Not all functions are supported on all operating
218
+ systems. Have a look at the function reference in the docs to get further
219
+ details.
164
220
 
165
221
  If you have comments, suggestions & reports, please feel free to contact me!
166
222
 
167
-
168
- I also created a nice little command line tool called [mmon][mmon-github-url] (micro-monitor) for Linux and macOS, also available via [github][mmon-github-url] and [npm][mmon-npm-url]
169
-
223
+ I also created a nice little command line tool called [mmon][mmon-github-url]
224
+ (micro-monitor) for Linux and macOS, also available via
225
+ [github][mmon-github-url] and [npm][mmon-npm-url]
170
226
 
171
227
  ## Reference
172
228
 
173
229
  ### Function Reference and OS Support
174
230
 
175
- Full function reference with examples can be found at [https://systeminformation.io][systeminformation-url].
231
+ Full function reference with examples can be found at
232
+ [https://systeminformation.io][systeminformation-url].
176
233
 
177
234
  #### 1. General
178
235
 
@@ -323,7 +380,8 @@ Full function reference with examples can be found at [https://systeminformation
323
380
  | | manufacturer | X | | X | | | manufacturer |
324
381
  | | serial | X | | X | | | battery serial |
325
382
 
326
- * See known issues if you have a problem with macOS temperature or windows temperature
383
+ - See known issues if you have a problem with macOS temperature or windows
384
+ temperature
327
385
 
328
386
  #### 6. Graphics
329
387
 
@@ -800,7 +858,7 @@ Full function reference with examples can be found at [https://systeminformation
800
858
  | | [0].rss | X | X | X | X | X | resident set size |
801
859
  | | [0].vsz | X | X | X | X | X | virtual size in Kbytes |
802
860
  | | [0].command | X | X | X | X | X | command and arguments |
803
- | si.dockerVolumes(cb) | [{...}] | returns array of all docker volumes |
861
+ | si.dockerVolumes(cb) | [{...}] | returns array of all docker volumes | | | | | |
804
862
  | | [0].name | X | X | X | X | X | volume name |
805
863
  | | [0].driver | X | X | X | X | X | driver |
806
864
  | | [0].labels | X | X | X | X | X | labels object |
@@ -857,74 +915,78 @@ Full function reference with examples can be found at [https://systeminformation
857
915
  | Function | Result object | Linux | BSD | Mac | Win | Sun | Comments |
858
916
  | ----------------------------------- | ------------- | ----- | --- | --- | --- | --- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
859
917
  | si.getStaticData(cb) | {...} | X | X | X | X | X | all static data at once |
860
- | si.getDynamicData(srv,iface,cb) | {...} | X | X | X | X | X | all dynamic data at once<br>Specify services and interfaces to monitor<br>Defaults to first external network interface<br>Pass "*" for ALL services (linux/win only)<br>Pass "*" for ALL network interfaces |
861
- | si.getAllData(srv,iface,cb) | {...} | X | X | X | X | X | all data at once<br>Specify services and interfaces to monitor<br>Defaults to first external network interface<br>Pass "*" for ALL services (linux/win only)<br>Pass "*" for ALL network interfaces |
918
+ | si.getDynamicData(srv,iface,cb) | {...} | X | X | X | X | X | all dynamic data at once<br>Specify services and interfaces to monitor<br>Defaults to first external network interface<br>Pass "_" for ALL services (linux/win only)<br>Pass "_" for ALL network interfaces |
919
+ | si.getAllData(srv,iface,cb) | {...} | X | X | X | X | X | all data at once<br>Specify services and interfaces to monitor<br>Defaults to first external network interface<br>Pass "_" for ALL services (linux/win only)<br>Pass "_" for ALL network interfaces |
862
920
  | si.get(valueObject,cb) | {...} | X | X | X | X | X | get partial system info data at once<br>In valueObject you can define<br>all values, you want to get back <br>(see documentation for details) |
863
921
  | si.observe(valueObject,interval,cb) | - | X | X | X | X | X | Observe a defined value object<br>call callback on changes<br>polling interval in milliseconds |
864
922
 
865
923
  ### cb: Asynchronous Function Calls (callback)
866
924
 
867
- Remember: all functions (except `version` and `time`) are implemented as asynchronous functions! There are now three ways to consume them:
925
+ Remember: all functions (except `version` and `time`) are implemented as
926
+ asynchronous functions! There are now three ways to consume them:
868
927
 
869
928
  **Callback Style**
870
929
 
871
930
  ```js
872
- const si = require('systeminformation');
873
-
874
- si.cpu(function(data) {
875
- console.log('CPU Information:');
876
- console.log('- manufacturer: ' + data.manufacturer);
877
- console.log('- brand: ' + data.brand);
878
- console.log('- speed: ' + data.speed);
879
- console.log('- cores: ' + data.cores);
880
- console.log('- physical cores: ' + data.physicalCores);
881
- console.log('...');
882
- })
931
+ const si = require("systeminformation");
932
+
933
+ si.cpu(function (data) {
934
+ console.log("CPU Information:");
935
+ console.log("- manufacturer: " + data.manufacturer);
936
+ console.log("- brand: " + data.brand);
937
+ console.log("- speed: " + data.speed);
938
+ console.log("- cores: " + data.cores);
939
+ console.log("- physical cores: " + data.physicalCores);
940
+ console.log("...");
941
+ });
883
942
  ```
884
943
 
885
944
  ### Promises
886
945
 
887
946
  **Promises Style** is new in version 3.0.
888
947
 
889
- When omitting callback parameter (cb), then you can use all function in a promise oriented way. All functions (except of `version` and `time`) are returning a promise, that you can consume:
948
+ When omitting callback parameter (cb), then you can use all function in a
949
+ promise oriented way. All functions (except of `version` and `time`) are
950
+ returning a promise, that you can consume:
890
951
 
891
952
  ```js
892
- const si = require('systeminformation');
953
+ const si = require("systeminformation");
893
954
 
894
955
  si.cpu()
895
- .then(data => {
896
- console.log('CPU Information:');
897
- console.log('- manufacturer: ' + data.manufacturer);
898
- console.log('- brand: ' + data.brand);
899
- console.log('- speed: ' + data.speed);
900
- console.log('- cores: ' + data.cores);
901
- console.log('- physical cores: ' + data.physicalCores);
902
- console.log('...');
956
+ .then((data) => {
957
+ console.log("CPU Information:");
958
+ console.log("- manufacturer: " + data.manufacturer);
959
+ console.log("- brand: " + data.brand);
960
+ console.log("- speed: " + data.speed);
961
+ console.log("- cores: " + data.cores);
962
+ console.log("- physical cores: " + data.physicalCores);
963
+ console.log("...");
903
964
  })
904
- .catch(error => console.error(error));
965
+ .catch((error) => console.error(error));
905
966
  ```
906
967
 
907
968
  ### Async / Await
908
969
 
909
970
  **Using async / await** (available since node v7.6)
910
971
 
911
- Since node v7.6 you can also use the `async` / `await` pattern. The above example would then look like this:
972
+ Since node v7.6 you can also use the `async` / `await` pattern. The above
973
+ example would then look like this:
912
974
 
913
975
  ```js
914
- const si = require('systeminformation');
976
+ const si = require("systeminformation");
915
977
 
916
978
  async function cpuData() {
917
979
  try {
918
980
  const data = await si.cpu();
919
- console.log('CPU Information:');
920
- console.log('- manufacturer: ' + data.manufacturer);
921
- console.log('- brand: ' + data.brand);
922
- console.log('- speed: ' + data.speed);
923
- console.log('- cores: ' + data.cores);
924
- console.log('- physical cores: ' + data.physicalCores);
925
- console.log('...');
981
+ console.log("CPU Information:");
982
+ console.log("- manufacturer: " + data.manufacturer);
983
+ console.log("- brand: " + data.brand);
984
+ console.log("- speed: " + data.speed);
985
+ console.log("- cores: " + data.cores);
986
+ console.log("- physical cores: " + data.physicalCores);
987
+ console.log("...");
926
988
  } catch (e) {
927
- console.log(e)
989
+ console.log(e);
928
990
  }
929
991
  }
930
992
  ```
@@ -933,9 +995,11 @@ async function cpuData() {
933
995
 
934
996
  #### macOS - Temperature Sensor
935
997
 
936
- To be able to measure temperature on macOS I created a little additional package. Due to some difficulties
937
- in NPM with `optionalDependencies` I unfortunately was getting unexpected warnings on other platforms.
938
- So I decided to drop this optional dependency for macOS - so by default, you will not get correct values.
998
+ To be able to measure temperature on macOS I created a little additional
999
+ package. Due to some difficulties in NPM with `optionalDependencies` I
1000
+ unfortunately was getting unexpected warnings on other platforms. So I decided
1001
+ to drop this optional dependency for macOS - so by default, you will not get
1002
+ correct values.
939
1003
 
940
1004
  This additional package is now also supporting Apple Silicon M1/M2/M3 machines.
941
1005
 
@@ -946,58 +1010,72 @@ installation command:
946
1010
  $ npm install osx-temperature-sensor --save
947
1011
  ```
948
1012
 
949
- `systeminformation` will then detect this additional library and return the temperature when calling systeminformations standard function `cpuTemperature()`
1013
+ `systeminformation` will then detect this additional library and return the
1014
+ temperature when calling systeminformations standard function `cpuTemperature()`
950
1015
 
951
1016
  #### Windows Temperature, Battery, ...
952
1017
 
953
- `get-WmiObject` - which is used to determine temperature and battery sometimes needs to be run with admin
954
- privileges. So if you do not get any values, try to run it again with according
955
- privileges. If you still do not get any values, your system might not support this feature.
956
- In some cases we also discovered that `get-WmiObject` returned incorrect temperature values.
1018
+ `get-WmiObject` - which is used to determine temperature and battery sometimes
1019
+ needs to be run with admin privileges. So if you do not get any values, try to
1020
+ run it again with according privileges. If you still do not get any values, your
1021
+ system might not support this feature. In some cases we also discovered that
1022
+ `get-WmiObject` returned incorrect temperature values.
957
1023
 
958
1024
  #### Linux Temperature
959
1025
 
960
- In some cases you need to install the Linux `sensors` package to be able to measure temperature
961
- e.g. on DEBIAN based systems by running `sudo apt-get install lm-sensors`
1026
+ In some cases you need to install the Linux `sensors` package to be able to
1027
+ measure temperature e.g. on DEBIAN based systems by running
1028
+ `sudo apt-get install lm-sensors`
962
1029
 
963
1030
  #### Linux S.M.A.R.T. Status
964
1031
 
965
- To be able to detect S.M.A.R.T. status on Linux you need to install `smartmontools`. On DEBIAN based Linux distributions you can install it by running `sudo apt-get install smartmontools`
1032
+ To be able to detect S.M.A.R.T. status on Linux you need to install
1033
+ `smartmontools`. On DEBIAN based Linux distributions you can install it by
1034
+ running `sudo apt-get install smartmontools`
966
1035
 
967
1036
  #### Windows Encoding Issues
968
- I now reimplemented all windows functions to avoid encoding problems (special chacarters). And as Windows 11 now dropped `wmic` support, I had to move completely to `powershell`. Be sure that powershell version 5+ is installed on your machine. On older Windows versions (7, 8) you might still see encoding problems due to the old powershell version.
1037
+
1038
+ I now reimplemented all windows functions to avoid encoding problems (special
1039
+ chacarters). And as Windows 11 now dropped `wmic` support, I had to move
1040
+ completely to `powershell`. Be sure that powershell version 5+ is installed on
1041
+ your machine. On older Windows versions (7, 8) you might still see encoding
1042
+ problems due to the old powershell version.
1043
+
969
1044
  ## *: Additional Notes
970
1045
 
971
- In `fsStats()`, `disksIO()` and `networkStats()` the results / sec. values (rx_sec, IOPS, ...) are calculated correctly beginning
972
- with the second call of the function. It is determined by calculating the difference of transferred bytes / IOs
973
- divided by the time between two calls of the function.
1046
+ In `fsStats()`, `disksIO()` and `networkStats()` the results / sec. values
1047
+ (rx_sec, IOPS, ...) are calculated correctly beginning with the second call of
1048
+ the function. It is determined by calculating the difference of transferred
1049
+ bytes / IOs divided by the time between two calls of the function.
974
1050
 
975
- The first time you are calling one of these functions, you will get `null` for transfer rates. The second time, you should then get statistics based on the time between the two calls ...
1051
+ The first time you are calling one of these functions, you will get `null` for
1052
+ transfer rates. The second time, you should then get statistics based on the
1053
+ time between the two calls ...
976
1054
 
977
- So basically, if you e.g. need a value for network stats every second, your code should look like this:
1055
+ So basically, if you e.g. need a value for network stats every second, your code
1056
+ should look like this:
978
1057
 
979
1058
  ```js
980
- const si = require('systeminformation');
1059
+ const si = require("systeminformation");
981
1060
 
982
- setInterval(function() {
983
- si.networkStats().then(data => {
1061
+ setInterval(function () {
1062
+ si.networkStats().then((data) => {
984
1063
  console.log(data);
985
- })
986
- }, 1000)
1064
+ });
1065
+ }, 1000);
987
1066
  ```
988
1067
 
989
1068
  Beginning with the second call, you get network transfer values per second.
990
1069
 
991
1070
  ## Finding new issues
992
1071
 
993
- I am happy to discuss any comments and suggestions. Please feel free to contact me if you see any possibility of improvement!
994
-
1072
+ I am happy to discuss any comments and suggestions. Please feel free to contact
1073
+ me if you see any possibility of improvement!
995
1074
 
996
1075
  ## Comments
997
1076
 
998
1077
  If you have ideas or comments, please do not hesitate to contact me.
999
1078
 
1000
-
1001
1079
  Happy monitoring!
1002
1080
 
1003
1081
  Sincerely,
@@ -1006,7 +1084,8 @@ Sebastian Hildebrandt, [+innovations](http://www.plus-innovations.com)
1006
1084
 
1007
1085
  ## Credits
1008
1086
 
1009
- Written by Sebastian Hildebrandt [sebhildebrandt](https://github.com/sebhildebrandt)
1087
+ Written by Sebastian Hildebrandt
1088
+ [sebhildebrandt](https://github.com/sebhildebrandt)
1010
1089
 
1011
1090
  #### Contributors
1012
1091
 
@@ -1028,66 +1107,70 @@ Written by Sebastian Hildebrandt [sebhildebrandt](https://github.com/sebhildebra
1028
1107
  - Ricardo Polo [ricardopolo](https://github.com/ricardopolo)
1029
1108
  - Miłosz Dźwigała [mily20001](https://github.com/mily20001)
1030
1109
  - cconley717 [cconley717](https://github.com/cconley717)
1031
- - Maria Camila Cubides [MariaCamilaCubides](https://github.com/MariaCamilaCubides)
1110
+ - Maria Camila Cubides
1111
+ [MariaCamilaCubides](https://github.com/MariaCamilaCubides)
1032
1112
  - Aleksander Krasnicki [plakak](https://github.com/plakak)
1033
1113
  - Alexis Tyler [OmgImAlexis](https://github.com/OmgImAlexis)
1034
1114
  - Simon Smith [si458](https://github.com/si458)
1035
1115
 
1036
1116
  OSX Temperature: credits here are going to:
1037
1117
 
1038
- - Frank Stock [pcafstockf](https://github.com/pcafstockf) - for his work on [smc-code][smc-code-url]
1118
+ - Frank Stock [pcafstockf](https://github.com/pcafstockf) - for his work on
1119
+ [smc-code][smc-code-url]
1039
1120
 
1040
1121
  ## Copyright Information
1041
1122
 
1042
- Linux is a registered trademark of Linus Torvalds. Apple, macOS, OS X are registered trademarks of Apple Inc.,
1043
- Windows is a registered trademark of Microsoft Corporation. Node.js is a trademark of Joyent Inc.,
1044
- Intel is a trademark of Intel Corporation, AMD is a trademark of Advanced Micro Devices Inc.,
1045
- Raspberry Pi is a trademark of the Raspberry Pi Foundation, Debian is a trademark owned by Software in the Public Interest, Inc.,
1046
- Ubuntu is a trademark of Canonical Ltd., FreeBSD is a registered trademark of The FreeBSD Foundation,
1047
- NetBSD is a registered trademark of The NetBSD Foundation, Docker is a trademark of Docker, Inc., Sun,
1048
- Solaris, OpenSolaris and registered trademarks of Sun Microsystems, VMware is a trademark of VMware Inc,
1049
- Virtual Box is a trademark of Oracle Corporation, Xen is a registered trademark of Xen Project,
1050
- QEMU is a trademark of Fabrice Bellard, bochs is a trademark of The Bochs Project, USB and USB Logo
1051
- are trademarks of USB Implementation Forum, Bluetooth and Bluetooth Logo are trademarks of Bluetooth SIG,
1052
- Android is a trademark of Google LLC, Parallels is a trademarks of Parallels International GmbH.
1123
+ Linux is a registered trademark of Linus Torvalds. Apple, macOS, OS X are
1124
+ registered trademarks of Apple Inc., Windows is a registered trademark of
1125
+ Microsoft Corporation. Node.js is a trademark of Joyent Inc., Intel is a
1126
+ trademark of Intel Corporation, AMD is a trademark of Advanced Micro Devices
1127
+ Inc., Raspberry Pi is a trademark of the Raspberry Pi Foundation, Debian is a
1128
+ trademark owned by Software in the Public Interest, Inc., Ubuntu is a trademark
1129
+ of Canonical Ltd., FreeBSD is a registered trademark of The FreeBSD Foundation,
1130
+ NetBSD is a registered trademark of The NetBSD Foundation, Docker is a trademark
1131
+ of Docker, Inc., Sun, Solaris, OpenSolaris and registered trademarks of Sun
1132
+ Microsystems, VMware is a trademark of VMware Inc, Virtual Box is a trademark of
1133
+ Oracle Corporation, Xen is a registered trademark of Xen Project, QEMU is a
1134
+ trademark of Fabrice Bellard, bochs is a trademark of The Bochs Project, USB and
1135
+ USB Logo are trademarks of USB Implementation Forum, Bluetooth and Bluetooth
1136
+ Logo are trademarks of Bluetooth SIG, Android is a trademark of Google LLC,
1137
+ Parallels is a trademarks of Parallels International GmbH.
1053
1138
 
1054
1139
  All other trademarks are the property of their respective owners.
1055
1140
 
1056
1141
  ## License [![MIT license][license-img]][license-url]
1057
1142
 
1058
- >The [`MIT`][license-url] License (MIT)
1143
+ > The [`MIT`][license-url] License (MIT)
1059
1144
  >
1060
- >Copyright &copy; 2014-2024 Sebastian Hildebrandt, [+innovations](http://www.plus-innovations.com).
1145
+ > Copyright &copy; 2014-2024 Sebastian Hildebrandt,
1146
+ > [+innovations](http://www.plus-innovations.com).
1061
1147
  >
1062
- >Permission is hereby granted, free of charge, to any person obtaining a copy
1063
- >of this software and associated documentation files (the "Software"), to deal
1064
- >in the Software without restriction, including without limitation the rights
1065
- >to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1066
- >copies of the Software, and to permit persons to whom the Software is
1067
- >furnished to do so, subject to the following conditions:
1148
+ > Permission is hereby granted, free of charge, to any person obtaining a copy
1149
+ > of this software and associated documentation files (the "Software"), to deal
1150
+ > in the Software without restriction, including without limitation the rights
1151
+ > to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1152
+ > copies of the Software, and to permit persons to whom the Software is
1153
+ > furnished to do so, subject to the following conditions:
1068
1154
  >
1069
- >The above copyright notice and this permission notice shall be included in
1070
- >all copies or substantial portions of the Software.
1155
+ > The above copyright notice and this permission notice shall be included in all
1156
+ > copies or substantial portions of the Software.
1071
1157
  >
1072
- >THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1073
- >IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1074
- >FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1075
- >AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1076
- >LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1077
- >OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1078
- >THE SOFTWARE.
1158
+ > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1159
+ > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1160
+ > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1161
+ > AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1162
+ > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1163
+ > OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1164
+ > SOFTWARE.
1079
1165
  >
1080
- >Further details see [LICENSE](LICENSE) file.
1081
-
1166
+ > Further details see [LICENSE](LICENSE) file.
1082
1167
 
1083
1168
  [npm-image]: https://img.shields.io/npm/v/systeminformation.svg?style=flat-square
1084
1169
  [npm-url]: https://npmjs.org/package/systeminformation
1085
1170
  [downloads-image]: https://img.shields.io/npm/dm/systeminformation.svg?style=flat-square
1086
1171
  [downloads-url]: https://npmjs.org/package/systeminformation
1087
-
1088
1172
  [sponsor-badge]: https://img.shields.io/badge/Support-Buy%20me%20a%20coffee-brightgreen?style=flat-square
1089
1173
  [sponsor-url]: https://www.buymeacoffee.com/systeminfo
1090
-
1091
1174
  [license-url]: https://github.com/sebhildebrandt/systeminformation/blob/master/LICENSE
1092
1175
  [license-img]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
1093
1176
  [npmjs-license]: https://img.shields.io/npm/l/systeminformation.svg?style=flat-square
@@ -1095,22 +1178,16 @@ All other trademarks are the property of their respective owners.
1095
1178
  [changes5-url]: https://systeminformation.io/changes.html
1096
1179
  [caretaker-url]: https://github.com/sebhildebrandt
1097
1180
  [caretaker-image]: https://img.shields.io/badge/caretaker-sebhildebrandt-blue.svg?style=flat-square
1098
-
1099
1181
  [nodejs-url]: https://nodejs.org/en/
1100
1182
  [docker-url]: https://www.docker.com/
1101
1183
  [systeminformation-url]: https://systeminformation.io
1102
-
1103
1184
  [daviddm-img]: https://img.shields.io/david/sebhildebrandt/systeminformation.svg?style=flat-square
1104
1185
  [daviddm-url]: https://david-dm.org/sebhildebrandt/systeminformation
1105
-
1106
1186
  [issues-img]: https://img.shields.io/github/issues/sebhildebrandt/systeminformation.svg?style=flat-square
1107
1187
  [issues-url]: https://github.com/sebhildebrandt/systeminformation/issues
1108
1188
  [closed-issues-img]: https://img.shields.io/github/issues-closed-raw/sebhildebrandt/systeminformation.svg?style=flat-square&color=brightgreen
1109
1189
  [closed-issues-url]: https://github.com/sebhildebrandt/systeminformation/issues?q=is%3Aissue+is%3Aclosed
1110
-
1111
1190
  [new-issue]: https://github.com/sebhildebrandt/systeminformation/issues/new/choose
1112
-
1113
1191
  [mmon-npm-url]: https://npmjs.org/package/mmon
1114
1192
  [mmon-github-url]: https://github.com/sebhildebrandt/mmon
1115
-
1116
1193
  [smc-code-url]: https://github.com/pcafstockf/smc-reader
package/lib/system.js CHANGED
@@ -688,13 +688,13 @@ function chassis(callback) {
688
688
  exec('ioreg -c IOPlatformExpertDevice -d 2', function (error, stdout) {
689
689
  if (!error) {
690
690
  let lines = stdout.toString().replace(/[<>"]/g, '').split('\n');
691
- const model = util.getValue(lines, 'model', '=', true);
692
- const modelParts = util.splitByNumber(model);
693
- const version = util.getValue(lines, 'version', '=', true);
691
+ const model = util.getAppleModel(util.getValue(lines, 'model', '=', true));
692
+ // const modelParts = util.splitByNumber(model);
693
+ // const version = util.getValue(lines, 'version', '=', true);
694
694
  result.manufacturer = util.getValue(lines, 'manufacturer', '=', true);
695
- result.model = version ? util.getValue(lines, 'model', '=', true) : modelParts[0];
696
- result.type = macOsChassisType(result.model);
697
- result.version = version || model;
695
+ result.model = model.key;
696
+ result.type = macOsChassisType(model.model);
697
+ result.version = model.version;
698
698
  result.serial = util.getValue(lines, 'ioplatformserialnumber', '=', true);
699
699
  result.assetTag = util.getValue(lines, 'board-id', '=', true) || util.getValue(lines, 'target-type', '=', true);
700
700
  result.sku = util.getValue(lines, 'target-sub-type', '=', true);