diff --git a/docs/v4/CODE_OF_CONDUCT.md b/docs/v4/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..01b8644 --- /dev/null +++ b/docs/v4/CODE_OF_CONDUCT.md @@ -0,0 +1,22 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic addresses, without explicit permission +* Other unethical or unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team. + +This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) diff --git a/docs/v4/CONTRIBUTING.md b/docs/v4/CONTRIBUTING.md new file mode 100644 index 0000000..558c757 --- /dev/null +++ b/docs/v4/CONTRIBUTING.md @@ -0,0 +1,12 @@ +## You want to contribute some code? + +First of all: thank you for contributing to this repository. We are always looking for quality contributions and will be happy to accept your pull requests as long as they adhere to some basic rules: + +* Please make sure that your contribution fits well in the project's context: + * We are aiming to provide a high quality multi-platform system information library. + * This package should stay without any dependencies on any external JavaScript library. + +* Please assure that you are submitting quality code, specifically make sure that: + * Your commits should not be breaking changes - if possible. + * Your PR are well tested - if possible on multiple platforms / machines (please provide information against what systems it was tested). + * If your commit needs a major version bump (breaking change), please leave a clear message in your comments. We try to keep the breaking changes as low as possible to avoid compatibility issues. diff --git a/docs/v4/assets/android-icon-192x192.png b/docs/v4/assets/android-icon-192x192.png new file mode 100644 index 0000000..55af16c Binary files /dev/null and b/docs/v4/assets/android-icon-192x192.png differ diff --git a/docs/v4/assets/favicon-16x16.png b/docs/v4/assets/favicon-16x16.png new file mode 100644 index 0000000..c2e52fe Binary files /dev/null and b/docs/v4/assets/favicon-16x16.png differ diff --git a/docs/v4/assets/favicon-32x32.png b/docs/v4/assets/favicon-32x32.png new file mode 100644 index 0000000..7d4d4f6 Binary files /dev/null and b/docs/v4/assets/favicon-32x32.png differ diff --git a/docs/v4/assets/favicon-96x96.png b/docs/v4/assets/favicon-96x96.png new file mode 100644 index 0000000..7eedbcd Binary files /dev/null and b/docs/v4/assets/favicon-96x96.png differ diff --git a/docs/v4/assets/logo.png b/docs/v4/assets/logo.png new file mode 100644 index 0000000..5bcfacb Binary files /dev/null and b/docs/v4/assets/logo.png differ diff --git a/docs/v4/assets/logo_inv.png b/docs/v4/assets/logo_inv.png new file mode 100644 index 0000000..d7923da Binary files /dev/null and b/docs/v4/assets/logo_inv.png differ diff --git a/docs/v4/assets/motherboard.jpg b/docs/v4/assets/motherboard.jpg new file mode 100644 index 0000000..86e8074 Binary files /dev/null and b/docs/v4/assets/motherboard.jpg differ diff --git a/docs/v4/assets/title-empty.jpg b/docs/v4/assets/title-empty.jpg new file mode 100644 index 0000000..5864d6b Binary files /dev/null and b/docs/v4/assets/title-empty.jpg differ diff --git a/docs/v4/assets/title.jpg b/docs/v4/assets/title.jpg new file mode 100644 index 0000000..75fcdc4 Binary files /dev/null and b/docs/v4/assets/title.jpg differ diff --git a/docs/v4/assets/trianglify.png b/docs/v4/assets/trianglify.png new file mode 100644 index 0000000..b846ac8 Binary files /dev/null and b/docs/v4/assets/trianglify.png differ diff --git a/docs/v4/battery.html b/docs/v4/battery.html new file mode 100644 index 0000000..5a8d732 --- /dev/null +++ b/docs/v4/battery.html @@ -0,0 +1,311 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Battery
+
+

In this section you will learn how to get battery information - if supported by system:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Battery Data

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.battery(cb){...}XXXXbattery information
hasbatteryXXXXindicates presence of battery
cyclecountXXnumbers of recharges
ischargingXXXXindicates if battery is charging
designedcapacityXXXdesigned capacity of battery (mWh)
maxcapacityXXXmax capacity of battery (mWh)
currentcapacityXXXcurrent capacity of battery (mWh)
capacityUnitXXXcapacity unit (mWh if possible)
voltageXXXcurrent voltage of battery (V)
percentXXXXcharging level in percent
timeremainingXXminutes left (if discharging)
acconnectedXXXXAC connected
typeXXbattery type
modelXXmodel
manufacturerXXmanufacturer
serialXXbattery serial
+
Example
+
const si = require('systeminformation');
+si.battery().then(data => console.log(data));
+
+{
+  hasbattery: true,
+  cyclecount: 35,
+  ischarging: false,
+  designedcapacity: 64958,
+  maxcapacity: 65865,
+  currentcapacity: 64856,
+  voltage: 12.767,
+  capacityUnit: 'mWh',
+  percent: 100,
+  timeremaining: 551,
+  acconnected: false,
+  type: 'Li-ion',
+  model: '',
+  manufacturer: 'Apple',
+  serial: 'F9Y19860Y9AH9XBAX'
+}
+
+

Known issues

+

Windows Battery

+ +

wmic - which is used to determine temperature and battery sometimes needs to be run with admin + privileges. So if you do not get any values, try to run it again with according privileges. If you still do not get any + values, your system might not support this feature.

+ +
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/contributors.html b/docs/v4/contributors.html new file mode 100644 index 0000000..664c7a2 --- /dev/null +++ b/docs/v4/contributors.html @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Contributors
+
+

Many thanks to all contributors. Really appreciate your support!

+ +

OSX Temperature: credits here are going to:

+ +

Many thanks also to all who provided help or filed an issue. This really helps improving this package!

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/copyright.html b/docs/v4/copyright.html new file mode 100644 index 0000000..8ff63ce --- /dev/null +++ b/docs/v4/copyright.html @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Copyright Information
+
© 2021 Sebstian Hildebrandt, sebhildebrandt, +innovations
+
+
+
+
+
License MIT license
+
+

Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/cpu.html b/docs/v4/cpu.html new file mode 100644 index 0000000..e7914af --- /dev/null +++ b/docs/v4/cpu.html @@ -0,0 +1,604 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
CPU
+
+

In this section you will learn how to get CPU data including current speed and temperature:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

CPU Data

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.cpu(cb){...}XXXXCPU information object
manufacturerXXXXe.g. 'Intel(R)'
brandXXXXe.g. 'Core(TM)2 Duo'
speedXXXXin GHz e.g. '3.40'
speedminXXXin GHz e.g. '0.80'
speedmaxXXXXin GHz e.g. '3.90'
governorXe.g. 'powersave'
coresXXXX# cores
physicalCoresXXXX# physical cores
efficiencyCoresX# efficiency cores (ARM only)
performanceCoresX# performance cores (ARM only)
processorsXXXX# processors
socketXXXsocket type e.g. "LGA1356"
vendorXXXXvendor ID
familyXXXXprocessor family
modelXXXXprocessor model
steppingXXXXprocessor stepping
revisionXXXrevision
voltageXvoltage
cacheXXXXcache in bytes (object)
cache.l1dXXXXL1D (data) size
cache.l1iXXXXL1I (instruction) size
cache.l2XXXXL2 size
cache.l3XXXXL3 size
+
Example
+
const si = require('systeminformation');
+si.cpu().then(data => console.log(data));
+
+{
+    manufacturer: 'Intel®',
+    brand: 'Core™ i9-9900',
+    vendor: 'GenuineIntel',
+    family: '6',
+    model: '158',
+    stepping: '13',
+    revision: '',
+    voltage: '',
+    speed: '3.10',
+    speedmin: '0.80',
+    speedmax: '5.00',
+    governor: 'powersave',
+    cores: 16,
+    physicalCores: 8,
+    processors: 1,
+    socket: 'LGA1151',
+    cache: { l1d: 262144, l1i: 262144, l2: 2, l3: 16 },
+    flags: 'fpu vme de pse ...'
+}
+
si.cpuFlags(cb): stringXXXXCPU flags
+
Example
+
const si = require('systeminformation');
+si.cpuFlags().then(data => console.log(data));
+
+fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
+
+
si.cpuCache(cb){...}XXXXCPU cache sizes object
l1dXXXXL1D size
l1iXXXXL1I size
l2XXXXL2 size
l3XXXXL3 size
+
Example
+
const si = require('systeminformation');
+si.cpuCache().then(data => console.log(data));
+
+{ l1d: 262144, l1i: 262144, l2: 2, l3: 16 }
+
+
si.cpuCurrentspeed(cb){...}XXXXXcurrent CPU speed (GHz) object
avgXXXXXavg CPU speed (all cores)
minXXXXXmin CPU speed (all cores)
maxXXXXXmax CPU speed (all cores)
coresXXXXXCPU speed per core (array)
+
Example
+
const si = require('systeminformation');
+si.cpuCurrentspeed().then(data => console.log(data));
+
+{
+  min: 0.86,
+  max: 1.77,
+  avg: 1.49,
+  cores: [
+    1.59, 1.71, 1.62, 1.57,
+    1.66, 1.77, 1.74, 1.75,
+    1.49, 1.51, 1.52, 1.59,
+    1.56, 1.03, 0.86, 0.86
+  ]
+}
+
+
si.cpuTemperature(cb){...}XXX*XCPU temperature (if supported)
mainXXXXmain temperature (avg)
coresXXXXarray of temperatures
maxXXXXmax temperature
+
Example
+
const si = require('systeminformation');
+si.cpuTemperature().then(data => console.log(data));
+
+{ main: 42, cores: [], max: 42 }
+
+
+

Known issues

+

macOS - Temperature

+ +

To be able to measure temperature on macOS I created a little additional package. Due to some difficulties in NPM with optionalDependencies + I unfortunately was getting unexpected warnings on other platforms. So I decided to drop this optional dependency for macOS - so by default, + you will not get correct values.

+ +

But if you need to detect macOS temperature just run the following additional installation command:

+ +
$ npm install osx-temperature-sensor --save
+

systeminformation will then detect this additional library and return the temperature when calling systeminformations standard function cpuTemperature()

+ +

Windows Temperature

+ +

wmic - which is used to determine battery sometimes needs to be run with admin + privileges. So if you do not get any values, try to run it again with according privileges. If you still do not get any + values, your system might not support this feature.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/docker.html b/docs/v4/docker.html new file mode 100644 index 0000000..8a23297 --- /dev/null +++ b/docs/v4/docker.html @@ -0,0 +1,1089 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Docker
+
+

In this section you will learn how to get information about docker containers, stats and processes inside a docker container:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Container, Stats, Processes

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.dockerInfo(cb){...}XXXXXreturns general docker info
idXXXXXDocker ID
containersXXXXXnumber of containers
containersRunningXXXXXnumber of running containers
containersPausedXXXXXnumber of paused containers
containersStoppedXXXXXnumber of stopped containers
imagesXXXXXnumber of images
driverXXXXXdriver (e.g. 'devicemapper', 'overlay2')
memoryLimitXXXXXhas memory limit
SwapLimitXXXXXhas swap limit
kernelMemoryXXXXXhas kernal memory
cpuCfsPeriodXXXXXhas CpuCfsPeriod
cpuCfsQuotaXXXXXhas CpuCfsQuota
cpuSharesXXXXXhas CPUShares
cpuSetXXXXXhas CPUShares
ipv4ForwardingXXXXXhas IPv4Forwarding
bridgeNfIptablesXXXXXhas BridgeNfIptables
bridgeNfIp6tablesXXXXXhas BridgeNfIp6tables
debugXXXXXDebug on
nfdXXXXXnamed data networking forwarding daemon
oomKillDisableXXXXXout-of-memory kill disabled
ngoroutinesXXXXXnumber NGoroutines
systemTimeXXXXXdocker SystemTime
loggingDriverXXXXXlogging driver e.g. 'json-file'
cgroupDriverXXXXXcgroup driver e.g. 'cgroupfs'
nEventsListenerXXXXXnumber NEventsListeners
kernelVersionXXXXXdocker kernel version
operatingSystemXXXXXdocker OS e.g. 'Docker for Mac'
osTypeXXXXXOSType e.g. 'linux'
architectureXXXXXarchitecture e.g. x86_64
ncpuXXXXXnumber of CPUs
memTotalXXXXXmemory total
dockerRootDirXXXXXdocker root directory
httpProxyXXXXXhttp proxy
httpsProxyXXXXXhttps proxy
noProxyXXXXXNoProxy
nameXXXXXName
labelsXXXXXarray of labels
experimentalBuildXXXXXis experimental build
serverVersionXXXXXserver version
clusterStoreXXXXXcluster store
clusterAdvertiseXXXXXcluster advertise
defaultRuntimeXXXXXdefault runtime e.g. 'runc'
liveRestoreEnabledXXXXXlive store enabled
isolationXXXXXisolation
initBinaryXXXXXinit binary
productLicenseXXXXXproduct license
si.dockerContainers(all, cb)[{...}]XXXXXreturns array of active/all docker containers
[0].idXXXXXID of container
[0].nameXXXXXname of container
[0].imageXXXXXname of image
[0].imageIDXXXXXID of image
[0].commandXXXXXcommand
[0].createdXXXXXcreation time (unix time)
[0].startedXXXXXstarted time (unix time)
[0].finishedXXXXXfinished time (unix time)
[0].createdAtXXXXXcreation date time string
[0].startedAtXXXXXcreation date time string
[0].finishedAtXXXXXcreation date time string
[0].stateXXXXXcreated, running, exited
[0].restartCountXXXXXrestart count
[0].platformXXXXXe.g. linux
[0].driverXXXXXe.g. overlay2 or devicemapper
[0].portsXXXXXarray of ports
[0].mountsXXXXXarray of mounts
si.dockerContainerStats(ids, cb)[{...}]XXXXXstatistics for specific containers
container IDs: space or comma separated,
pass '*' for all containers
idXXXXXContainer ID
mem_usageXXXXXmemory usage in bytes
mem_limitXXXXXmemory limit (max mem) in bytes
mem_percentXXXXXmemory usage in percent
cpu_percentXXXXXcpu usage in percent
pidsXXXXXnumber of processes
netIO.rxXXXXXreceived bytes via network
netIO.wxXXXXXsent bytes via network
blockIO.rXXXXXbytes read from BlockIO
blockIO.wXXXXXbytes written to BlockIO
restartCountXXXXXrestart count
cpu_statsXXXXXdetailed cpu stats
percpu_statsXXXXXdetailed per cpu stats
memory_statsXXXXXdetailed memory stats
networksXXXXXdetailed network stats per interface
si.dockerContainerProcesses(id, cb)[{...}]XXXXXarray of processes inside a container
[0].pid_hostXXXXXprocess ID (host)
[0].ppidXXXXXparent process ID
[0].pgidXXXXXprocess group ID
[0].userXXXXXeffective user name
[0].ruserXXXXXreal user name
[0].groupXXXXXeffective group name
[0].rgroupXXXXXreal group name
[0].statXXXXXprocess state
[0].timeXXXXXaccumulated CPU time
[0].elapsedXXXXXelapsed running time
[0].niceXXXXXnice value
[0].rssXXXXXresident set size
[0].vszXXXXXvirtual size in Kbytes
[0].commandXXXXXcommand and arguments
si.dockerAll(cb){...}XXXXXlist of all containers including their stats
and processes in one single array
+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/favicon.ico b/docs/v4/favicon.ico new file mode 100644 index 0000000..64e512a Binary files /dev/null and b/docs/v4/favicon.ico differ diff --git a/docs/v4/filesystem.html b/docs/v4/filesystem.html new file mode 100644 index 0000000..f3208af --- /dev/null +++ b/docs/v4/filesystem.html @@ -0,0 +1,896 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Disks and File System
+
+

In this section you will learn how to get disks information, file system information, disk I/O stats and file system stats:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Disk Layout, Block Devices and Disks IO

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.diskLayout(cb)[{...}]XXXphysical disk layout (array)
[0].deviceXXe.g. /dev/sda
[0].typeXXXHD, SSD, NVMe
[0].nameXXXdisk name
[0].vendorXXvendor/producer
[0].sizeXXXsize in bytes
[0].totalCylindersXtotal cylinders
[0].totalHeadsXtotal heads
[0].totalTracksXtotal tracks
[0].totalSectorsXtotal sectors
[0].tracksPerCylinderXtracks per cylinder
[0].sectorsPerTrackXsectors per track
[0].bytesPerSectorXbytes per sector
[0].firmwareRevisionXXXfirmware revision
[0].serialNumXXXserial number
[0].interfaceTypeXXSATA, PCIe, ...
[0].smartStatusXXXS.M.A.R.T Status (see Known Issues)
[0].smartDataXfull S.M.A.R.T data from smartctl
requires at least smartmontools 7.0
(see Known Issues)
+
Example
+
const si = require('systeminformation');
+si.diskLayout().then(data => console.log(data));
+
+[
+  {
+    device: '/dev/nvme0n1',
+    type: 'NVMe',
+    name: 'SAMSUNG xxxxxxxxxxxx-xxxx',
+    vendor: 'Samsung',
+    size: 1024209543168,
+    bytesPerSector: -1,
+    totalCylinders: -1,
+    totalHeads: -1,
+    totalSectors: -1,
+    totalTracks: -1,
+    tracksPerCylinder: -1,
+    sectorsPerTrack: -1,
+    firmwareRevision: '',
+    serialNum: '...serial....',
+    interfaceType: 'PCIe',
+    smartStatus: 'unknown',
+    smartData: {
+      json_format_version: [Array],
+      smartctl: [Object],
+      device: [Object],
+      model_name: 'SAMSUNG xxxxxxxxxxxx-xxxx',
+      serial_number: '...serial....',
+      ...
+    }
+  },
+  {
+    ...
+  }
+]
+
si.blockDevices(cb)[{...}]XXXreturns array of disks, partitions,
raids and roms
[0].nameXXXname
[0].typeXXXtype
[0].fstypeXXXfile system type (e.g. ext4)
[0].mountXXXmount point
[0].sizeXXXsize in bytes
[0].physicalXXXphysical type (HDD, SSD, CD/DVD)
[0].uuidXXXUUID
[0].labelXXXlabel
[0].modelXXmodel
[0].serialXXserial
[0].removableXXXserial
[0].protocolXXprotocol (SATA, PCI-Express, ...)
+
Example
+
const si = require('systeminformation');
+si.blockDevices().then(data => console.log(data));
+
+[
+  {
+    name: 'nvme0n1',
+    type: 'disk',
+    fstype: '',
+    mount: '',
+    size: 1024209543168,
+    physical: 'SSD',
+    uuid: '',
+    label: '',
+    model: 'SAMSUNG xxxxxxxxxxxx-xxxx',
+    serial: '... serial ...',
+    removable: false,
+    protocol: 'nvme',
+    group: undefined
+  },
+  {
+    ...
+  }
+]
+
si.disksIO(cb){...}XXcurrent transfer stats
rIOXXread IOs on all mounted drives
wIOXXwrite IOs on all mounted drives
tIOXXwrite IOs on all mounted drives
rIO_secXXread IO per sec (* see notes)
wIO_secXXwrite IO per sec (* see notes)
tIO_secXXtotal IO per sec (* see notes)
msXXinterval length (for per second values)
+
Example
+
const si = require('systeminformation');
+setInterval(function() {
+  si.disksIO().then(data => {
+    console.log(data);
+  })
+}, 1000)
+
+{                           // first call
+  rIO: 899825,
+  wIO: 932331,
+  tIO: 1832156,
+  rIO_sec: -1,
+  wIO_sec: -1,
+  tIO_sec: -1,
+  ms: 0
+}
+{                           // second call
+  rIO: 899863,
+  wIO: 932331,
+  tIO: 1832194,
+  rIO_sec: 38.5395537525355,
+  wIO_sec: 0,
+  tIO_sec: 38.5395537525355,
+  ms: 986
+}...
+
+

File System and File System Stats

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.fsSize(cb)[{...}]XXXXreturns array of mounted file systems
[0].fsXXXXname of file system
[0].typeXXXXtype of file system
[0].sizeXXXXsizes in bytes
[0].usedXXXXused in bytes
[0].useXXXXused in %
[0].mountXXXXmount point
+
Example
+
const si = require('systeminformation');
+si.fsSize().then(data => console.log(data));
+
+[
+  {
+    fs: '/dev/md2',
+    type: 'ext4',
+    size: 972577361920,
+    used: 59142635520,
+    use: 6.08,
+    mount: '/'
+  },
+  {
+    ...
+  }
+]
+
si.fsOpenFiles(cb){...}XXXcount max/allocated file descriptors
maxXXXcount max
allocatedXXXcount allocated
availableXXXcount available
+
Example
+
const si = require('systeminformation');
+si.fsOpenFiles().then(data => console.log(data));
+
+{
+  max: 6566555,
+  allocated: 1856,
+  available: 0
+}
+
si.fsStats(cb){...}XXcurrent transfer stats
rxXXbytes read since startup
wxXXbytes written since startup
txXXtotal bytes read + written since startup
rx_secXXbytes read / second (* see notes)
wx_secXXbytes written / second (* see notes)
tx_secXXtotal bytes reads + written / second
msXXinterval length (for per second values)
+
Example
+
const si = require('systeminformation');
+setInterval(function() {
+  si.fsStats().then(data => {
+    console.log(data);
+  })
+}, 1000)
+
+{                             // first call
+  rx: 14015849472,
+  wx: 15316003328,
+  tx: 29331852800,
+  rx_sec: -1,
+  wx_sec: -1,
+  tx_sec: -1,
+  ms: 0
+}
+{                             // second call
+  rx: 14015849472,
+  wx: 15316007424,
+  tx: 29331856896,
+  rx_sec: 0,
+  wx_sec: 4083.748753738784,
+  tx_sec: 4083.748753738784,
+  ms: 1003
+}...
+
+

Getting correct stats values

+ +

In disksIO() and fsStats() the + results / sec. values (rx_sec, IOPS, ...) are calculated correctly 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.

+ +

The first time you are calling one of this functions, you will get -1 for transfer rates. + The second time, you should then get statistics based on the time between the two calls ...

+ +

So basically, if you e.g. need a values for filesystem stats stats every second, your code should look like this:

+ +
const si = require('systeminformation');
+
+setInterval(function() {
+    si.fsStats().then(data => {
+        console.log(data);
+    })
+}, 1000)
+

Beginning with the second call, you get file system transfer values per second.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/general.html b/docs/v4/general.html new file mode 100644 index 0000000..95670b4 --- /dev/null +++ b/docs/v4/general.html @@ -0,0 +1,361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
General
+
+

In this section you will learn how to get general systeminformation data. We will also cover the "get" and "get-all" functions to get partial or all data with one single call.

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Lib-Version and Time/Timezone

+

The first two functions just give back systeminformation library version number and time/timezone information of your machine. These are the only two functions not returning a promise (so they are not async functions):

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.version(): stringXXXXXlib version (no callback/promise)
si.time(){...}XXXXXobject (no callback/promise) with:
currentXXXXXlocal (server) time
uptimeXXXXXuptime in number of seconds
timezoneXXXXXe.g. GMT+0200
timezoneNameXXXXXe.g. CEST
+

Keep in mind, that there is another function si.versions() that will return versions of other system libraries and software packages

+

Get Defined Result Object

+

Normally you would call each of the functions (where you want to get detailed system information) seperately. The docs pages contain a full reference (with examples) for each available function. But there is also another really handy way to get a self-defined result object in one single call:

+

The si.get() function is an alternative, where you can obtain several system information data in one call. You can define a json object which represents the data structure you are expecting and the si.get() call will then return all of the requested data in a single result object

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.get(valueObject,cb){...}XXXXXget partial data at once
Specify return object for all
values that should be returned:
+
Example
+
const si = require('systeminformation');
+
+// define all values, you want to get back
+valueObject = {
+  cpu: '*',
+  osInfo: 'platform, release',
+  system: 'model, manufacturer'
+}
+
+si.get(valueObject).then(data => console.log(data));
+
+{
+  cpu: {
+    manufacturer: 'Intel®',
+    brand: 'Core™ i7-8569U',
+    vendor: 'GenuineIntel',
+    family: '6',
+    model: '142',
+    stepping: '10',
+    revision: '',
+    voltage: '',
+    speed: '2.80',
+    speedmin: '2.80',
+    speedmax: '2.80',
+    governor: '',
+    cores: 8,
+    physicalCores: 4,
+    processors: 1,
+    socket: '',
+    cache: { l1d: 32768, l1i: 32768, l2: 262144, l3: 8388608 }
+  },
+  osInfo: {
+    platform: 'darwin',
+    release: '10.15.4'
+  },
+  system: {
+    model: 'MacBookPro15,2',
+    manufacturer: 'Apple Inc.'
+  }
+}
+
+
+

The key names of the valueObject must be exactly the same as the representing function within systeminformation.

+

Providing parameters to the get() function

+

Now you can also provide parameters to get() functions (where needed). Just pass the parameters in parentheses right after the wanted keys: have a look at the folloging example:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.get(valueObject,cb){...}XXXXXexample with parameters:
value in paretheses goes as parameter
to the given function:
+
Example
+
const si = require('systeminformation');
+
+// define all values, you want to get back
+// here the value in paretheses goes as a parameter
+// to the processLoad function
+
+valueObject = {
+  processLoad: 'pids, cpu (postgres)'
+}
+si.get(valueObject).then(data => console.log(data));
+
+{
+  processLoad: {
+  pids: [
+    640, 643, 654,
+    655, 656, 657,
+    658, 659
+  ],
+    cpu: 0.63
+  }
+}
+
+
+

Get All At Once

+

The following three functions si.getStaticData(), si.getDynamicData() and si.getAllData() will return most of the available data in a single result object:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.getStaticData(cb){...}XXXXXall static data at once
si.getDynamicData(srv,iface,cb){...}XXXXXall dynamic data at once
Specify services and interfaces to monitor
Defaults to first external network interface
Pass "*" for ALL services (linux/win only)
Pass "*" for ALL network interfaces
si.getAllData(srv,iface,cb){...}XXXXXall data at once
Specify services and interfaces to monitor
Defaults to first external network interface
Pass "*" for ALL services (linux/win only)
Pass "*" for ALL network interfaces
+

Static data is all hardware related (or more or less constant) data like system, baseboard, bios, OS, versions, cpu, network interfces, memory and disk layout

+

Dynamic data will return user, cpu-speed, load, processes, services, temperature, file system, network and disk stats, ...

+

As not all funtions are supported in each operating system the result object might be different in each OS.

+

ATTENTION: Use this only if you really need ALL information. Especially on Windows this can take really long (up to 20 seconds) because the underlying WMIC command is very slow when using it the first time.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/gettingstarted.html b/docs/v4/gettingstarted.html new file mode 100644 index 0000000..70dd9ba --- /dev/null +++ b/docs/v4/gettingstarted.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Quick Start
+
+

Lightweight collection of 40+ functions to retrieve detailed hardware, system and OS information.

+
    +
  • simple to use
  • +
  • get detailed information about system, cpu, baseboard, battery, memory, disks/filesystem, network, docker, software, services and processes
  • +
  • supports Linux, macOS, partial Windows, FreeBSD, OpenBSD, NetBSD and SunOS support
  • +
  • no npm dependencies (for production)
  • +
+ +

Core Concept

+

Node.js 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. It requires node.js version 4.0 and above.

+ +

I was able to test it on several Debian, Raspbian, Ubuntu distributions as well as macOS (Mavericks, Yosemite, El Captain, Sierra, High Sierra, Mojave) and some Windows 7, 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.

+

If you have comments, suggestions & reports, please feel free to contact me on github!

+

I also created a nice little command line tool called mmon (micro-monitor) for Linux and macOS, also available via github and npm

+ +

Attention:

+

This library is supposed to be used as a node.js backend/server-side library and will definilely not work within a browser.

+ +

Installation

+
$ npm install systeminformation --save
+

Usage

+

All functions (except version and time) are implemented as asynchronous functions. Here a small example how to use them:

+
const si = require('systeminformation');
+
+// promises style - new since version 3
+si.cpu()
+    .then(data => console.log(data))
+    .catch(error => console.error(error));
+
+

Callback, Promises, Async Await

+

Remember: all functions (except version and time) are implemented as asynchronous functions! There are now three ways to consume them:

+

Callback Style

+
const si = require('systeminformation');
+
+si.cpu(function(data) {
+    console.log('CPU Information:');
+    console.log('- manufucturer: ' + data.manufacturer);
+    console.log('- brand: ' + data.brand);
+    console.log('- speed: ' + data.speed);
+    console.log('- cores: ' + data.cores);
+    console.log('- physical cores: ' + data.physicalCores);
+    console.log('...');
+})

+

Promise Style

+

Promises style is new since version 3.0. +

+ +

When omitting callback parameter (cb), then you can use all function in a promise oriented way. All functions (exept of version and time) are returning a promise, that you can consume:

+
const si = require('systeminformation');
+
+si.cpu()
+    .then(data => {
+        console.log('CPU Information:');
+        console.log('- manufucturer: ' + data.manufacturer);
+        console.log('- brand: ' + data.brand);
+        console.log('- speed: ' + data.speed);
+        console.log('- cores: ' + data.cores);
+        console.log('- physical cores: ' + data.physicalCores);
+        console.log('...');
+    })
+    .catch(error => console.error(error));

+

Async/Await Style

+

Since node v7.6 you can also use the async / await pattern. The above example would then look like this:

+
const si = require('systeminformation');
+
+async function cpuData() {
+    try {
+        const data = await si.cpu();
+        console.log('CPU Information:');
+        console.log('- manufucturer: ' + data.manufacturer);
+        console.log('- brand: ' + data.brand);
+        console.log('- speed: ' + data.speed);
+        console.log('- cores: ' + data.cores);
+        console.log('- physical cores: ' + data.physicalCores);
+        console.log('...');
+    } catch (e) {
+        console.log(e)
+    }
+}

+

Issues

+

If you discover some empty or incorrect values, please be sure to first have a look at the Known issues section.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/graphics.html b/docs/v4/graphics.html new file mode 100644 index 0000000..364714b --- /dev/null +++ b/docs/v4/graphics.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Graphics
+
+

In this section you will learn how to get information about installed graphics conrollers and connected displays:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Graphics Controllers, Displays

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.graphics(cb){...}XXXarrays of graphics controllers and displays
controllers[]XXXgraphics controllers array
...[0].modelXXXgraphics controller model
...[0].vendorXXXe.g. ATI
...[0].busXXXon which bus (e.g. PCIe)
...[0].vramXXXVRAM size (in MB)
...[0].vramDynamicXXXtrue if dynamicly allocated ram
...[0].subDeviceIdXX(pptional nvidia-smi) - sub device ID
...[0].driverVersionXX(pptional nvidia-smi) - driver version
...[0].nameXX(pptional nvidia-smi) - name
...[0].pciBusXX(pptional nvidia-smi) - PCI bus ID
...[0].fanSpeedXX(pptional nvidia-smi) - fan speed
...[0].memory totalXX(pptional nvidia-smi) - memory total
...[0].memoryUsedXX(pptional nvidia-smi) - memory used
...[0].memoryFreeXX(pptional nvidia-smi) - memory free
...[0].utilizationGpuXX(pptional nvidia-smi) - utilization GPU
...[0].utilizationMemoryXX(pptional nvidia-smi) - utilization memory
...[0].temperatureGpuXX(pptional nvidia-smi) - temperature GPU
...[0].temperatureMemoryXX(pptional nvidia-smi) - temperature memory
...[0].powerDrawXX(pptional nvidia-smi) - power draw
...[0].powerLimitXX(pptional nvidia-smi) - power limit
...[0].clockCoreXX(pptional nvidia-smi) - clock core
...[0].clockMemoryXX(pptional nvidia-smi) - clock memory
displays[]XXXmonitor/display array
...[0].vendorXmonitor/display vendor
...[0].deviceNameXe.g. \\.\DISPLAY1
...[0].modelXXXmonitor/display model
...[0].mainXXXtrue if main monitor
...[0].builtinXXtrue if built in monitor
...[0].connectionXXXe.g. DisplayPort, HDMI
...[0].sizexXXXsize in mm horizontal
...[0].sizeyXXXsize in mm vertical
...[0].pixeldepthXXXcolor depth in bits
...[0].resolutionxXXXpixel horizontal
...[0].resolutionyXXXpixel vertical
...[0].currentResXXXXcurrent pixel horizontal
...[0].currentResYXXXcurrent pixel vertical
...[0].positionXXscreen position X
...[0].positionYXscreen position Y
...[0].currentRefreshRateXXcurrent screen refresh rate
+
Example
+
const si = require('systeminformation');
+si.graphics().then(data => console.log(data));
+
+{
+  controllers: [
+    {
+      vendor: 'Intel',
+      model: 'Intel Iris Plus Graphics 655',
+      bus: 'Built-In',
+      vram: 1536,
+      vramDynamic: true
+    }
+  ],
+  displays: [
+    {
+      vendor: '',
+      model: 'Color LCD',
+      main: true,
+      builtin: false,
+      connection: 'Internal',
+      sizex: -1,
+      sizey: -1,
+      pixeldepth: 24,
+      resolutionx: 2560,
+      resolutiony: 1600,
+      currentResX: 2560,
+      currentResY: 1600,
+      positionX: 0,
+      positionY: 0,
+      currentRefreshRate: -1
+    }
+  ]
+}
+
+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/history.html b/docs/v4/history.html new file mode 100644 index 0000000..33ce839 --- /dev/null +++ b/docs/v4/history.html @@ -0,0 +1,2085 @@ + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Version History
+
+

Major Changes - Version 4

+

New Functions

+
    +
  • chassis() chassis information
  • +
  • vboxInfo() detailed virtualBox VM information
  • +
  • wifiNetworks() detailed information about available wifi networks
  • +
+

Breaking Changes

+
    +
  • networkStats(): will provide an array of stats for all given interfaces. In previous versions only one interface was provided as a parameter. Pass '*' for all interfaces
  • +
  • networkStats(): rx and tx changed to rx_bytes and tx_bytes
  • +
  • dockerContainerStats() will provide an array of stats for all given docker containers. In previous versions only one interface was provided as a parameter. Pass '*' for all docker containers
  • +
+

Other Changes

+
    +
  • system(): optimized system detection (e.g. new Raspberry Pi models, ...)
  • +
  • system(), bios(), baseboard(): information also as non-root (linux)
  • +
  • graphics(): added pip, pip3, virtualBox,
  • +
  • versions(): better controller and display detection, fixes
  • +
  • networkInterfaces(): optimization, fixes
  • +
  • networkStats() added operstate, type, duplex, mtu, speed, carrierChanges
  • +
  • added TypeScript definitions
  • +
+

Be aware, that the new version 4.x is NOT fully backward compatible to version 3.x ...

+ +

Major (breaking) Changes - Version 3

+
    +
  • works only with node.js v4.0.0 and above (using now internal ES6 promise function, arrow functions, ...)
  • +
  • Promises. As you can see in the documentation, you can now also use it in a promise oriented way. But callbacks are still supported.
  • +
  • Async/Await. Due to the promises support, systeminformation also works perfectly with the `async/await` pattern (available in node.js v7.6.0 and above). See example in the docs.
  • +
+

Full version history

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VersionDateComment
4.34.92020-01-25graphics() virtual controller vram value fix (win)
4.34.82020-01-25graphics() controller subDeviceId fix (win)
4.34.72020-01-13services() improved service discovery linux
4.34.62020-01-12networkInterfaces() catch errors
4.34.52020-01-07networkInterfaceDefault() fixed CMD popup (windows)
4.34.42020-01-06system() fixed vitrual catch error
4.34.32020-01-06graphics() issue non nvidia-smi controllers fixed (win)
4.34.22020-01-05system() uuid now lowercase - as in uuid()
4.34.12020-01-05graphics() nvidia-smi detection improved
4.34.02020-01-05system() added flag virtual
4.33.82020-01-04virtualBox() fix issue windows host
4.33.72020-01-04graphics() nvidia-smi detection improved
4.33.62021-01-02dockerContainerStats() fix 'tx' changed to 'wx' as documented
4.33.52020-12-30graphics() vram (nvidia-smi)
4.33.42020-12-28typescript typings fix
4.33.32020-12-27graphics() updated docs, typescript typings
4.33.22020-12-27graphics() fixed issue nvidia-smi
4.33.12020-12-22versions() fixed issue (mac OS)
4.33.02020-12-21graphics() nvidia-smi support (linux, windows)
4.32.02020-12-14graphics() clinfo support (linux)
4.31.22020-12-14graphics() Windows 7 Graphics Fix (Multi Monitor)
4.31.12020-12-11inetLatency() command injection vulnaribility fix
4.31.02020-12-06osInfo() added FQDN
4.30.112020-12-02cpu() bugfix speed parsing
4.30.102020-12-01cpu() handled speed parsing error (Apple Silicon)
4.30.92020-12-01cpu() corrected processor names (Raspberry Pi)
4.30.82020-11-30fsSize() catch error (mac OS)
4.30.72020-11-29cpuTemperature() rewrite hwmon parsing (linux)
4.30.62020-11-27wmic added default windows path
4.30.52020-11-26adapted security update (prototype pollution prevention)
4.30.42020-11-25reverted Object.freeze because it broke some projects
4.30.32020-11-25security update (prototype pollution prevention) Object.freeze
4.30.22020-11-25security update (prototype pollution prevention)
4.30.12020-11-12updated docs
4.30.02020-11-11get() added possibility to provide parameters
4.29.32020-11-09blockdevices() catch error adapted
4.29.22020-11-09blockdevices() catch error
4.29.12020-11-08system() better parsing Raspberry Pi revision codes
4.29.02020-11-08fsSize() correct fs type detection macOS (HFS, APFS, NFS)
4.28.12020-11-05code cleanup, removing debug console.log()
4.28.02020-11-04graphics() added deviceName (windows)
4.27.112020-10-26inetChecksite() fixed vulnerability: command injection
4.27.102020-10-16dockerContainers() resolved hanging issue
4.27.92020-10-13networkInterfaces() loopback internal detection (windows)
4.27.82020-10-08windows codepages partial fix
4.27.72020-10-05updated typescript typings, minor fixes
4.27.62020-10-02get() fixed when results are in arrays
4.27.52020-09-18cpuTemperature() fixed try catch (linux)
4.27.42020-09-16networkInterfaceDefault() optimization (macOS)
4.27.32020-08-26updated typescript typings
4.27.22020-08-26fixed issue breaking node v4 compatibility
4.27.12020-08-25networkStats() fixed packages dropped (linux)
4.27.02020-08-24observe() added function to observe/watch system parameters
4.26.122020-08-21versions() fixed issue windows
4.26.112020-08-20cpuTemperature() fixed issue windows
4.26.102020-07-16networkStats() fixed issue blocking windows
4.26.92020-06-06networkStats() fixed comparison issue windows
4.26.82020-06-06networkInterfaces() fixed caching
4.26.72020-06-06cpuTemperature() fixed raspberry pi sensors issue
4.26.62020-06-03diskLayout() fixed issue
4.26.52020-05-27cpuTemperature() optimizes scanning AMD linux sensors
4.26.42020-05-21cpuTemperature() fix (BSD), code cleanup
4.26.32020-05-20Updated documentation
4.26.22020-05-19processes() memory leak fix, security issue fix
4.26.12020-05-13code cleanup
4.26.02020-05-12diskLayout() added full smart data (where supported)
4.25.22020-05-12getDynamicData() added wifiNetworks()
4.25.12020-05-07get() minor bounds test fix, updated docs
4.25.02020-05-07get() added function to get partial system info
4.24.22020-05-06cpu() fix BSD, networkStats() fix BSD
4.24.12020-05-03processes() fix parsing command and params (linux, macOS)
4.24.02020-05-01networkInterfaces() added netmask ip4 and ip6
4.23.102020-05-01cpuTemperature() optimized parsing linux
4.23.92020-04-29currentLoad() workarround for no os.cpus info
4.23.82020-04-26getMacAddresses() fix added try catch
4.23.72020-04-26getCpuCurrentSpeedSync() workarround fix
4.23.62020-04-25networkGatewayDefault() bugfix no interfaces
4.23.52020-20-04updated docs
4.23.42020-04-20users() optimized parseDateTime function
4.23.32020-04-09refactored to avoid cat
4.23.22020-04-08cpu() fixed getting base speed Ryzen CPUs
4.23.12020-03-11diskLayout() optimized detection (linux)
4.23.02020-03-08versions() added param to specify which program/lib versions to detect
4.22.72020-03-08diskLayout() fixed detection (linux)
4.22.62020-03-08network() fixed DHCP detection (linux)
4.22.52020-03-04graphics() fixed vram (macOS)
4.22.42020-03-01versions() added dotnet, fix typings
4.22.32020-02-20memLayout() code cleanup
4.22.22020-02-19memLayout() raspberry PI mem voltage fix
4.22.12020-02-17memLayout() raspberry PI support
4.22.02020-02-17services() added pids (windows)
4.21.32020-02-16versions() fixed versions mysql (macOS)
4.21.22020-02-11networkConnections() fixed linux (debian) issue
4.21.12020-01-31networkGatewayDefault() fixed windows 7 issue
4.21.02020-01-27added npx compatibility
4.20.12020-01-26battery() code refactoring, cleanup, updated docs
4.20.02020-01-25battery() added designcapacity, voltage, unit
4.19.42020-01-24mem() prevent log messages
4.19.32020-01-24memLayout() bank info fix macOS
4.19.22020-01-19cpu() multi-processor fix windows
4.19.12020-01-14osInfo() uefi fix windows
4.19.02020-01-12osInfo() uefi (OS uses UEFI on startup)
4.18.32020-01-10fsSize() fix excluding loop/snap devices
4.18.22020-01-10memLayout() fix memsize linux (modules >= 32 GB)
4.18.12020-01-07updated docs
4.18.02020-01-07networkInterfaces() added dhcp for mac OS, added dhcp linux fallback
4.17.32020-01-05code cleanup
4.17.22020-01-05cpu().speed AMD base frequency and fix (0.00)
4.17.12020-01-04fsSize() alpine linux support
4.17.02020-01-04networkInterfaces() added dhcp, dnsSuffix, ieee8021xAuth, ieee8021xState
4.16.12020-01-01networkInterfaces() bug fix (mac OS)
4.16.02019-11-27networkGatewayDefault() added
4.15.32019-11-10type definitions and docs update
4.15.22019-11-10mem() improved calculation linux
4.15.12019-11-10diskLayout() added support for older lsblk versions (linux)
4.15.02019-11-10cpu() added governor (linux)
4.14.172019-10-22graphics() improved display detection (windows)
4.14.162019-10-19graphics() improved display detection (windows)
4.14.152019-10-18graphics() fallback display detection (windows)
4.14.142019-10-18powershell() fixed error handling (windows)
4.14.132019-10-15networkConnections() fixed parsing (linux)
4.14.122019-10-14getCpu() fixed multi socket detection (linux)
4.14.112019-10-01type definitions bug dockerInfo
4.14.102019-10-01type definitions bug fix memLayout
4.14.92019-10-01processLoad() fix windows
4.14.82019-08-23parseDateTime() fix coding error
4.14.72019-08-22battery() windows acconnected improvement
4.14.62019-08-22users() improved date time parsing
4.14.52019-08-22fsSize() fix windows size as number
4.14.42019-07-20versions() fix pip, pip3
4.14.32019-07-09system() sku fix windows
4.14.22019-07-07networkConnections() pid linux fix NAN
4.14.12019-07-04graphics() added display position windows
4.14.02019-07-03processes() added process params and path
4.13.22019-07-02versions() fix getting all versions
4.13.12019-07-01versions() gcc fix mac OS
4.13.02019-07-01networkConnections() added PID, process
4.12.22019-06-24system() added Raspberry PI 4 detection
4.12.12019-06-24networkInterface() virtual interfaces mac OS
+ networkInterfaceDefault() optimization windows +
4.12.02019-06-21networkInterface() added property virtual
4.11.62019-06-19util bug fix
4.11.52019-06-19dockerAll() bug fix
4.11.42019-06-17type definitions bug fix
4.11.32019-06-16graphics() optimization windows
4.11.22019-06-16wifiNetworks() bug fixes
4.11.12019-06-15updated docs
4.11.02019-06-14wifiNetworks() added available wifi networks
4.10.02019-06-14graphics() rewrite windows, added featues
4.9.22019-06-12type definitions bug fix
4.9.12019-06-11networkStats() bugfix windows
4.9.02019-06-03graphics() added vendor, refresh rate, current resolution
4.8.42019-06-03vboxInfo() fixed call parameters
4.8.32019-05-31vboxInfo() added stoppedSince, started, stopped
4.8.22019-05-31dockerInfo() changed property naming style
4.8.12019-05-31updated docs
4.8.02019-05-31vboxInfo() added virtualbox detailed VM info
4.7.32019-05-30updated typescript typings
4.7.22019-05-30versions() added virtualbox
4.7.12019-05-29memLayout() fix mac OS mojave
4.7.02019-05-29partial NetBSD support
4.6.12019-05-29wmic path fix - windows
4.6.02019-05-27dockerInfo() added dockerInfo
4.5.12019-05-17updated docs
4.5.02019-05-17fsOpenFiles() added open file descriptor count
4.4.12019-05-11updated docs
4.4.02019-05-11dockerContainers() added started, finished time
4.3.02019-05-09dockerContainers() dockerStats() added restartCount
4.2.12019-05-09networkInterfaceDefault() time delay fix (linux)
4.2.02019-05-09osInfo() extended service pack version (windows)
4.1.82019-05-09graphics() resolve on error (windows)
4.1.72019-05-09users() parsing fix (windows)
4.1.62019-04-24memory() swap used fix (linux)
4.1.52019-04-19refactored wmic calls to work also on Windows XP
4.1.42019-03-26networkInterfaces() speed bug (windows)
4.1.32019-03-24wmic path detection (windows)
4.1.22019-03-23updated docs
4.1.12019-03-13updated typescript typings
4.1.02019-03-13versions()added pip, pip3
4.0.162019-03-12Happy birthday - 5th aniversary
4.0.152019-03-02versions()added java, python3, optimized gcc
4.0.142019-03-01updated typescript typings
4.0.132019-03-01diskLayout() added device (/dev/sda...) linux, mac
4.0.122019-03-01diskLayout() linux rewritten - better detection
4.0.112019-02-23users() fix windows (time), added @ts-check
4.0.102019-02-10networkInterfaceDefault() fix windows
4.0.92019-02-08cpu() fix, code clean up
4.0.82019-02-05inetLatency() latency fix parse chinese output
4.0.72019-02-05inetLatency() latency Windows fix
4.0.62019-02-04powershell catch error
4.0.52019-02-03updated docs
4.0.42019-02-03code cleanup, updated docs
4.0.32019-02-03networkInterfaces(), chassis() fixed two more issues
4.0.22019-02-03networkInterfaces(), chassis() fixed smaller issues
4.0.12019-02-02updated docs
4.0.02019-02-02new major version 4
3.54.02018-12-30added TypeScript type definitions
3.53.12018-12-29versions() bug fix nginx version
3.53.02018-12-29versions() added perl, python, gcc
3.52.72018-12-29versions() bug fix macOS detection
3.52.62018-12-28versions() bug fix macOS
3.52.52018-12-28preparing automated tests, travis-ci integration, added dev-dependencies
3.52.42018-12-27graphics().controllers bugfix linux
3.52.32018-12-27os().codepage bugfix
3.52.22018-12-17code cleanup
3.52.12018-12-17inetChecksite() bugfix windows
3.52.02018-12-15cpu() added physical cores, processors, socket type
3.51.42018-12-05versions() bugfix, optimization postgres
3.51.32018-11-27mem() refactoring parsing linux, code cleanup
3.51.22018-11-26mem() bugfix parsing free output linux
3.51.12018-11-26processLoad() bugfix windows
3.51.02018-11-25processLoad() added for windows
3.50.32018-11-25processLoad(), services() fixed cpu data (linux)
3.50.22018-11-23network mac adresses: ip support fix
3.50.12018-11-23services() added possibility to specify ALL services "*" for win
3.50.02018-11-23services() added possibility to specify ALL services "*" for linux
3.49.42018-11-21battery() timeremaining optimization (linux) thanks to Jorai Rijsdijk
3.49.32018-11-20memLayout() optimized parsing (win)
3.49.22018-11-19code cleanup
3.49.12018-11-19cpu().brand removed extra spaces, tabs
3.49.02018-11-19added system uuid() (os specific), versions() added postgresql
3.48.42018-11-18windows: garbled output because of codepage
3.48.32018-11-18dockerContainerStats() fixed issue cpu_percent win
3.48.22018-11-18dockerContainerStats() fixed issue cpu_percent, win exec
3.48.12018-11-17docker...() fixed issue parsing docker socket JSON
3.48.02018-11-17diskLayout() better interface detection (WIN), osInfo() added build, serial
3.47.02018-11-06versions() added docker, postfix
3.46.02018-11-05fixed issue versions(), added system openssl version
3.45.102018-11-03fixed issue battery(), modified package.json - files
3.45.92018-10-22fixed node 4 incompatibility
3.45.82018-10-22system() fix Raspberry Pi detection
3.45.72018-10-05fixed typos
3.45.62018-09-12mem() bug parsing linux in other languages
3.45.52018-09-07diskLayout() tiny bug S.M.A.R.T status windows
3.45.42018-09-06added icon to README.md
3.45.32018-09-06diskLayout() optimized media type detection (HD, SSD) on Windows
3.45.22018-09-05updated imags shields icons
3.45.12018-09-05updated documentation
3.45.02018-09-04diskLayout() added smartStatus
3.44.22018-08-28added code quality badges
3.44.12018-08-28code cleanup
3.44.02018-08-25battery() bugfix & added type, model, manufacturer, serial
3.43.02018-08-25cpuCurrentspeed() added cpu speed for all cores
3.42.102018-08-25processes() optimized start time parsing
3.42.92018-08-08cpuTemperature() optimized parsing
3.42.82018-08-03updated docs
3.42.72018-08-03processes() optimized parsing ps name
3.42.62018-08-03processes() bugfix parsing ps linux
3.42.52018-08-03processes() bugfix parsing ps linux
3.42.42018-07-09cpuTemperature() bugfix parsing negative values
3.42.32018-07-05services() bugfix not finding services with capital letters
3.42.22018-07-03users() optimized results if lack of permissions
3.42.12018-07-03versions() bugfix git version macOS
3.42.02018-06-01processes() added parent process PID
3.41.42018-05-28windows exec WMIC in try catch
3.41.32018-05-13improved SunOS support getStaticData(), getDynamicData()
3.41.22018-05-13bugfix system() and flags() Raspberry Pi
3.41.12018-05-11updated docs
3.41.02018-05-11system() Raspberry Pi bugfix and extended detection, added partial SunOS support
3.40.12018-05-10bugfix system().sku (windows)
3.40.02018-04-29extended versions() (php, redis, mongodb)
3.39.02018-04-29added versions().mysql and versions().nginx, starting SunOS> support (untested)
3.38.02018-04-06added battery().acconnected
3.37.122018-04-05another optimization battery().ischarging for macOS
3.37.112018-04-05another optimization battery().ischarging for macOS
3.37.102018-04-05battery().ischarging optimized for macOS
3.37.92018-04-03optimized processes(), bugfix networkInterfaceDefault()
3.37.82018-03-25optimized networkDefaultInterface() detection, fixed network operstate> MacOS
3.37.72018-03-13celebrating 4th birthday
3.37.62018-03-12updated docs: fixed diskLayout>and mamlayout>
3.37.52018-03-12added support for ip> instead of ifconfig>
3.37.42018-02-22bugfix windows processes(), disklayout()
3.37.32018-02-19added windows exec windowsHide option
3.37.22018-02-15fixed bug battery().percent for macOS
3.37.12018-02-13fixed bug battery().ischarging for macOS
3.37.02018-02-11extended FreeBSD support networkStats()
3.36.02018-02-11extended FreeBSD support networkConnections()
3.35.02018-02-11extended FreeBSD support processLoad()
3.34.12018-02-11updated docs
3.34.02018-02-10first partial FreeBSD support
3.33.152018-01-21optimized OSX battery
3.33.142018-01-17bugfix diskLayout() (Windows)
3.33.132018-01-12bugfix memLayout() (Windows)
3.33.122017-12-25fixed typos
3.33.112017-12-17updated docs
3.33.102017-12-14bugfix WMIC blockDevice parse (Windows 7)
3.33.92017-12-14bugfix WMIC not found (Windows)
3.33.82017-12-02bugfix diskLayout().size (OSX)
3.33.72017-11-28bugfix diskLayout().size
3.33.62017-11-16bugfix diskLayout().size
3.33.52017-11-09code cleanup
3.33.42017-11-09bugfix graphics controller win (bytes)
3.33.32017-11-08bugfix cpu speed arm - type
3.33.22017-11-08bugfix cpu speed arm
3.33.12017-11-07improved bios and main board information
3.33.02017-11-07added bios and main board information
3.32.42017-11-02AMD cpu base frequencies table also for windows
3.32.32017-11-02code cleanup, AMD cpu base frequencies table
3.32.22017-11-01bugfix JSON.parse error blockDevices()
3.32.12017-10-23updated docs
3.32.02017-10-23extended memLayout() - added manufacturer
3.31.42017-10-21updated README.md
3.31.32017-10-21bugfix graphics(), fixed typo README.md
3.31.22017-10-16bugfix graphics() vendor and model parsing linux VGA/3D
3.31.12017-10-16bugfix graphics() vendor and model parsing linux
3.31.02017-10-15extended windows support cpuFlags() (partially)
3.30.62017-10-05updated community profile
3.30.52017-10-05bugfix users() - parsing values on windows
3.30.42017-10-03bugfix cpuTemperature() - parsing values on windows
3.30.32017-10-03bugfix cpuTemperature() - max value on windows
3.30.22017-09-26bugfix networkInterfaces() - optimized ip6 address selection
3.30.12017-09-21bugfix/typo inetChecksite()
3.30.02017-09-21extended versions() (added yarn, gulp, grunt, tsc, git)
3.29.02017-09-15extended windows support services(), optimized diskLayout() (OSX), bugfixes
3.28.02017-09-14extended windows support processes()
3.27.12017-09-13updated Raspberry version detection system() (Pi 3, Zero)
3.27.02017-09-12added raw data to currentLoad(), fixed networkInterfaces() MAC problem node 8.x
3.26.22017-09-01removed redundant code
3.26.12017-08-23fixed cpu().speed windows / AMD, updated docs
3.26.02017-08-21extended getDynamicData() (windows), updated docs
3.25.12017-08-07updated docs
3.25.02017-08-07improved windows support networkStats(), cpuCache(), bug fix getStaticData()
3.24.02017-08-05extended windows support networkStats(), networkConnections()
3.23.72017-07-11bug fix diskLayout()
3.23.62017-07-11added cpuFlags() to getStaticData(), bug fix graphics() (Win)
3.23.52017-06-29bug fix inetChecksite()
3.23.42017-06-24bug fix getDynamicData(), getAllData() - mem
3.23.32017-06-23updated docs
3.23.22017-06-23bug fix battery (windows)
3.23.12017-06-22updated docs
3.23.02017-06-22added memLayout, diskLayout, extended windows support (inetChecksite
3.22.02017-06-19extended windows support (users, inetLatency)
3.21.02017-06-18extended time (timezone), extended windows support (battery, getAll...)
3.20.12017-06-17updated docs
3.20.02017-06-16extend WIN support (cpu, cpuCache, cpuCurrentspeed, mem, networkInterfaces, docker)
3.19.02017-06-12OSX temperature now an optional dependency
3.18.02017-05-27extended cpu info (vendor, family, model, stepping, revision, cache, speedmin/max)
3.17.32017-04-29minor fix (blockDevices data array, Windows)
3.17.22017-04-24minor fix (removed console.log)
3.17.12017-04-23fixed bugs fsSize(win), si.processes (command), si.osinfo(win)
3.17.02017-02-19windows support for some first functions, extended process list (linux
3.16.02017-01-19blockDevices: added removable attribute + fix
3.15.12017-01-17minor cpuTemperature fix (OSX)
3.15.02017-01-15added cpuTemperature also for OSX
3.14.02017-01-14added currentLoad per cpu/core, cpu cache and cpu flags
3.13.02016-11-23added shell (returns standard shell)
3.12.02016-11-17refactoring and extended currentLoad
3.11.22016-11-16blockDevices: improved for older lsblk versions
3.11.12016-11-16fixed small bug in blockDevices
3.11.02016-11-15blockDevices for OSX and extended blockDevices
3.10.22016-11-14bug fix fsSize on OSX
3.10.12016-11-14optimization fsStats, disksIO, networkStats
3.10.02016-11-12added blockDevices, fixed fsSize, added file system type
3.9.02016-11-11added MAC address to networkInterfaces, fixed currentLoad
3.8.12016-11-04updated docs
3.8.02016-11-04added dockerContainerProcesses
3.7.12016-11-03code refactoring
3.7.02016-11-02extended docker stats, and no longer relying on curl
3.6.02016-09-14added versions (kernel, ssl, node, npm, pm2, ...)
3.5.12016-09-14bugfix graphics info
3.5.02016-09-14added graphics info (controller, display)
3.4.42016-09-02tiny fixes system.model, getDefaultNetworkInterface
3.4.32016-09-02tiny bug fix fsStats, disksIO OSX
3.4.22016-09-01improved default network interface
3.4.12016-08-30updated docs
3.4.02016-08-30rewritten processes current cpu usage
3.3.02016-08-24process list added to processes
3.2.12016-08-19updated docs, improvement system
3.2.02016-08-19added battery information
3.1.12016-08-18improved system and os detection (vm, ...), bugfix disksIO
3.1.02016-08-18added Docker stats
3.0.12016-08-17Bug-Fix disksIO, users, updated docs
3.0.02016-08-03new major version 3.0
2.0.52016-03-02changed .gitignore
2.0.42016-02-22tiny correction - removed double quotes CPU brand, ...
2.0.32016-02-22optimized cpuCurrentspeed
2.0.22016-02-22added CoreOS identification
2.0.12016-01-07minor patch
2.0.02016-01-07new major version 2.0
1.0.72015-11-27fixed: si.network_speed()
1.0.62015-09-17fixed: si.users()
1.0.52015-09-14updated dependencies
1.0.42015-07-18updated docs
1.0.32015-07-18bugfix cpu cores
1.0.22015-07-18bugfix cpu_currentspeed, cpu_temperature
1.0.12015-07-18documentation update
1.0.02015-07-18bug-fixes, version bump, published as npm component
0.0.32014-04-14bug-fix (cpu_speed)
0.0.22014-03-14Optimization FS-Speed & CPU current speed
0.0.12014-03-13initial release
+
+
+
+
+
+ +
+ + + + + + + \ No newline at end of file diff --git a/docs/v4/index.html b/docs/v4/index.html new file mode 100644 index 0000000..2698897 --- /dev/null +++ b/docs/v4/index.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + +
+
+ Security advisory:
Update to v4.31.1
+ +
systeminformation
+
+
Current Version: 4.34.9
+ +
+
+ +
Read Documentation
+ +
+
+ +
+
+
+
Overview
+
Lightweight collection of 40+ functions to retrieve detailed hardware, system and OS information. For Linux, macOS, partial Windows, FreeBSD, OpenBSD, NetBSD and SunOS support
+
+ NPM Version + deps status + Code Quality: Javascript + Total alerts + MIT license +
+
+
+
+
+
+
+
+
+
+
10,943
+
Lines of code
+
+
+
...
+
Downloads last month
+
+
+
375
+
Dependents
+
+
+
+
+
+
+
+
+
+
Documentation
+
Detailed documentation and reference for Version 4.x.x
+
+
+
+ +
+
+
Getting Started
+
+
+ +
+
+
General
+
+
+ +
+
+
System
+
+
+ +
+
+
CPU
+
+
+ +
+
+
Memory
+
+
+ +
+
+
Battery
+
+
+ +
+
+
Graphics
+
+
+ +
+
+
OS
+
+
+ +
+
+
Process/Service
+
+
+ +
+
+
Disks / FS
+
+
+ +
+
+
Network
+
+
+ +
+
+
Wifi
+
+
+ +
+
+
Docker
+
+
+ +
+
+
Virtual Box
+
+
+
+
+
+
+
+
+
+
+
Issues
+
Security issues: Please have a look at our security advisories
+
If you run into problems, please check out known issues page first. If you still have problems, please feel free to open an issue on our github page
+
Upcoming ...
+
MacOS on ARM - new hardware already arrived and we made quite a few changes to support Apple silicon M1 chips. Current status is documented here.
+
Verion 5: We are planning a new major version with some minor breaking changes and some additional features. We will try to make this available Q1 of 2021.

+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/docs/v4/issues.html b/docs/v4/issues.html new file mode 100644 index 0000000..adf7429 --- /dev/null +++ b/docs/v4/issues.html @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Known Issues
+
+

macOS - Temperature

+ +

To be able to measure temperature on macOS I created a little additional package. Due to some difficulties in NPM with optionalDependencies + I unfortunately was getting unexpected warnings on other platforms. So I decided to drop this optional dependency for macOS - so by default, + you will not get correct values.

+ +

But if you need to detect macOS temperature just run the following additional installation command:

+ +
$ npm install osx-temperature-sensor --save
+

systeminformation will then detect this additional library and return the temperature when calling systeminformations standard function cpuTemperature()

+ +

Windows Temperature, Battery, ...

+ +

wmic - which is used to determine temperature and battery sometimes needs to be run with admin + privileges. So if you do not get any values, try to run it again with according privileges. If you still do not get any + values, your system might not support this feature. In some cases we also discovered that wmic returned incorrect temperature values.

+ +

Linux Temperature

+ +

In some cases you need to install the linux sensors package to be able to measure temperature e.g. on DEBIAN based systems by running

+
$ sudo apt-get install lm-sensors
+ +

Linux S.M.A.R.T. Status

+ +

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
+

If you have smartmontools version >= 7.0 then you will get also full smart data in diskLayout()

+ +

Stats Functions

+

To get correct values with fsStats(), disksIO() and networkStats() please check this guide

+ +

Empty / incorrect values

+

If you discover empty or incorrect values, please keep in mind that some underlying commands need to be run under admin privileges. So if you run your scripts as normal users, not all system information values can be determined. For linux this is e.g. the case for `memLayout()`, advances `system()`, `bios()`, `baseboard()`, `cpu()`information, S.M.A.R.T. status and others...

+ +

Finding New Issues

+

If you still have problems, please feel free to open an issue on our github page

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/main.js b/docs/v4/main.js new file mode 100644 index 0000000..cacf037 --- /dev/null +++ b/docs/v4/main.js @@ -0,0 +1,69 @@ +function createMenu() { + var menu = [ + [0, './#docs', 'Documentation'], + [1, 'gettingstarted', 'Getting Started'], + [1, 'general', 'General'], + [1, 'system', 'System'], + [1, 'cpu', 'CPU'], + [1, 'memory', 'Memory'], + [1, 'battery', 'Battery'], + [1, 'graphics', 'Graphics'], + [1, 'os', 'OS'], + [1, 'processes', 'Processes / Services'], + [1, 'filesystem', 'Disks / FS'], + [1, 'network', 'Network'], + [1, 'wifi', 'Wifi'], + [1, 'docker', 'Docker'], + [1, 'vbox', 'Virtual Box'], + [1, 'statsfunctions', 'Observers / Stats'], + [0, '', 'More'], + [1, 'security', 'Security Advisories'], + [1, 'issues', 'Known Issues'], + [1, 'history', 'Version history'], + [1, 'copyright', 'Copyright & License'], + [1, 'contributors', 'Contributors'], + [1, 'trademarks', 'Trademarks'], + ]; + + var path = window.location.pathname; + var page = path.split('/').pop().replace('.html', ''); + + var menuParent = document.getElementById('menu'); + var titleElement; + var titleLink; + var ulElement; + var hrElement; + var liElement; + var aElement; + for (let item of menu) { + if (item[0] === 0) { + titleElement = document.createElement('div'); + titleElement.classList.add('title'); + menuParent.appendChild(titleElement); + if (!item[1]) { + titleLink = document.createElement('div'); + titleLink.innerText = item[2]; + } else { + titleLink = document.createElement('a'); + titleLink.setAttribute('href', item[1] + (item[1].indexOf('#') >= 0 ? '' : '.html')); + titleLink.innerText = item[2]; + } + titleElement.appendChild(titleLink); + hrElement = document.createElement('hr'); + titleElement.appendChild(hrElement); + ulElement = document.createElement('ul'); + titleElement.appendChild(ulElement); + } else { + liElement = document.createElement('li'); + if (page === item[1]) { + liElement.classList.add('active'); + } + aElement = document.createElement('a'); + aElement.setAttribute('href', item[1] + '.html'); + aElement.innerText = item[2]; + ulElement.appendChild(liElement); + liElement.appendChild(aElement); + } + } +} + diff --git a/docs/v4/memory.html b/docs/v4/memory.html new file mode 100644 index 0000000..4f94610 --- /dev/null +++ b/docs/v4/memory.html @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Memory
+
+

In this section you will learn how to get overall memory information (usage by OS) and memory module layout:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

System Memory and Memory Layout

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.mem(cb){...}XXXXXMemory information (object)
totalXXXXXtotal memory in bytes
freeXXXXXnot used in bytes
usedXXXXXused (incl. buffers/cache)
activeXXXXXused actively (excl. buffers/cache)
buffcacheXXXXused by buffers+cache
buffersXused by buffers
cachedXused by cache
slabXused by slab
availableXXXXXpotentially available (total - active)
swaptotalXXXXX
swapusedXXXXX
swapfreeXXXXX
+
Example
+
const si = require('systeminformation');
+si.mem().then(data => console.log(data));
+
+{
+  total: 67092135936,
+  free: 65769291776,
+  used: 1322844160,
+  active: 1032495104,
+  available: 66059640832,
+  buffers: 63213568,
+  cached: 800124928,
+  slab: 268804096,
+  buffcache: 1132142592,
+  swaptotal: 8589930496,
+  swapused: 0,
+  swapfree: 8589930496
+}
+
+
si.memLayout(cb)[{...}]XXXXMemory Layout (array of objects)
[0].sizeXXXXsize in bytes
[0].bankXXXmemory bank
[0].typeXXXXmemory type
[0].clockSpeedXXXXclock speed
[0].formFactorXXXform factor
[0].manufacturerXXXXmanufacturer
[0].partNumXXXXpart number
[0].serialNumXXXXserial number
[0].voltageConfiguredXXXvoltage conf.
[0].voltageMinXXXvoltage min
[0].voltageMaxXXXvoltage max
+
Example
+
const si = require('systeminformation');
+si.memLayout().then(data => console.log(data));
+
+[
+  {
+    size: 34359738368,
+    bank: 'BANK 0',
+    type: 'DDR4',
+    clockSpeed: 2667,
+    formFactor: 'SODIMM',
+    manufacturer: '029E',
+    partNum: 'CMSX64.....',
+    serialNum: '00000000',
+    voltageConfigured: 1.2,
+    voltageMin: 1.2,
+    voltageMax: 1.2
+  },
+  {
+    size: 34359738368,
+    bank: 'BANK 2',
+    type: 'DDR4',
+    clockSpeed: 2667,
+    formFactor: 'SODIMM',
+    manufacturer: '029E',
+    partNum: 'CMSX64.....',
+    serialNum: '00000000',
+    voltageConfigured: 1.2,
+    voltageMin: 1.2,
+    voltageMax: 1.2
+  }
+]
+
+
+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/network.html b/docs/v4/network.html new file mode 100644 index 0000000..6c73833 --- /dev/null +++ b/docs/v4/network.html @@ -0,0 +1,816 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Network
+
+

In this section you will learn how to get detailed information about network interfaces, network connections and statistics as well as some internet related information (latency, check availability of site):

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Network Interfaces, Network Stats, Network Connections

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.networkInterfaces(cb)[{...}]XXXXXarray of network interfaces (objects)
[0].ifaceXXXXXinterface
[0].ifaceNameXXXXXinterface name (differs on Windows)
[0].ip4XXXXXip4 address
[0].ip4subnetXXXXXip4 subnet mask
[0].ip6XXXXXip6 address
[0].ip6subnetXXXXXip6 subnet mask
[0].macXXXXXMAC address
[0].internalXXXXXtrue if internal interface
[0].virtualXXXXXtrue if virtual interface
[0].operstateXXXup / down
[0].typeXXXwireless / wired
[0].duplexXXduplex (full/half)
[0].mtuXXMUT maximum transmission unit
[0].speedXXXSpeed in Mbit / s
[0].dhcpXXXIP address obtained by DHCP
[0].dnsSuffixXXDNS suffix
[0].ieee8021xAuthXXIEEE 802.1x Auth
[0].ieee8021xStateXXXIEEE 802.1x State
[0].carrierChangesX# changes up/down
+
Example
+
const si = require('systeminformation');
+si.networkInterfaces().then(data => console.log(data));
+
+[
+  {
+    iface: 'lo0',
+    ifaceName: 'lo0',
+    ip4: '127.0.0.1',
+    ip4subnet: '255.0.0.0',
+    ip6: '::1',
+    ip6subnet: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
+    mac: '',
+    internal: true,
+    virtual: false,
+    operstate: 'down',
+    type: 'wired',
+    duplex: 'full',
+    mtu: 16384,
+    speed: -1,
+    dhcp: false,
+    dnsSuffix: '',
+    ieee8021xAuth: '',
+    ieee8021xState: '',
+    carrierChanges: 0
+  },
+  {
+    iface: 'en0',
+    ifaceName: 'en0',
+    ip4: '192.168.0.27',
+    ip4subnet: '255.255.255.0',
+    ip6: 'fe80::134a:1e43:abc5:d413',
+    ip6subnet: 'ffff:ffff:ffff:ffff::',
+    mac: 'xx:xx:xx:xx:xx:xx',
+    internal: false,
+    virtual: false,
+    operstate: 'up',
+    type: 'wired',
+    duplex: 'full',
+    mtu: 1500,
+    speed: 1000,
+    dhcp: true,
+    dnsSuffix: '',
+    ieee8021xAuth: '',
+    ieee8021xState: '',
+    carrierChanges: 0
+  }, ...
+]
+
si.networkInterfaceDefault(cb): stringXXXXXget name of default network interface
+
Example
+
const si = require('systeminformation');
+si.networkInterfaceDefault().then(data => console.log(data));
+
+eth0
+
si.networkGatewayDefault(cb): stringXXXXXget default network gateway
+
Example
+
const si = require('systeminformation');
+si.networkGatewayDefault().then(data => console.log(data));
+
+192.168.0.1
+
si.networkStats(iface,cb)[{...}]XXXXcurrent network stats of given interfaces,
iface list: comma separated,
iface parameter is optional,
defaults to first external network interface,
pass '*' for all interfaces
[0].ifaceXXXXinterface
[0].operstateXXXXup / down
[0].rx_bytesXXXXreceived bytes overall
[0].rx_droppedXXXXreceived dropped overall
[0].rx_errorsXXXXreceived errors overall
[0].tx_bytesXXXXtransferred bytes overall
[0].tx_droppedXXXXtransferred dropped overall
[0].tx_errorsXXXXtransferred errors overall
[0].rx_secXXXXreceived bytes / second (* see notes)
[0].tx_secXXXXtransferred bytes per second (* see notes)
[0].msXXXXinterval length (for per second values)
+
Example
+
const si = require('systeminformation');
+setInterval(function() {
+  si.networkStats().then(data => {
+    console.log(data);
+  })
+}, 1000)
+
+[
+  {                                 // first call
+    iface: 'en0',
+    operstate: 'up',
+    rx_bytes: 1752866207,
+    rx_dropped: 0,
+    rx_errors: 0,
+    tx_bytes: 180934681,
+    tx_dropped: 0,
+    tx_errors: 0,
+    rx_sec: -1,
+    tx_sec: -1,
+    ms: 0
+  }
+]
+[
+  {                                 // second call
+    iface: 'en0',
+    operstate: 'up',
+    rx_bytes: 1752866822,
+    rx_dropped: 0,
+    rx_errors: 0,
+    tx_bytes: 180939820,
+    tx_dropped: 0,
+    tx_errors: 0,
+    rx_sec: 624.3654822335026,
+    tx_sec: 5217.258883248731,
+    ms: 985
+  }
+]...
+
si.networkConnections(cb)[{...}]XXXXcurrent network network connections
returns an array of all connections
[0].protocolXXXXtcp or udp
[0].localaddressXXXXlocal address
[0].localportXXXXlocal port
[0].peeraddressXXXXpeer address
[0].peerportXXXXpeer port
[0].stateXXXXlike ESTABLISHED, TIME_WAIT, ...
[0].pidXXXXprocess ID
[0].processXXprocess name
+
Example
+
const si = require('systeminformation');
+si.networkConnections().then(data => console.log(data));
+
+[
+  {
+    protocol: 'tcp4',
+    localaddress: '192.168.0.27',
+    localport: '55788',
+    peeraddress: '163.128.xxx.xxx',
+    peerport: '443',
+    state: 'CLOSE_WAIT',
+    pid: 702,
+    process: ''
+  },
+  {
+    protocol: 'tcp4',
+    localaddress: '192.168.0.27',
+    localport: '55761',
+    peeraddress: '148.253.xxx.xxx',
+    peerport: '22',
+    state: 'ESTABLISHED',
+    pid: 7267,
+    process: ''
+  },
+  ...
+]
+
+

Site availability, Internet Latency

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.inetChecksite(url, cb){...}XXXXXresponse-time (ms) to fetch given URL
urlXXXXXgiven url
okXXXXXstatus code OK (2xx, 3xx)
statusXXXXXstatus code
msXXXXXresponse time in ms
+
Example
+
const si = require('systeminformation');
+si.inetChecksite('google.com').then(data => console.log(data));
+
+{
+  url: 'google.com',
+  ok: true,
+  status: 301,
+  ms: 82
+}
+
si.inetLatency(host, cb): numberXXXXXresponse-time (ms) to external resource
host parameter is optional (default 8.8.8.8)
+
Example
+
const si = require('systeminformation');
+si.inetLatency().then(data => console.log(data));
+
+13.484
+
// Example with given host IP address
+const si = require('systeminformation');
+si.inetLatency('216.58.207.142').then(data => console.log(data));
+
+11.291
+
+

Getting correct stats values

+ +

In networkStats() the + results / sec. values (rx_sec, tx_sec, ...) are calculated correctly 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.

+ +

The first time you are calling one of this functions, you will get -1 for transfer rates. + The second time, you should then get statistics based on the time between the two calls ...

+ +

So basically, if you e.g. need a values for filesystem stats stats every second, your code should look like this:

+ +
const si = require('systeminformation');
+
+setInterval(function() {
+    si.networkStats().then(data => {
+        console.log(data);
+    })
+}, 1000)
+

Beginning with the second call, you get network transfer values per second.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/os.html b/docs/v4/os.html new file mode 100644 index 0000000..1aab25f --- /dev/null +++ b/docs/v4/os.html @@ -0,0 +1,758 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
OS
+
+

In this section you will learn how to get information about the installed operating system, versions of installed development specific software packages, shell and users online:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Operating System, Shell, Versions, Users

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.osInfo(cb){...}XXXXXOS information
platformXXXXX'linux', 'darwin', 'win32', ...
distroXXXXX
releaseXXXXX
codenameX
kernelXXXXXkernel release - same as os.release()
archXXXXXsame as os.arch()
hostnameXXXXXsame as os.hostname()
fqdnXXXXXfully qualfied domain name
codepageXXXXOS build version
logofileXXXXXe.g. 'apple', 'debian', 'fedora', ...
serialXXXXOS/Host serial number
buildXXXOS build version
servicepackXservice pack version
uefiXXXXOS uses UEFI on startup
+
Example
+
const si = require('systeminformation');
+si.osInfo().then(data => console.log(data));
+
+{
+  platform: 'darwin',
+  distro: 'Mac OS X',
+  release: '10.15.3',
+  codename: 'macOS Catalina',
+  kernel: '19.3.0',
+  arch: 'x64',
+  hostname: 'hostname.local',
+  fqdn: 'hostname.local',
+  codepage: 'UTF-8',
+  logofile: 'apple',
+  serial: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
+  build: '19D76',
+  servicepack: '',
+  uefi: true
+}
+
si.uuid(cb){...}XXXXXobject of several UUIDs
osXXXXos specific UUID
si.shell(cb): stringXXXstandard shell
si.versions(apps, cb){...}XXXXXversion information of
node and dev software packages
optional apps param (string,
comma or space seperated)
only those apps are detected
kernelXXXXXos kernel version
opensslXXXXXnode openssl version
systemOpensslXXXXXos openssl version
systemOpensslLibXXXXXopenSSL, LibreSSL, ...
nodeXXXXXnode version
v8XXXXXv8 version
npmXXXXXnpm version
yarnXXXXXyarn version
pm2XXXXXpm2 version
gulpXXXXXgulp version
gruntXXXXXgrunt version
gitXXXXXgit version
tscXXXXXtypescript version
mysqlXXXXXmysql version
redisXXXXXredis version
mongodbXXXXXmongodb version
apacheXXXXXapache version
nginxXXXXXnginx version
phpXXXXXphp version
dockerXXXXXdocker version
postfixXXXXXpostfix version
postgresqlXXXXXpostgresql version
perlXXXXXperl version
pythonXXXXXpython version
python3XXXXXpython3 version
javaXXXXXjava version
gccXXXXXgcc version
virtualboxXXXXXvirtualbox version
+
Example
+
const si = require('systeminformation');
+si.versions().then(data => console.log(data));
+
+{
+  kernel: '19.3.0',
+  openssl: '1.1.1d',
+  systemOpenssl: '2.8.3',
+  systemOpensslLib: 'LibreSSL',
+  node: '13.8.0',
+  v8: '7.9.317.25-node.28',
+  npm: '6.13.6',
+  yarn: '',
+  pm2: '',
+  gulp: '',
+  grunt: '',
+  git: '2.21.1',
+  tsc: '3.7.5',
+  mysql: 'gpl)',
+  redis: '',
+  mongodb: '',
+  apache: '2.4.41 (Unix)',
+  nginx: '',
+  php: '7.3.11',
+  docker: '19.03.5',
+  postfix: '3.2.2',
+  postgresql: '12.1',
+  perl: '5.18.4',
+  python: '2.7.16',
+  python3: '3.7.3',
+  pip: '',
+  pip3: '19.0.3',
+  java: '',
+  gcc: '4.2.1',
+  virtualbox: ''
+}
+
Example 2
+
const si = require('systeminformation');
+si.versions('npm, php, postgresql').then(data => console.log(data));
+
+{
+  npm: '6.13.6',
+  php: '7.3.11',
+  postgresql: '12.1'
+}
+
si.users(cb)[{...}]XXXXXarray of users online
[0].userXXXXXuser name
[0].ttyXXXXXterminal
[0].dateXXXXXlogin date
[0].timeXXXXXlogin time
[0].ipXXXXip address (remote login)
[0].commandXXXXlast command or shell
+
Example
+
const si = require('systeminformation');
+si.users().then(data => console.log(data));
+
+[
+  {
+    user: 'yourname',
+    tty: 'ttys006',
+    date: '2020-02-01',
+    time: '21:20',
+    ip: '',
+    command: 'w -ih'
+  },
+  {
+    user: 'othername',
+    tty: 'ttys008',
+    date: '2020-02-01',
+    time: '21:20',
+    ip: '',
+    command: '-bash'
+  }
+]
+
+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/processes.html b/docs/v4/processes.html new file mode 100644 index 0000000..093f155 --- /dev/null +++ b/docs/v4/processes.html @@ -0,0 +1,754 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Processes and Services
+
+

In this section you will learn how to get information about current load, running processes and installed services:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Current Load, Processes, Services

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.currentLoad(cb){...}XXXXCPU-Load
avgloadXXXaverage load
currentloadXXXXCPU load in %
currentload_userXXXXCPU load user in %
currentload_systemXXXXCPU load system in %
currentload_niceXXXXCPU load nice in %
currentload_idleXXXXCPU load idle in %
currentload_irqXXXXCPU load system in %
raw_currentload...XXXXCPU load raw values (ticks)
cpus[]XXXXcurrent loads per CPU in % + raw ticks
+
Example
+
const si = require('systeminformation');
+si.currentLoad().then(data => console.log(data));
+
+{
+  avgload: 0.23,
+  currentload: 4.326328800988875,
+  currentload_user: 2.595797280593325,
+  currentload_system: 1.73053152039555,
+  currentload_nice: 0,
+  currentload_idle: 95.67367119901112,
+  currentload_irq: 0,
+  raw_currentload: 350,
+  raw_currentload_user: 210,
+  raw_currentload_system: 140,
+  raw_currentload_nice: 0,
+  raw_currentload_idle: 7740,
+  raw_currentload_irq: 0,
+  cpus: [
+    {
+      load: 13.725490196078432,
+      load_user: 7.8431372549019605,
+      load_system: 5.88235294117647,
+      load_nice: 0,
+      load_idle: 86.27450980392157,
+      load_irq: 0,
+      raw_load: 140,
+      raw_load_user: 80,
+      raw_load_system: 60,
+      raw_load_nice: 0,
+      raw_load_idle: 880,
+      raw_load_irq: 0
+    },
+    ...
+  ]
+}
+
si.fullLoad(cb): integerXXXCPU full load since bootup in %
si.processes(cb){...}XXXXX# running processes
allXXXXX# of all processes
runningXXXXX# of all processes running
blockedXXXXX# of all processes blocked
sleepingXXXXX# of all processes sleeping
unknownX# of all processes unknown status
list[]XXXXXlist of all processes incl. details
...[0].pidXXXXXprocess PID
...[0].parentPidXXXXXparent process PID
...[0].nameXXXXXprocess name
...[0].pcpuXXXXXprocess % CPU usage
...[0].pcpuuXXXprocess % CPU usage (user)
...[0].pcpusXXXprocess % CPU usage (system)
...[0].pmemXXXXXprocess memory %
...[0].priorityXXXXXprocess priotity
...[0].mem_vszXXXXXprocess virtual memory size
...[0].mem_rssXXXXXprocess mem resident set size
...[0].niceXXXXprocess nice value
...[0].startedXXXXXprocess start time
...[0].stateXXXXXprocess state (e.g. sleeping)
...[0].ttyXXXXtty from which process was started
...[0].userXXXXuser who started process
...[0].commandXXXXXprocess starting command
...[0].paramsXXXXprocess params
...[0].pathXXXXXprocess path
+
Example
+
const si = require('systeminformation');
+si.processes().then(data => console.log(data));
+
+{
+  all: 258,
+  running: 1,
+  blocked: 0,
+  sleeping: 157,
+  unknown: 0,
+  list: [
+    {
+      pid: 1,
+      parentPid: 0,
+      name: 'init',
+      pcpu: 0.04504576931569955,
+      pcpuu: 0.04084113255431208,
+      pcpus: 0.00420463676138747,
+      pmem: 0,
+      priority: 19,
+      mem_vsz: 166144,
+      mem_rss: 10684,
+      nice: 0,
+      started: '2020-02-08 10:18:15',
+      state: 'sleeping',
+      tty: '',
+      user: 'root',
+      command: 'init',
+      params: '',
+      path: '/sbin'
+    },
+    ...
+  ]
+}
+
si.processLoad('nginx',cb){...}XXXXdetailed information about given process
procXXXXprocess name
pidXXXXPID
pidsXXXXadditional pids
cpuXXXXprocess % CPU
memXXXXprocess % MEM
+
Example
+
const si = require('systeminformation');
+si.processLoad('nginx').then(data => console.log(data));
+
+{
+  proc: 'nginx',
+  pid: 11267,
+  pids: [
+    11251, 11252, 11253,
+    11254, 11255, 11256,
+    11257, 11258, 11259,
+    11260, 11261, 11262,
+    11263, 11264, 11265,
+    11266, 11267
+  ],
+  cpu: 0.01,
+  mem: 0
+}
+
si.services('mysql, apache2', cb)[{...}]XXXXpass comma separated string of services
pass "*" for ALL services (linux/win only)
[0].nameXXXXname of service
[0].runningXXXXtrue / false
[0].startmodeXmanual, automatic, ...
[0].pidsXXXpids
[0].pcpuXXXprocess % CPU
[0].pmemXXXprocess % MEM
+
Example
+
const si = require('systeminformation');
+si.services('mysql, postgres').then(data => console.log(data));
+
+[
+  {
+    name: 'mysql',
+    running: true,
+    startmode: '',
+    pids: [ 152 ],
+    pcpu: 0.3,
+    pmem: 0
+  },
+  {
+    name: 'postgres',
+    running: true,
+    startmode: '',
+    pids: [ 1087, 1873 ],
+    pcpu: 0,
+    pmem: 0
+  },
+]
+
+

Getting correct stats values

+ +

In currentLoad() the + results are calculated correctly beginning with the second call of the function. + It is determined by calculating the difference of cpu ticks between two calls of the function.

+ +

The first time you are calling one of this functions, you will get the load since cpu uptime. + The second time, you should then get statistics based on cpu ticks between the two calls ...

+ +

So basically, your code should look like this:

+ +
const si = require('systeminformation');
+
+              setInterval(function() {
+                  si.currentLoad().then(data => {
+                      console.log(data);
+                  })
+              }, 1000)
+

Beginning with the second call, you get precise load values between the two calls.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/security.html b/docs/v4/security.html new file mode 100644 index 0000000..38ee8e2 --- /dev/null +++ b/docs/v4/security.html @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Security Advisories
+
+

Command Injection Vulnerability

+

Affected versions: + < 4.31.1
+ Date: 2020-12-11
+ CVE indentifier CVE-2020-26274, CVE-2020-28448 +

+ +

Impact

+

Here we had an issue that there was a possibility to inject commands to the command line of your machine via systeminformation. Affected commands: inetLatency().

+ +

Patch

+

Problem was fixed with a shell string sanitation fix. Please upgrade to version >= 4.31.1

+ +

Workarround

+

If you cannot upgrade, be sure to check or sanitize service parameter strings that are passed to inetLatency()

+ + +

command injection vulnerability - prototype pollution

+

Affected versions: + < 4.30.5
+ Date: 2020-11-26
+ CVE indentifier CVE-2020-26245 +

+ +

Impact

+

Here we had an issue that there was a possibility to inject commands to the command line by property pollution on the string object. Affected commands: inetChecksite().

+ +

Patch

+

Problem was fixed with a shell string sanitation fix as well as handling prototype polution. Please upgrade to version >= 4.30.5

+ +

Workarround

+

If you cannot upgrade, be sure to check or sanitize service parameter strings that are passed to inetChecksite()

+ + +

Command Injection Vulnerability

+

Affected versions: + < 4.27.11
+ Date: 2020-10-26
+ CVE indentifier CVE-2020-7752 +

+ +

Impact

+

Here we had an issue that there was a possibility to inject commands to the command line of your machine via systeminformation. Affected commands: inetChecksite().

+ +

Patch

+

Problem was fixed with a shell string sanitation fix. Please upgrade to version >= 4.27.11

+ +

Workarround

+

If you cannot upgrade, be sure to check or sanitize service parameter strings that are passed to inetChecksite()

+ +
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/statsfunctions.html b/docs/v4/statsfunctions.html new file mode 100644 index 0000000..f1462f9 --- /dev/null +++ b/docs/v4/statsfunctions.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Stats Functions
+
+

Getting correct stats values

+ +

In fsStats(), disksIO(), currentLoad() and networkStats() the + results / sec. values (rx_sec, IOPS, ...) are calculated correctly 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.

+ +

The first time you are calling one of this functions, you will get -1 for transfer rates. + The second time, you should then get statistics based on the time between the two calls ...

+ +

So basically, if you e.g. need a values for network stats every second, your code should look like this:

+ +
const si = require('systeminformation');
+
+setInterval(function() {
+    si.networkStats().then(data => {
+        console.log(data);
+    })
+}, 1000)
+

Beginning with the second call, you get network transfer values per second.

+

Observe System Parameters

+

systeminformation now allows you to easily observe system parameters: First you define a result object of system parameters you want to observe (see also decription of the si.get() function here):

+

Then you just call an si.observe() function with three parameters: your result object, the polling interval (in milliseconds) and a callback function. systeminformation will now observe the result object. Every time the result changes, your callback function is called. This callback function also gets the current value the observed system parameters object.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.observe(valueObject,interval,cb)-XXXXXObserve the defined value object,
call callback on changes:
+
Example
+
const si = require('systeminformation');
+
+// define all values, you want to get back
+valueObject = {
+  battery: 'acconnected'
+}
+
+function usersCallback(data) {
+  console.log('Power usage now: ' + (data.battery.acconnected ? 'AC' : 'battery'));
+}
+
+// now define the observer function
+let observer = si.observe(valueObject, 1000, usersCallback);
+
+// In this example we stop our observer function after 30 seconds
+setTimeout(() => {
+  clearInterval(observer)
+}, 30000);
+
+

The key names of the valueObject must be exactly the same as the representing function in systeminformation.

+ +
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/styles.css b/docs/v4/styles.css new file mode 100644 index 0000000..af8d66c --- /dev/null +++ b/docs/v4/styles.css @@ -0,0 +1,670 @@ +body { + font-family: -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif, "apple color emoji", "segoe ui emoji", "segoe ui symbol"; + font-weight: 300; + min-height: 100%; +} + +h1, h2, h3, h4 { + font-family: -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif, "apple color emoji", "segoe ui emoji", "segoe ui symbol"; + font-weight: 300; +} + +.center { + text-align: center; +} + +.bold { + font-weight: 700; +} + +.bg-image-full { + background: no-repeat center center scroll; + background-color: #1A1F30; + /* For browsers that do not support gradients */ + background-image: linear-gradient(210deg, #2A2D66, #060520); + /* Standard syntax (must be last) */ + background-size: cover; + -o-background-size: cover; + height: 100vh; + height: calc(var(--vh, 1vh) * 100); + opacity: 0.95; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +.bg-image-full .container { + text-align: center; + -ms-flex-item-align: center; + align-self: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} + +.bg-image-full .recommendation { + position: absolute; + top: 40px; + right: -95px; + z-index: 10; + display: inline-block; + width: 330px; + text-align: center; + padding: .25em 0; + color: white; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + background: #971d1d; + font-size: 0.9rem; +} + +@media only screen and (min-width: 420px) { + .bg-image-full .recommendation { + font-size: 1.0rem; + } +} + +@media only screen and (min-width: 768px) { + .bg-image-full .recommendation { + font-size: 1.1rem; + } +} + +@media only screen and (min-width: 1024px) { + .bg-image-full .recommendation { + top: 50px; + right: -75px; + font-size: 1.2rem; + } +} + +.bg-image-full .recommendation:hover { + text-decoration: none; +} + +.bg-image-full .title { + color: #fff; + padding-top: 10px; + font-size: 1.8rem; + margin-bottom: 10px; +} + +@media only screen and (min-width: 420px) { + .bg-image-full .title { + font-size: 2.4rem; + } +} + +@media only screen and (min-width: 768px) { + .bg-image-full .title { + font-size: 3.2rem; + } +} + +@media only screen and (min-width: 1024px) { + .bg-image-full .title { + font-size: 4rem; + } +} + +.bg-image-full .logo { + width: 100px; +} + +@media only screen and (min-width: 420px) { + .bg-image-full .logo { + width: 120px; + } +} + +@media only screen and (min-width: 768px) { + .bg-image-full .logo { + width: 160px; + } +} + +@media only screen and (min-width: 1024px) { + .bg-image-full .logo { + width: 200px; + } +} + +.bg-image-full .subtitle { + text-align: center; + color: #bbb; + font-size: 0.78rem; +} + +@media only screen and (min-width: 375px) { + .bg-image-full .subtitle { + font-size: 0.9rem; + } +} + +@media only screen and (min-width: 420px) { + .bg-image-full .subtitle { + font-size: 1rem; + } +} + +@media only screen and (min-width: 768px) { + .bg-image-full .subtitle { + font-size: 1.1rem; + } +} + +@media only screen and (min-width: 1024px) { + .bg-image-full .subtitle { + font-size: 1.3rem; + } +} + +.bg-image-full .text > a { + text-align: center; + color: #fff; + font-size: 0.9rem; +} + +.bg-image-full .text > a:hover { + color: #aaa; + text-decoration: none; +} + +@media only screen and (min-width: 375px) { + .bg-image-full .text > a { + font-size: 0.9rem; + } +} + +@media only screen and (min-width: 420px) { + .bg-image-full .text > a { + font-size: 1rem; + } +} + +@media only screen and (min-width: 768px) { + .bg-image-full .text > a { + font-size: 1rem; + } +} + +@media only screen and (min-width: 1024px) { + .bg-image-full .text > a { + font-size: 1.1rem; + } +} + +.bg-image-full .version { + text-align: center; + margin-bottom: 10px; + color: #fff; + font-size: .9rem; +} + +@media only screen and (min-width: 420px) { + .bg-image-full .version { + font-size: .9rem; + } +} + +@media only screen and (min-width: 768px) { + .bg-image-full .version { + font-size: 1rem; + } +} + +@media only screen and (min-width: 1024px) { + .bg-image-full .version { + font-size: 1.1rem; + } +} + +.bg-image-full .down { + text-align: center; + color: #fff; + font-size: 1.3rem; + line-height: 1; + margin-bottom: 15px; + cursor: pointer; +} + +.bg-image-full .down .caret { + font-size: 3rem; +} + +.nav { + background: no-repeat center center scroll; + background-color: #1A1F30; + /* For browsers that do not support gradients */ + background-image: linear-gradient(210deg, #2A2D66, #060520); + /* Standard syntax (must be last) */ + background-size: cover; + -o-background-size: cover; + height: 65px; + position: relative; +} + +.nav .logo { + width: 60px; + margin-top: 12px; +} + +.nav .title { + display: none; + color: #fff; + font-size: 1.2rem; + margin-left: 15px; + margin-top: 18px; +} + +@media only screen and (min-width: 768px) { + .nav .title { + display: inline-block; + } +} + +@media only screen and (min-width: 1024px) { + .nav .title { + font-size: 1.2rem; + } +} + +.nav .text { + margin-top: 18px; +} + +.nav .text a { + color: #fff; + margin-top: 12px; + font-size: 1.0rem; +} + +@media only screen and (min-width: 1023px) { + .nav .text a { + margin-top: 10px; + font-size: 1.2rem; + } +} + +.nav .text a:hover { + color: #aaa; + text-decoration: none; +} + +.nav .github { + display: none; +} + +@media only screen and (min-width: 768px) { + .nav .github { + display: inline-block; + } +} + +.nav .todocs { + display: inline-block; +} + +@media only screen and (min-width: 768px) { + .nav .todocs { + display: none; + } +} + +.features { + text-align: center; + color: #333; +} + +.features .inner { + padding: 10px 0px; +} + +@media only screen and (min-width: 768px) { + .features .inner { + padding: 15px 20px; + } +} + +.features .inner .icons { + display: block; + font-size: 3rem; + color: #bbb; +} + +@media only screen and (min-width: 420px) { + .features .inner .icons { + font-size: 3.5rem; + } +} + +@media only screen and (min-width: 768px) { + .features .inner .icons { + font-size: 4rem; + } +} + +@media only screen and (min-width: 1024px) { + .features .inner .icons { + font-size: 5rem; + } +} + +.features .inner .icontitle { + font-size: 1.2rem; +} + +.features .inner:hover { + background: #f4f4f4; + color: #567adf; +} + +.features .inner:hover .icons { + color: #567adf; +} + +.sectionheader .title { + text-align: center; + padding-top: 20px; + font-size: 2rem; +} + +@media only screen and (min-width: 420px) { + .sectionheader .title { + font-size: 2.3rem; + } +} + +@media only screen and (min-width: 768px) { + .sectionheader .title { + text-align: left; + padding-top: 25px; + font-size: 2.6rem; + } +} + +@media only screen and (min-width: 1024px) { + .sectionheader .title { + padding-top: 30px; + font-size: 3rem; + } +} + +.sectionheader .title-small { + text-align: center; + font-size: 1.4rem; +} + +@media only screen and (min-width: 420px) { + .sectionheader .title-small { + font-size: 1.6rem; + } +} + +@media only screen and (min-width: 768px) { + .sectionheader .title-small { + text-align: left; + padding-top: 25px; + font-size: 1.8rem; + } +} + +@media only screen and (min-width: 1024px) { + .sectionheader .title-small { + padding-top: 30px; + font-size: 2rem; + } +} + +.sectionheader .subtitle { + text-align: center; + font-size: .9rem; +} + +@media only screen and (min-width: 420px) { + .sectionheader .subtitle { + font-size: 1rem; + } +} + +@media only screen and (min-width: 768px) { + .sectionheader .subtitle { + text-align: left; + font-size: 1.1rem; + } +} + +@media only screen and (min-width: 1024px) { + .sectionheader .subtitle { + font-size: 1.3rem; + } +} + +.sectionheader .npmicons { + text-align: center; +} + +.sectionheader .text { + text-align: center; + padding-top: 10px; +} + +@media only screen and (min-width: 768px) { + .sectionheader .text { + text-align: left; + } +} + +.sectionheader hr { + margin-top: 40px; + margin-bottom: 0px; + border: 1px solid #ddd; +} + +.index { + margin: 0 0 10px 0; +} + +.index .text, .index .subtitle, .index .title, .index .title-small, .index .npmicons { + text-align: center; +} + +.index a { + text-decoration: none; +} + +.index a:hover { + text-decoration: none; + color: #567adf; +} + +.left .text, .left .subtitle, .left .title, .left .title-small .npmicons { + text-align: left; +} + +.table { + text-align: left; +} + +ul { + text-align: left; +} + +.number-section { + margin-top: 40px; + text-align: center; +} + +.number-section .numbers { + font-size: 2rem; +} + +@media only screen and (min-width: 420px) { + .number-section .numbers { + font-size: 2.4rem; + } +} + +@media only screen and (min-width: 768px) { + .number-section .numbers { + font-size: 2.8rem; + } +} + +.number-section .title { + color: #999; + font-size: 1rem; +} + +@media only screen and (min-width: 420px) { + .number-section .title { + font-size: 1.1rem; + } +} + +@media only screen and (min-width: 768px) { + .number-section .title { + font-size: 1.2rem; + } +} + +.menu { + display: none; +} + +@media only screen and (min-width: 768px) { + .menu { + margin-top: 30px; + display: inline-block; + } +} + +.menu .title { + margin: 25px 0 5px 0; + color: #000; +} + +.menu .title a { + width: 100%; + color: #000; + text-decoration: none; +} + +.menu .title a:hover { + color: #567adf; +} + +.menu hr { + margin: 5px 0; +} + +.menu ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +.menu ul li { + padding: 2px 0; +} + +.menu ul li a { + width: 100%; + color: #666; + text-decoration: none; +} + +.menu ul li a:hover { + color: #567adf; +} + +.menu ul li.active > a { + color: #567adf; +} + +.code { + font-family: Menlo, "dejavu sans mono", "lucida console", monospace; + -webkit-font-smoothing: antialiased; + font-size: 14px; + font-style: normal; + font-variant: normal; + font-weight: 400; + display: inline-block; + background-color: #eee; + margin: 0; + padding: 0 5px; +} + +pre { + padding: 4px 10px 4px 10px; + font-family: Menlo, "dejavu sans mono", "lucida console", monospace; + -webkit-font-smoothing: antialiased; + font-size: 13px; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 18px; + background-color: #eee; + width: 100%; + text-align: left; +} + +.example td:first-child { + background-color: #fff !important; +} + +.example td:last-child { + background-color: #f8faff !important; +} + +.example h5 { + padding-top: 5px; + padding-left: 10px; +} + +.example pre { + background-color: unset; +} + +.example pre .js { + background-color: #f0f0f4; +} + +footer { + background-color: #eee; + margin-top: 30px; + padding-top: 30px; + padding-bottom: 30px; + position: relative; +} + +footer a { + color: #000; +} + +footer .badge { + color: #fff; + font-size: 0.9rem; +} +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/docs/v4/styles.css.map b/docs/v4/styles.css.map new file mode 100644 index 0000000..1b2e609 --- /dev/null +++ b/docs/v4/styles.css.map @@ -0,0 +1,9 @@ +{ + "version": 3, + "mappings": "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", + "sources": [ + "styles.scss" + ], + "names": [], + "file": "styles.css" +} \ No newline at end of file diff --git a/docs/v4/styles.scss b/docs/v4/styles.scss new file mode 100644 index 0000000..cebbf20 --- /dev/null +++ b/docs/v4/styles.scss @@ -0,0 +1,472 @@ +body { + font-family: -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif, "apple color emoji", "segoe ui emoji", "segoe ui symbol"; + font-weight: 300; + min-height: 100%; +} +h1, h2, h3, h4 { + font-family: -apple-system, BlinkMacSystemFont, "segoe ui", Roboto, Helvetica, Arial, sans-serif, "apple color emoji", "segoe ui emoji", "segoe ui symbol"; + font-weight: 300; +} +.center { + text-align: center; +} +.bold { + font-weight: 700; +} +.bg-image-full { + background: no-repeat center center scroll; + background-color: #1A1F30; /* For browsers that do not support gradients */ + background-image: linear-gradient(210deg, #2A2D66, #060520); /* Standard syntax (must be last) */ + + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + height: 100vh; //calc(100vh); + height: calc(var(--vh, 1vh) * 100); + opacity: 0.95; + display: flex; + justify-content: center; + text-align: center; + + // align-items: center; + flex-direction: column; + .container { + text-align: center; + align-self: center; + display: flex; + justify-content: center; + flex-direction: column; + align-items: center; + flex-grow: 1; + } + .recommendation { + position: absolute; + top: 40px; + right: -95px; + z-index: 10; + display: inline-block; + width: 330px; + text-align: center; + padding: .25em 0; + color: white; + transform: rotate(45deg); + background: rgb(151, 29, 29); + font-size: 0.9rem; + @media only screen and (min-width: 420px) { + font-size: 1.0rem; + } + @media only screen and (min-width: 768px) { + font-size: 1.1rem; + } + @media only screen and (min-width: 1024px) { + top: 50px; + right: -75px; + font-size: 1.2rem; + } + &:hover { + text-decoration: none;; + } + } + .title { + color: #fff; + padding-top: 10px; + font-size: 1.8rem; + margin-bottom: 10px; + @media only screen and (min-width: 420px) { + font-size: 2.4rem; + } + @media only screen and (min-width: 768px) { + font-size: 3.2rem; + } + @media only screen and (min-width: 1024px) { + font-size: 4rem; + } + } + .logo { + width: 100px; + @media only screen and (min-width: 420px) { + width: 120px; + } + @media only screen and (min-width: 768px) { + width: 160px; + } + @media only screen and (min-width: 1024px) { + width: 200px; + } + } + .subtitle { + text-align: center; + color: #bbb; + font-size: 0.78rem; + @media only screen and (min-width: 375px) { + font-size: 0.9rem; + } + @media only screen and (min-width: 420px) { + font-size: 1rem; + } + @media only screen and (min-width: 768px) { + font-size: 1.1rem; + } + @media only screen and (min-width: 1024px) { + font-size: 1.3rem; + } + } + .text > a { + text-align: center; + color: #fff; + font-size: 0.9rem; + &:hover { + color: #aaa; + text-decoration: none; + } + @media only screen and (min-width: 375px) { + font-size: 0.9rem; + } + @media only screen and (min-width: 420px) { + font-size: 1rem; + } + @media only screen and (min-width: 768px) { + font-size: 1rem; + } + @media only screen and (min-width: 1024px) { + font-size: 1.1rem; + } + } + .version { + text-align: center; + margin-bottom: 10px; + color: #fff; + font-size: .9rem; + @media only screen and (min-width: 420px) { + font-size: .9rem; + } + @media only screen and (min-width: 768px) { + font-size: 1rem; + } + @media only screen and (min-width: 1024px) { + font-size: 1.1rem; + } + } + .down { + text-align: center; + color: #fff; + font-size: 1.3rem; + line-height: 1; + margin-bottom: 15px; + cursor: pointer; + .caret { + font-size: 3rem; + } + } +} + +// a[ id="quickstart" ]:target ~ #main div.row { +// transform: translateY( -500px ); +// } + +// #quickstart { +// background-color: #ff3333; +// } +.nav { + background: no-repeat center center scroll; + background-color: #1A1F30; /* For browsers that do not support gradients */ + background-image: linear-gradient(210deg, #2A2D66, #060520); /* Standard syntax (must be last) */ + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + height: 65px; + position: relative; + .logo { + width: 60px; + margin-top: 12px; + } + .title { + display: none; + color: #fff; + font-size: 1.2rem; + margin-left: 15px; + margin-top: 18px; + @media only screen and (min-width: 768px) { + display: inline-block; + } + @media only screen and (min-width: 1024px) { + font-size: 1.2rem; + } + } + .text { + margin-top: 18px; + + a { + color: #fff; + margin-top: 12px; + font-size: 1.0rem; + @media only screen and (min-width: 1023px) { + margin-top: 10px; + font-size: 1.2rem; + } + &:hover { + color: #aaa; + text-decoration: none; + } + } + } + .github { + display: none; + @media only screen and (min-width: 768px) { + display: inline-block; + } + } + .todocs { + display: inline-block; + @media only screen and (min-width: 768px) { + display: none; + } + } +} +.features { + text-align: center; + color: #333; + .inner { + padding: 10px 0px; + @media only screen and (min-width: 768px) { + padding: 15px 20px; + } + .icons { + display: block; + font-size: 3rem; + color: #bbb; + @media only screen and (min-width: 420px) { + font-size: 3.5rem; + } + @media only screen and (min-width: 768px) { + font-size: 4rem; + } + @media only screen and (min-width: 1024px) { + font-size: 5rem; + } + } + .icontitle { + font-size: 1.2rem; + } + + &:hover { + background: #f4f4f4; + color: rgb(86, 122, 223); + .icons { + color: rgb(86, 122, 223); + } + } + } +} +.sectionheader { + .title { + text-align: center; + padding-top: 20px; + font-size: 2rem; + @media only screen and (min-width: 420px) { + font-size: 2.3rem; + } + @media only screen and (min-width: 768px) { + text-align: left; + padding-top: 25px; + font-size: 2.6rem; + } + @media only screen and (min-width: 1024px) { + padding-top: 30px; + font-size: 3rem; + } + } + .title-small { + text-align: center; + font-size: 1.4rem; + @media only screen and (min-width: 420px) { + font-size: 1.6rem; + } + @media only screen and (min-width: 768px) { + text-align: left; + padding-top: 25px; + font-size: 1.8rem; + } + @media only screen and (min-width: 1024px) { + padding-top: 30px; + font-size: 2rem; + } + } + .subtitle { + text-align: center; + font-size: .9rem; + @media only screen and (min-width: 420px) { + font-size: 1rem; + } + @media only screen and (min-width: 768px) { + text-align: left; + font-size: 1.1rem; + } + @media only screen and (min-width: 1024px) { + font-size: 1.3rem; + } + } + .npmicons { + text-align: center; + } + .text { + text-align: center; + padding-top: 10px; + @media only screen and (min-width: 768px) { + text-align: left; + } + } + hr { + margin-top: 40px; + margin-bottom: 0px; + border: 1px solid #ddd; + } +} +.index { + margin: 0 0 10px 0; + .text, .subtitle, .title, .title-small, .npmicons { + text-align: center; + } + a { + text-decoration: none; + &:hover { + text-decoration: none; + color: rgb(86, 122, 223); + } + } +} +.left { + .text, .subtitle, .title, .title-small .npmicons { + text-align: left; + } +} +.table { + text-align: left; +} +ul { + text-align: left; +} +.number-section { + margin-top: 40px; + text-align: center; + .numbers { + font-size: 2rem; + @media only screen and (min-width: 420px) { + font-size: 2.4rem; + } + @media only screen and (min-width: 768px) { + font-size: 2.8rem; + } + } + .title { + color: #999; + font-size: 1rem; + @media only screen and (min-width: 420px) { + font-size: 1.1rem; + } + @media only screen and (min-width: 768px) { + font-size: 1.2rem; + } + } +} +.menu { + display: none; + @media only screen and (min-width: 768px) { + margin-top: 30px; + display: inline-block; + } + .title { + margin: 25px 0 5px 0; + color: #000; + a { + width: 100%; + color: #000; + text-decoration: none; + &:hover { + color: rgb(86, 122, 223); + } + } + } + hr { + margin: 5px 0; + } + ul { + list-style-type: none; + margin: 0; + padding: 0; + li { + padding: 2px 0; + a { + width: 100%; + color: #666; + text-decoration: none; + &:hover { + color: rgb(86, 122, 223); + } + } + &.active > a { + color: rgb(86, 122, 223); + } + } + } +} +.code { + font-family: Menlo, "dejavu sans mono", "lucida console", monospace; + -webkit-font-smoothing: antialiased; + font-size: 14px; + font-style: normal; + font-variant: normal; + font-weight: 400; + display: inline-block; + background-color: #eee; + margin: 0; + padding: 0 5px; +} +pre { + padding: 4px 10px 4px 10px; + font-family: Menlo, "dejavu sans mono", "lucida console", monospace; + -webkit-font-smoothing: antialiased; + font-size: 13px; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 18px; + background-color: #eee; + width: 100%; + text-align: left; +} +.example { + td:first-child { + background-color: #fff !important; + } + td:last-child { + background-color: #f8faff !important; + } + h5 { + padding-top: 5px; + padding-left: 10px; + } + pre { + background-color: unset; + .js { + background-color: #f0f0f4; + + } + } +} +footer { + background-color: #eee; + margin-top: 30px; + padding-top: 30px; + padding-bottom: 30px; + position: relative; + a { + color: #000; + } + .badge { + color: #fff; + font-size: 0.9rem; + } +} diff --git a/docs/v4/system.html b/docs/v4/system.html new file mode 100644 index 0000000..fd8816a --- /dev/null +++ b/docs/v4/system.html @@ -0,0 +1,463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
System (Hardware)
+
+

In this section you will learn how to get basic system hardware data. We will cover the system, baseboard and bios:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

System

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.system(cb){...}XXXXhardware information
manufacturerXXXXe.g. 'MSI' or 'DELL'
modelXXXXmodel/product e.g. 'MS-7823'
versionXXXXversion e.g. '1.0'
serialXXXXserial number
uuidXXXXUUID
skuXXXXSKU number
virtualXXXis virtual machine
raspberryXAdditional Raspberry-specific information
manufacturer, processor, type, revision
Raspberry only
+
Example
+
const si = require('systeminformation');
+si.system().then(data => console.log(data));
+
+{
+  manufacturer: 'Apple Inc.',
+  model: 'MacBookPro13,2',
+  version: '1.0',
+  serial: 'C01xxxxxxxx',
+  uuid: 'F87654-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
+  sku: 'Mac-99878xxxx...',
+  virtual: false,
+}
+
+
si.bios(cb){...}XXXXbios information
vendorXXXXe.g. 'AMI'
versionXXXversion
releaseDateXXXrelease date
revisionXXXrevision
+
Example
+
const si = require('systeminformation');
+si.bios().then(data => console.log(data));
+
+{
+  vendor: 'American Megatrends Inc.',
+  version: 'P4.20',
+  releaseDate: '2019-09-05',
+  revision: '5.13'
+}
+
si.baseboard(cb){...}XXXXbaseboard information
manufacturerXXXXe.g. 'ASUS'
modelXXXXmodel / product name
versionXXXXversion
serialXXXXserial number
assetTagXXXXasset tag
+
Example
+
const si = require('systeminformation');
+si.baseboard().then(data => console.log(data));
+
+{
+  manufacturer: 'ASRock',
+  model: 'H310M-STX',
+  version: '',
+  serial: 'C80-xxxxxxxxxxx',
+  assetTag: ''
+}
+
si.chassis(cb){...}XXXXchassis information
manufacturerXXXXe.g. 'ASUS'
modelXXXXmodel / product name
typeXXXXchassis type e.g. 'desktop'
versionXXXXversion
serialXXXXserial number
assetTagXXXXasset tag
skuXSKU number
+
Example
+
const si = require('systeminformation');
+si.chassis().then(data => console.log(data));
+
+{
+  manufacturer: 'Apple Inc.',
+  model: 'MacBookPro13,2',
+  type: '',
+  version: '1.0',
+  serial: 'C01xxxxxxxx',
+  assetTag: 'Mac-99878xxxx...',
+  sku: ''
+}
+
+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/trademarks.html b/docs/v4/trademarks.html new file mode 100644 index 0000000..51abb71 --- /dev/null +++ b/docs/v4/trademarks.html @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Trademarks
+
+

The following trademarks are the properties of their respective owners as listed below. Should any trademark attribution be missing, mistaken or erroneous, please contact us as soon as possible for rectification.

+
    +
  • Node.js is a trademark of Joyent Inc.
  • +
  • Linux is a registered trademark of Linus Torvalds
  • +
  • Apple, macOS, OS X are registered trademarks of Apple Inc.
  • +
  • Windows is a registered trademark of Microsoft Corporation
  • +
  • Intel is a trademark of Intel Corporation
  • +
  • AMD is a trademark of Advanced Micro Devices Inc.
  • +
  • Ryzen is a trademark of Advanced Micro Devices Inc.
  • +
  • Raspberry Pi is a trademark of the Raspberry Pi Foundation
  • +
  • Debian is a trademark of the Debian Project
  • +
  • FreeBSD is a registered trademark of The FreeBSD Foundation
  • +
  • NetBSD is a registered trademark of The NetBSD Foundation
  • +
  • Docker is a trademark of Docker, Inc.
  • +
  • Ubuntu is a trademark of Canonical Ltd.
  • +
  • CentOS is a trademark of Read Hat Inc.
  • +
  • Sun, Solaris, OpenSolaris are registered trademarks of Sun Microsystems
  • +
  • Virtual Box are registered trademarks of Oracle Corporation
  • +
  • BSD is a registered trademark of UUnet Technologies, Inc.
  • +
  • UNIX is a registered trademark of The Open Group.
  • +
  • NVIDIA is a registered trademark of NVIDIA Corporation.
  • +
  • MSI is a registered trademark Micro-Star International Co.
  • +
  • DELL is a registered trademark of Dell Inc.
  • +
  • ASUS is a registered trademark of ASUSTeK Computer.
  • +
  • Alpine is a trademark of Alpine Linux Development Team.
  • +
+

All other trademarks are the property of their respective owners.

+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/vbox.html b/docs/v4/vbox.html new file mode 100644 index 0000000..4d15aac --- /dev/null +++ b/docs/v4/vbox.html @@ -0,0 +1,489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Virtual Box
+
+

In this section you will learn how to get information about virtual box VMs:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

VMs

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.vboxInfo(cb)[{...}]XXXXXreturns array of detailed info about all VMs
[0].idXXXXXvirtual box ID
[0].nameXXXXXname
[0].runningXXXXXvbox is running
[0].startedXXXXXstarted date time
[0].runningSinceXXXXXrunning since (secs)
[0].stoppedXXXXXstopped date time
[0].stoppedSinceXXXXXstopped since (secs)
[0].guestOSXXXXXGuest OS
[0].hardwareUUIDXXXXXHardware UUID
[0].memoryXXXXXMemory in MB
[0].vramXXXXXVRAM in MB
[0].cpusXXXXXCPUs
[0].cpuExepCapXXXXXCPU exec cap
[0].cpuProfileXXXXXCPU profile
[0].chipsetXXXXXchipset
[0].firmwareXXXXXfirmware
[0].pageFusionXXXXXpage fusion
[0].configFileXXXXXconfig file
[0].snapshotFolderXXXXXsnapshot folder
[0].logFolderXXXXXlog folder path
[0].HPETXXXXXHPET
[0].PAEXXXXXPAE
[0].longModeXXXXXlong mode
[0].tripleFaultResetXXXXXtriple fault reset
[0].APICXXXXXAPIC
[0].X2APICXXXXXX2APIC
[0].ACPIXXXXXACPI
[0].IOAPICXXXXXIOAPIC
[0].biosAPICmodeXXXXXBIOS APIC mode
[0].bootMenuModeXXXXXboot menu Mode
[0].bootDevice1XXXXXbootDevice1
[0].bootDevice2XXXXXbootDevice2
[0].bootDevice3XXXXXbootDevice3
[0].bootDevice4XXXXXbootDevice4
[0].timeOffsetXXXXXtime Offset
[0].RTCXXXXXRTC
+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/docs/v4/wifi.html b/docs/v4/wifi.html new file mode 100644 index 0000000..87fde1e --- /dev/null +++ b/docs/v4/wifi.html @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Wifi
+
+

In this section you will learn how to get detailed information about available wifi networks:

+

For function reference and examples we assume, that we imported systeminformation as follows:

+
const si = require('systeminformation');
+

Wifi Networks

+

All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.wifiNetworks(cb)[{...}]XXXXXarray of available wifi networks
[0].ssidXXXWifi network SSID
[0].bssidXXXBSSID (mac)
[0].modeXmode
[0].channelXXXchannel
[0].frequencyXXXfrequengy in MHz
[0].signalLevelXXXsignal level in dB
[0].qualityXXXquaility in %
[0].securityXXXarray e.g. WPA, WPA-2
[0].wpaFlagsXXXarray of WPA flags
[0].rsnFlagsXarray of RDN flags +
+
Example
+
const si = require('systeminformation');
+si.wifiNetworks().then(data => console.log(data));
+
+[
+  {
+    ssid: 'INTERNAL-WIFI',
+    bssid: 'ab:01:14:4f:d3:82',
+    mode: '',
+    channel: 44,
+    frequency: 5220,
+    signalLevel: -68,
+    quality: 64,
+    security: [ 'WPA', 'WPA2' ],
+    wpaFlags: [ 'PSK/TKIP/TKIP', 'PSK/AES/TKIP' ],
+    rsnFlags: []
+  },
+  {
+    ssid: 'FREE Wifi',
+    bssid: 'aa:14:e5:16:97:f3',
+    mode: '',
+    channel: 44,
+    frequency: 5220,
+    signalLevel: -50,
+    quality: 100,
+    security: [ 'WPA', 'WPA2' ],
+    wpaFlags: [ 'PSK/TKIP/TKIP', 'PSK/AES/TKIP' ],
+    rsnFlags: []
+  },
+  ...
+]
+
+ +
+
+
+
+
+ +
+ + + + + + \ No newline at end of file