From a9f346a69ae74cc40b947a73d739450e3b34b7a9 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Wed, 9 Jan 2019 20:40:33 +0100 Subject: [PATCH] adding website --- README.md | 4 +- docs/assets/logo.png | Bin 0 -> 59722 bytes docs/assets/motherboard.jpg | Bin 0 -> 68966 bytes docs/assets/trianglify.png | Bin 0 -> 147120 bytes docs/battery.html | 257 +++++++++ docs/contributors.html | 105 ++++ docs/copyright.html | 105 ++++ docs/cpu.html | 469 +++++++++++++++ docs/docker.html | 519 +++++++++++++++++ docs/filesystem.html | 665 ++++++++++++++++++++++ docs/general.html | 222 ++++++++ docs/gettingstarted.html | 167 ++++++ docs/graphics.html | 279 +++++++++ docs/history.html | 1076 +++++++++++++++++++++++++++++++++++ docs/index.html | 196 ++++++- docs/issues.html | 116 ++++ docs/main.js | 57 ++ docs/memory.html | 329 +++++++++++ docs/network.html | 425 ++++++++++++++ docs/os.html | 339 +++++++++++ docs/processes.html | 579 +++++++++++++++++++ docs/statsfunctions.html | 104 ++++ docs/styles.css | 520 +++++++++++++++++ docs/styles.css.map | 9 + docs/styles.scss | 357 ++++++++++++ docs/system.html | 289 ++++++++++ docs/trademarks.html | 107 ++++ lib/battery.js | 2 +- lib/cpu.js | 2 +- lib/docker.js | 2 +- lib/dockerSocket.js | 2 +- lib/filesystem.js | 2 +- lib/graphics.js | 2 +- lib/index.js | 2 +- lib/internet.js | 2 +- lib/memory.js | 2 +- lib/network.js | 4 +- lib/osinfo.js | 2 +- lib/processes.js | 2 +- lib/system.js | 2 +- lib/users.js | 2 +- lib/util.js | 2 +- 42 files changed, 7300 insertions(+), 27 deletions(-) create mode 100644 docs/assets/logo.png create mode 100644 docs/assets/motherboard.jpg create mode 100644 docs/assets/trianglify.png create mode 100644 docs/battery.html create mode 100644 docs/contributors.html create mode 100644 docs/copyright.html create mode 100644 docs/cpu.html create mode 100644 docs/docker.html create mode 100644 docs/filesystem.html create mode 100644 docs/general.html create mode 100644 docs/gettingstarted.html create mode 100644 docs/graphics.html create mode 100644 docs/history.html create mode 100644 docs/issues.html create mode 100644 docs/main.js create mode 100644 docs/memory.html create mode 100644 docs/network.html create mode 100644 docs/os.html create mode 100644 docs/processes.html create mode 100644 docs/statsfunctions.html create mode 100644 docs/styles.css create mode 100644 docs/styles.css.map create mode 100644 docs/styles.scss create mode 100644 docs/system.html create mode 100644 docs/trademarks.html diff --git a/README.md b/README.md index 7e3bff0..9dc12b7 100644 --- a/README.md +++ b/README.md @@ -341,10 +341,10 @@ I also created a nice little command line tool called [mmon][mmon-github-url] ( | si.networkStats(iface,cb) | {...} | X | X | X | X | | current network stats of given interface
iface parameter is optional
defaults to first external network interface| | | iface | X | X | X | X | | interface | | | operstate | X | X | X | X | | up / down | -| | rx | X | X | X | X | | received bytes overall | +| | rx_bytes | X | X | X | X | | received bytes overall | | | rx_dropped | X | X | X | X | | received dropped overall | | | rx_errors | X | X | X | X | | received errors overall | -| | tx | X | X | X | X | | transferred bytes overall | +| | tx_bytes | X | X | X | X | | transferred bytes overall | | | tx_dropped | X | X | X | X | | transferred dropped overall | | | tx_errors | X | X | X | X | | transferred errors overall | | | rx_sec | X | X | X | X | | received bytes / second (* see notes) | diff --git a/docs/assets/logo.png b/docs/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a2dad7b5936a9c1f94d269a704950c55deed291d GIT binary patch literal 59722 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Ðeu%3=nU-Tzp#@GX#)%l(+KYgd0^b1^1 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 literal 0 HcmV?d00001 diff --git a/docs/assets/motherboard.jpg b/docs/assets/motherboard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..86e80740adecaf599cbce8716777a5c9c100b52a GIT binary patch literal 68966 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‹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 S)v*;6$%jnN1Lc1{`+oqneGJ6_ literal 0 HcmV?d00001 diff --git a/docs/assets/trianglify.png b/docs/assets/trianglify.png new file mode 100644 index 0000000000000000000000000000000000000000..b846ac85966a1f7a29575e0efe654ca2d4755c6d GIT binary patch literal 147120 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� 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�r|;iex@P3)hYW@&y8`ZXbV zVx2o4teb?^XH8FtV7hrw;uuN;r1h;hc2PqvevHAsd@HIan`&WSR`2?N$a_+BA<3^a z_FPsze<7YGVnKF~#mDp(Vi3wW;xh2!HhRk(AzYV1E{w&-V{j8Z#pLi)t#?NKf=4+H7 zp2C(p83{;ApMqWk?OQCYACNbx&f~>x!>%_O1ZIy1{V?JD)jl+Fvb4s1c!<&ufi}oU zK68txVqB>Qd~1%bs;6xp^o_AU51V(B^BMmfkQ#>oiDypUFkxK3@6Z!?CgbswX%TP7 zWF&|<=m7WSge98CNE0b^4saF<6f)ls$aF~b(@P(uhw=trC*jKEGmrd)K6UY+oa=H} zd?^{5t+!%k>k>2rGwKI;xFw&710B^Qh0SIG#_-(avx7;sUY#t5>x#eB3ac&%IBgII zIY3>^UXn{84XmPmY}FVHj7;#5_fvHeAXIPrtF>3LuPA?P+&?|eQkB41VBB(p9~(4b zh1a*wbjCaQi<+O;Z0so`hWs8;RbE`pZ_%fwp9Kd_B_#Ag=m0grP{#5W=|s%~)ZYtm zz|MonJ~!_29QMa+lSiOW%Z`7?ado(o!Y{E;yV&DMDEKHVaF3(cX^D>gp7Ik_j z{QrmpG7z133cf>_N}W9=pV{xCHhp0Ux80!cv2m4uKTFK?Z`Ai;fdW^Tdsq(Z*XvVG z0}MM?QM(p`$z$`!OLMN)gD#+HLJ5#zaG`#V)6oDLDn%fIaXABt0E_vGK9?NMoygA) zWcWmqOv+(+aC7LKhC}LXiC?0bMNbd3=xC78=W6l-9NhlKJup&(DFZi&3hC@+cD#2h zMz&x6>@zwd@bB`r0hX=}pFosJLdJvwo!+36+@<>;IxttFfzUqG;NMZFQyMmF)^%266bJOJ+pW939+np4b!Aw zisUm_Vcw1RclY!WDu>AA^Iy^s@T0fTo|c5ZCFW<{M0A((oQWp)=!DMI z;84?M6seMYW@r9jvUh$QWcKpyjI=F8-yBqoPm)!{K?G*&?k26%2?kC$(fauph$ZPk znonK*UJ3{H)mC>5fxaMUp8Ejx4!__%#AYig0)ri!APu6s7uM_l4nyTE#J=V2%O%8s zXb685#=H{{47hw-HkIVLkWBtk85TK+OL)S3k05kpZW1~W=K!bNSoxl~_Pge_jR1}Z z&=?)IxtL#r^e+OJT_C7)>{HOG^Z z(9~PdC_Z4SBQW3MsbRN98wAQPKFp2k?ZUPV$Ah=J;r4HQevxPi2Xlv_HkCp+^kMp) zkc6%^^b(?>K;$X)D5gtW68gZEl1|>Vu6ZgkbL#>v#+t9dLlO9@!buO@D%oRSs3%G2 zW9fTe@y$s5o%nM{Ggj%Mfzgw@dgJe{l6ASfWCZBKje8vW^(LsIF1{fsH-;FmL zc{wK-11D|`lY`;44s8qnasSckgFy!l`kEgtf8oOYKj4qJ*jzqw(uuz{lDb@-aZjGP zYZnOQRP9{H?G>NfP04tf3sbG$^7e%!H1&hCo-9342lF%X65-+Om3c7ojh;aOqUrPvaUIOm}a_d~ccc#Z($ICV6Kumu0 zKd^#SwqZ-hgX=CR%}73H*$TbWB7<%gzR(V-N1T7yA<1VFf2X&+x1w#E_EE{T+6x5D0wiX7^CpEZSGX}@3p|!!NebWieI}SW z49E0w>ALwz( z=NlhoGRs-qDyW(T?^%_o8@K)igVOE&8RQ~?aM>=T0gogP8el)YDP*6X1V@N`-UC!V z|D1hfCd`j${wAT1{J>R#ED=Ar#bfj3e<5Ugf!lH;JHZ&jm~lM*7I@R3*~XzG(~{63 z*0PL#`iZ(roTux=V)F;e5}|j#Pq+BzH;8GGZh4cx$VCNiUKUW~PNJ$OL%9f5)MN6Q z&9w9o58Wkbe~LqZ>;%|UV?YEAIO(a63K5Yon#xV!1*ur0 zkjZCBq;s`iP^?T&-{~P(!2m7Tb`2WavEaZ1I^`*L4Yb_gqXu?q8$M1TEpTR2WoGoI zEhZ%mivDu6sK3GMPDNIoMb$Q4u7Ln!(U2I8%g5AyhOB*Nt0KI?!_pU&)xR|u&h*dpI$6=<%64+Lpk zKxJk+Xfgn?-Sh-rJ1b4{8Kx9XKC_RM4l+0bPZ*%h6iYihA`qzO$p5{voN)vOikILG zX~CnXf1qV5K4vxff67;r2l(44mjJ}-BCf<@@;PZURXsonrwXkK>FP$LHFt=~O+Hj3 zliSclK6$}UE^%Jp#(cekpL@#KFOSbD9&zkKohO+VLy&3sHgry$r{SH_1Kh7L$qcB9 zRcs<^bv`Om90!FxRkq^mTs1*G33v=M!~+u>YUNiMrK zKIaS!Y#(!NtUhn>8p-dv{0ip|tL*uWz$kweYz=FtCZQ{|kn?7Gl6G%W#I2$Fz?IJ& zPfO<2^oxUe5@sM1&-@#3kUz*o_UJ6h%7S>OjT5QlUk!9w@rpzVV224!Pi{B|k?lB! zNcv19xIat)=e|KWm{z?K_5yBN!Jd4kQ@ukY=T(MJnj$7}?--zQuh6Ki+%aykdrbO5 z)J#54Jj}x{VA8Zd?nDA&UE?(Xv!`qipY1y3*VEkjyZ(Ye4(g>3C#Lho?)#iMHdLd_ zA-B5m8|VzxqbS}@F^jQ;japMxJFxG&HrdpW2W}&SOse;BGv;qa^gbnop%^CUYY{Jd zRpwaBCT>YGTr1P9fNaPdpLsfc|1YS^~8v><@kit2cd`rWPo3i{c&~(*%#<_{im&= z>}1nyogc{Att-%+IT7}no}0sbivG=Nj{I#Jtm=_#59gS zVDT{B<(SaBvzJ-Qr;p4<~7MOzr$>-iYikp>c&sD&>I2=s}AW=0I+}J@h&ddBe z^ODdA)bi0(sR{X-B$EoXi9kpQ*wGAK?lDQ+h5o!ryme0~w%qs!br-ob+01=6+g--8_#5r|l7_CG{M5d z(XAe|YB>Q>4g_x)Jd24-@PbKb*)wLE0wxe_xov3TfYLgsv|ypu7Me}v)?E2~#f^@P zN$BgH=ag`zF8)fl0f-VvoMLI{7RqV*&*X?wePE82#Bj)OOcD_|6(_8Sx=CZi-t zRi^Ej)j?nghQXzH8-_}mavZCPMe2xCYsEc^iMXuPRf9@E8n#@95Ud_1+0?Jze26yG z#f})fwho?Ue3jZw$!BU@Mi{_Q_C5c8Y4&Z%od?3Vp51|}pvj(tB z+EiaZtLFnsSp>Rd{H><1!r^cg2>ym9M@#u~s4rS1uKrNm*4x&7fcLkt&AUOU*g!1sN~pMeJJTI zbzms%)dc4^1U+rZ=lrgMHIcCB>$6O+iehVi^*6`|uTW$EXAj)Qfc{w)&aNx{Ed}%l z9}8b1xV}UDP1WFQ!FE1ZD?6iMjsMa|Q-4PAwLwoysDz&MNkTUm3UKQ02TGWfQ`e5) zv^)OwIC{Z7;Y#%$qT;81_e=UO@^gfp*iHu;>ams?@%HqhVrV4@_STjpQ6q~+ElE?iVG&UUYuG0s&R zG%AB;V#OzNz@u=2-1bxeN$8g(y#@{XvZj8*EO^es!_ShDN*Bd8!E|ZSXzzc zds@ow4oE_GWG=^QmGK%%))CFCNSL66c{KIeVp}JSRCsuTX)ZrL1}A{bgeZthVPPYG zDcdIbW}vGJzh~?VOgqIa-TB;T9K^2?L|7BF`AK~T%-56SZ;-%*&fi`<4@=^{)J!bL ze3VdICnA*5nyJ^SM|;bfS;!PrBF~#wJs0$MTh)%&LlQV7yfHoy zS}-5rVxOjYQh+Ig-uT#KtwDY#Kx(+?$w}xiMGKX3p>Bs*k#WZeC;0VcLY#)=b2l{U zQ;yh%QI{bXwpINQGKl4Eq4+K} zzH)E7+wKxKt&E#s#Jj+26!Dw&cREZgEHa(=KP z+sFLSdHV&QSxZ8!2X7kCqYm*;TL*TOu)X?VnxWIGNoWmVz^Tn=?+kTkz1)g}zx|4j z7}nd?ZSBdPe5{3VYNtUu6R*@GZ6!FNYVs4UajlsT%-bI5LR3+Ky8MfJ&#CN^&|TuB z90V%raGXFh4O`fI=hgyR2jjy|F(MPfx`bbeX7ZWLXh=Q}@Ge)pOG`BQSPiQtAVFtz z-ZPTVj>ibp%)XdUavV%5VCWmMU5VpUZ)0V!+_Vit>ja+e2+204p%!kR~i0 zKo-J`Z@~(43)P2QRUyTB1K%jg=USH&hum<7fv%0#)$yVY)WmmLx5V*Z$k==4*#pJWkFY180FEAbS(tjWQ%Q*83tJ*>5p3k&7rE$iA?etsi zx6wfX;NxnJ!~bkER~v>wAYpZ^i3x8+HkAjK_6vL&E6ir20126 z@mFP^CH-+Vc#lpDPi3yz1AGaItSep@xzOg1%9V87i? z^emT-3DBAzj0I6dA%m0HJ&ke#Z{7D<1CIm@#Q?J_I~^J5r0@3@Tt_v(9J{y@THCo2 zo_3IVpiemoO{MBH+4iySG7f7hF<~jFLZ4W`=OkoBTG!+PI>!d8ODDt*bVB%i zt5Bb(vI6GN)u;>5qLYMHoOhDNIy}~ak}V7C)3qjF%6kFJJV7x&$Yx7%MXO7cUKa_r z=&DUVYj3-8;88CjnFsw{#@Pe@nipM?&`RzlL8s_$FIgt~KHl!1e8w=+FRppLFh_v$ zw%D!5kS;#OgDtd}I{P!5*#nM*$lP0<;eLuv0$HG)NA}g?5(T!J%gB)(r<>azVxA>T>)jn}q4B zLO(GCweO8^f=?vEqhe&e6D% zaP;;Q)hIJo>=9rqC{;C0Xo&80lF*8QC~#7li;M2dKP?<8XbT;Y??Y&g7X{sis*;y| zS3RqU>WI1*eT)>}5sA|kKR8Gqz`ve{^)sqnaIS0Ti>h!funroqquC`1y@T&|204oE zD*DB8Ty64sgb~qZwf!EV*so8l5%v5*IS>36T{U&@h&BwHD@(=!H#ItURK#BqZjl}q zI62a}Qu5i7j>OQnauS+DsmIvH(;l&8BT7xpRq0XWvm=TiJAifI^M7fGcwYDFzp5)A zr;?fm|9;75;__K8DWb){8Amy`2`sj&(eASd z$sRA{HD!YWSD^A+FN(tM$qP(NOD2xpaASNy;MsGS%z%We2-*i2eIZ*>X(yrEpAZ-U z$iSQ}3rozBKSpDz0}6WJQP_hyCXv(Ni#_~mPsuO5O3zg{-Hbhgn@WF_3!EBlzK4iB z)Qg5J&{pDSy>6B}<(|(b*v$07MHI9<>qK`Q6S0Y&gSU;o%F1UI{SS76LI!$0cx(54 zUhn~Lj1yaVGdnuyKm7#p>Z%JH2lP&ubi$w7s$xCN?jd2wZJoPwo2sD)bwo!$`X$fF zl4=|~*i}?O9L34d7JQ??%WrVYjlXEt?3>EF)@uQtN)lQHB6L)B(q4}gbVNIcT#t-x zN!6w9)*eF=h9TrAQ;U2R{*6ADUDL)I!GtIamQ~RhgcL7SnqXAu)4=4jBVTKbK!ONw znJBT&AvfulNobB|3WLW`zreXkgMoZj88PBM9K({&q7om9`rFP&2{BWPA+%JGu836+f z<45BtN)<;HfPY^k`O+bVe#WCkcL~e1UrB$Ftc4CT`JC`oXI7|R^9i$tKJ`sLQ-*C1 z(25whKoS~0MD{~0!n>`qs%wLvtU!B=4vL`0K*2Wap@W*M}-IFp}s6gq8Gn$4PtDX$~(#b=vUY z%IALDZWw&!!Al7Ber0o$(6qIo_QvI@TFivGcHQ@RBx5j644ku_B_M8ZB)Ob-osm$z zrfvXWRVQqe6#%MYOl<2Cx>Io7Xm1u|m5jFT^G>RDArHKIE%K!71C{l!*1pA-8xaY} zwme{FWn5>W0>DJ)93hRqtvCtY+f|U&_{%*Cs^)^MtY;ZRgtCz;WF~x&s9`qzN>Zjb zLtaGq*b-1=+8d^e^X7}0I0of`B( zAC5rJEDq%^vzjtSMe@0$6YB{2o5YuGGb%@^bwp z?$aKgMA2nr_K8L8804lobWJ_QnD>wRc=EZLT>zFmcp1+x#iVQjLr7<_i!Xp5tV&0( z!QlS;KEoRYDd<|*A>O^km(q|AjosGjakFu&t`tgijCOWfEJhebXFqd;eQ6SUikhDB zkH_rin%C=L`&ZM~73;zk-*F|-;cUiM66UttkX4K0C>z@oV<5y0)p0DG@~W%CA@<@V zbZ_PZCz%T8^i!#}IiRcS5T|Ng3HQqRbhasnK|HLK$+Z$is34D717$gtVZpgbO#uB9 zlFyElOhWUh;ge}O?_Z9;{L2i=`C-%4A<1V}nwfk?mZNUaKx_(&8@p$9ilfT+DMLDz zOqnb99tUUUGpGB$!ok3hMtFMic_;9*G6@ZbQxsHC*odLtBvHm>Bvs}4$!Dht#tHWg zo{%U2*IuuwPT3G#n0T0)e0CxV{_ge zAuw>CGRA&#lx)BqO(lo@@O_`}I50{s5W~DUi$v0KLKbAC$=UX-R0A0B20zizk#&G1+nh%v&|NS|ZnET@%Mv#6xf()BV9cb@1cG;=hO3 zewSlQdYDhwXvd@y0`x`W?N6BQqzAl5x~FiOc0)xtqLRKM(-JnvRM_-HSjC(KPFGew zkKXsUSO#e+<=3cK2|X2GpE8%@OOL_nEm67hnXnVO?RVexJWZ3=JuPlT@)_NDy-qo$ zeE3nq0Dq?8=H^O=$)T^DSoz#<#p@)Y*d%nvr;I|_+*PmlDqf&)TQX8sYTko=++Fga zfEW4n5hzz#Gg*+|s%y<`JeW8K+6%7S7vGspM^|ocz-b@lhfO}e^$IP^6;Y;g4wV@W zgL`zuhZEC|Mq9_)S=l$QvwjcU3;ZgHKFfaLBrm^)@vZV?3zrTunPvJxK zHVh-JGh;r|waSFXxRwY#@#2cNj^e;F?xbxillK{YHCM5II`ut{B43EDto{NqF^QSu zKr?g70Z{fuysD^Qj#YaL(DcY8w8)}VAnokRg8DFq<&|soFfU%1auEckY6h&p9@4_ zlFwk%u;lY-Wup(G9%M3w_M3Gu`P{xJGOH`qN^}C?$%-rYiQ49)REcf^_ALWm0b(CN zDEVwS3q!z3u8nQd$Tc=@TLIvY_PL+{B#fEZk*@{%y2(S~ggVga!LQ7zCz0hiGd8)8 zz>NTW!s|B|@KC1cK{j=j!)b_$=f*6P=>d@{W~ISCDYtF|JW ze7@7`@#4rI3%G5Fylt?C&5dW()?@Oa<5siViF<${j`Wj5CmbUG?bhS}-`?4%w~7K` zc-!v%-|(Kc`@I7gP*6-1$J6>W4FbaaGYkYBG|WzDM%4q6#1FjFBw&RLkKpqWD`hJk zJ&MGLeNOb_(PvXQ5poxq#BYkhW`zj|MCwSfni_sGAzo(QQmYYYAX@wx#_tv&vwZl& zXO`{e7CYHNUV~STCM(9>_1z%(Dj*>U{c0k}rg9ef-K+d4RFLFh}xvk5k|>!#n40^WqEUNFv% z)cfC+8z+COLFkPJIda2ZeC1&b*nsu4V(fq#?_Z3Pj@?L5gxf|C`ZUTm8x~AWTkqb# z+b1uG%ALfe$+I&Hn!=DejkYe`PT%_FhHZknnf&%I&`TyhI5+mc>sPJ28|iF z3PNvVba4&z4&NGCXn>-8Ka0B+7+Y{xst(E89)xFL$cACRy#3hdT6 z6uTv$7$R99H*g1Q2t7?ESZTe(wQ9sg;R}CJf^0jv6og(SR416UA-TAard2?9PbApA zdc}C_K&N0~%Oq8aTV~=rCI6```Js2vb49gQimoKsXEr{EYsrA zff=Ho1!iYmIu(Mj@j$@YD)+L0UX7p5cd!{{!)(^pr2es!$Ia?2B5?t{=> zv~OZKxIn=glNbF@^42E#My9D%ltuduZpL&VL0vh@n7vRPK+1bm#QnWfA z%oTs`na^9~>j*+`HF0Tq96zeg1AwvMt9Y4X|16NNHNRo!GkV%84^JQd-;ueCN)L3Q(#@S06T?*I|;>{ca&yZp0&gTG?g20Sz7haNk z+ey{}qLmNGS`k)|?`!N%#+|gPIXd8^kDK7Lalq(F(9}0QbMmjr27`7Q*z;#brIAce zHl2fOw{c&uB6$zJG|7r<)h;hzXTGm5qHn8%SDcH~aYpILeC(xQ=c zS6}v%{wBhTAbIi!nsC+&gx(?ueYLrWVhg|{IbA2v&fK>s3jl5(xo7Ct!glOzcS!ZC z89zrd%pq&5f92dZ?jm*Nm(Osi_zQLv;va53@cDU@8s_%+s_)sh;xB^P6U*})mkQT-kgnoN_m+{z?QH};s zJrn5jiFI%f4eO{0ESBdkJ5CQKN@z}`5eb-JCckXE8?;x?-DNjUhLBC9eN9F*bi7*# z;@Y5XMx?GJLW3BfTKOe2ckwP=qP>9T>Iz%3pWm2`Z*+?ZQj6-G`z(=hyE^IK@=HV`TW~5&Q9<0NdpPky{6Twx%=1R!MCd9_@ADBV z4UEWI=oWhAIdF@d3dXd!s&EKQG6Dh^xbe`olQ9RQ^ags zPErKDFnIgheDw)fOdIy^)y58ZeglqD1|scP!wj#Bd1&6nWIccqgPV|zN-N}5{gWLt z8ha;f2_NHK@V(sl5~TD~1D1c`PjkGi_i$ZQymV{khoY>GSaz5`aD*ji-7rB?}BlvTN-i zL5T~z5l!CR7fSk6Ck`JHB1q(q4nAjWfv*YbB;Jc#bR9=$DTr{sF9mG7b8J7gyu+Dc0>F<* zO;+G32|dx9TpT>Xw}1se1+)chH8?OnaO8%Y7mY3e?#LJ|)G>g-k#g?~#z#%tJMea( zIkF16r~XV#%xE~k2g>eY^-A5I4Sx=x9}dAS#^iEfSqIzakF2D_f3e$VPmp6uDhK*Wz3IHdWKi9 zP2icg7{`t8x6jZ2c42NC33fekc;$S|lk;H5h8*6B&jyWmQFloPrplhDUqQ~t2`M)V zWhgs}&W`A+p3@L@d0zEHGr_v$P3Gz6DD;y9&_*$vzZo4TIfgL=m&8xF^Ox;hGr9W> zh-B&_KAT=j3W7qReO1*my$wp9J?}AztIk#&U1m$F=sW>9y1|F`^r`%G%NniG2;#+P zB5E}q6%p$ej}$kwNCqg84p){e@>BVl-^<{$dV?&#SBnCQ!Wt7hc_n@$FRtwr6AzY> z87mr>^uwwwz5-dLjY`&|-?Fb})e^Qq(0JCQ=s7v!Wovi2 zYh!&P223i|e6XomKV^ za8EP{a)2zGzdDzdsorm5g#v+yD-}*HQtu{i_Aeyke>vIAQ@BiTL$dhKLt6O#{$OIR zZ>fD)?JH_kZm79&r3$ha`|Lz-ed+ + + + + + + + + + + + + + + + + + + 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
maxcapacityXXXmax capacity of battery
currentcapacityXXXcurrent capacity of battery
percentXXXXcharging level in percent
timeremainingXXminutes left (if discharging)
acconnectedXXXXAC connected
typeXXbattery type
modelXXmodel
manufacturerXXmanufacturer
serialXXbattery serial
+

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.

+ +
+
+
+
+
+ +
+ + + + + + diff --git a/docs/contributors.html b/docs/contributors.html new file mode 100644 index 0000000..87e955e --- /dev/null +++ b/docs/contributors.html @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + 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!

+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/copyright.html b/docs/copyright.html new file mode 100644 index 0000000..c700fc8 --- /dev/null +++ b/docs/copyright.html @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Copyright Information
+
© 2019 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.

+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/cpu.html b/docs/cpu.html new file mode 100644 index 0000000..a5a179b --- /dev/null +++ b/docs/cpu.html @@ -0,0 +1,469 @@ + + + + + + + + + + + + + + + + + + + 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'
coresXXXX# cores
physicalCoresXXXX# physical cores
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
si.cpuFlags(cb): stringXXXXCPU flags
si.cpuCache(cb){...}XXXXCPU cache sizes object
l1dXXXXL1D size
l1iXXXXL1I size
l2XXXXL2 size
l3XXXXL3 size
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)
si.cpuTemperature(cb){...}XXX*XCPU temperature (if supported)
mainXXXXmain temperature (avg)
coresXXXXarray of temperatures
maxXXXXmax temperature
+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/docker.html b/docs/docker.html new file mode 100644 index 0000000..9944c6c --- /dev/null +++ b/docs/docker.html @@ -0,0 +1,519 @@ + + + + + + + + + + + + + + + + + + + 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.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
[0].stateXXXXXcreated, running, exited
[0].portsXXXXXarray of ports
[0].mountsXXXXXarray of mounts
si.dockerContainerStats(id, cb){...}XXXXXstatistics for a specific container
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
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
+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/filesystem.html b/docs/filesystem.html new file mode 100644 index 0000000..c7b5527 --- /dev/null +++ b/docs/filesystem.html @@ -0,0 +1,665 @@ + + + + + + + + + + + + + + + + + + + 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].typeXXXHD, SSD
[0].nameXXXdisk name
[0].vendorXXvendor/producer
[0].firmwareRevisionXXXfirmware revision
[0].serialNumXXXserial number
[0].interfaceTypeX
[0].sizeXXXsize in bytes
[0].totalCylindersXtotal cylinders
[0].totalHeadsXtotal heads
[0].totalTracksXtotal tracks
[0].tracksPerCylinderXtracks per cylinder
[0].sectorsPerTrackXsectors per track
[0].totalSectorsXtotal sectors
[0].bytesPerSectorXbytes per sector
[0].smartStatusXXXS.M.A.R.T Status (see Known Issues)
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, ...)
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)
+

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
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)
+

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 network transfer values per second.

+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/general.html b/docs/general.html new file mode 100644 index 0000000..7f67dda --- /dev/null +++ b/docs/general.html @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
General
+
+

In this section you will learn how to get general systeminformation data. We will also cover the "get-all" functions to get all data at once.

+

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 gibe back system information library version and time/timezone information of your machine:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionResult objectLinuxBSDMacWinSunComments
si.version(): stringXXXXXlib version (no callback/promise)
si.time(){...}XXXXXobject (no callback/promise) with:
currentXXXXXlocal (server) time
uptimeXXXXXuptime
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 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
si.getAllData(srv,iface,cb){...}XXXXXall data at once
+

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.

+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/gettingstarted.html b/docs/gettingstarted.html new file mode 100644 index 0000000..2f626a6 --- /dev/null +++ b/docs/gettingstarted.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Quick Start
+
+

Lightweight collection of 35+ 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 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 is supposed to be used as a backend/server-side library (will definilely not work within a browser). 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) and some Windows 7, Windows 10, FreeBSD 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

+ + +

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, Awync 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)
+    }
+}

+ +
+
+
+
+
+ +
+ + + + + + diff --git a/docs/graphics.html b/docs/graphics.html new file mode 100644 index 0000000..ec08528 --- /dev/null +++ b/docs/graphics.html @@ -0,0 +1,279 @@ + + + + + + + + + + + + + + + + + + + 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
displays[]XXXmonitor/display Array
...[0].modelXXXmonitor/display Model
...[0].mainXXtrue if main monitor
...[0].builtinXXtrue if built in monitor
...[0].connectionXXe.g. DisplayPort or HDMI
...[0].sizexXXsize in mm horizontal
...[0].sizeyXXsize in mm vertical
...[0].pixeldepthXXXcolor depth in bits
...[0].resolutionxXXXpixel horizontal
...[0].resolutionyXXXpixel vertical
+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/history.html b/docs/history.html new file mode 100644 index 0000000..af69d19 --- /dev/null +++ b/docs/history.html @@ -0,0 +1,1076 @@ + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Version History
+
+

Major (breaking) Changes - Version 4

+
    +
  • ... will be released soon ...
  • +
+

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
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
+
+
+
+
+
+ +
+ + + + + + + diff --git a/docs/index.html b/docs/index.html index 6b77f22..aaa6e7c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,16 +1,194 @@ - + - - - - systeminformation + + + + + + + + + + systeminformation + + - -

systeminformation

-

Simple system and OS information library for node.js

+ +
+ +
systeminformation
+
Simple system and OS information library for node.js
+
Current Version: 4.0.0
+ +
+ +
+
+
+
Quick Start
+
Lightweight collection of 35+ functions to retrieve detailed hardware, system and OS information. For Linux, macOS, partial Windows, FreeBSD and SunOS support
+
+
+
+
+
+
+
+
+
+
7,676
+
Lines of code
+
+
+
...
+
Downloads last month
+
+
+
115
+
Dependends
+
+
+
+
+
+
+
+
+
+
Documentation
+
Detailed documentation and reference for Version 4.x.x
+
+
+ +
+
+
+
+
+
+
+
Issues
+
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


+
+
+
+ + + + + - \ No newline at end of file + diff --git a/docs/issues.html b/docs/issues.html new file mode 100644 index 0000000..aedc13c --- /dev/null +++ b/docs/issues.html @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + 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
+ +

Stats Functions

+

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

+ +

Finding New Issues

+

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

+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/main.js b/docs/main.js new file mode 100644 index 0000000..a504cce --- /dev/null +++ b/docs/main.js @@ -0,0 +1,57 @@ +function createMenu() { + var menu = [ + [0, '', 'Documentation'], + [1, 'gettingstarted', 'Getting Started'], + [1, 'general', 'General'], + [1, 'system', 'System'], + [1, 'cpu', 'CPU'], + [1, 'memory', 'Memory'], + [1, 'battery', 'Battery'], + [1, 'filesystem', 'Disks / FS'], + [1, 'graphics', 'Graphics'], + [1, 'os', 'OS'], + [1, 'network', 'Network'], + [1, 'processes', 'Processes / Services'], + [1, 'docker', 'Docker'], + [0, '', 'More'], + [1, 'history', 'Version history'], + [1, 'issues', 'Known Issues'], + [1, 'statsfunctions', 'Stats Functions'], + [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 ulElement; + var hrElement; + var liElement; + var aElement; + for (let item of menu) { + if (item[0] === 0) { + titleElement = document.createElement('div'); + titleElement.classList.add("title"); + titleElement.innerText = item[2]; + menuParent.appendChild(titleElement); + 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/memory.html b/docs/memory.html new file mode 100644 index 0000000..eb344bb --- /dev/null +++ b/docs/memory.html @@ -0,0 +1,329 @@ + + + + + + + + + + + + + + + + + + + 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
availableXXXXXpotentially available (total - active)
swaptotalXXXXX
swapusedXXXXX
swapfreeXXXXX
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
+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/network.html b/docs/network.html new file mode 100644 index 0000000..df10446 --- /dev/null +++ b/docs/network.html @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + + + + + + 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
[0].ifaceXXXXXinterface name
[0].ip4XXXXXip4 address
[0].ip6XXXXXip6 address
[0].macXXXXXMAC address
[0].internalXXXXXtrue if internal interface
si.networkInterfaceDefault(cb): stringXXXXXget name of default network interface
si.networkStats(iface,cb){...}XXXXcurrent network stats of given interface
iface parameter is optional
defaults to first external network interface
ifaceXXXXinterface
operstateXXXXup / down
rxXXXXreceived bytes overall
txXXXXtransferred bytes overall
rx_secXXXXreceived bytes / second (* see notes)
tx_secXXXXtransferred bytes per second (* see notes)
msXXXXinterval length (for per second values)
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, ...
+

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
si.inetLatency(host, cb): numberXXXXXresponse-time (ms) to external resource
host parameter is optional (default 8.8.8.8)
+

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.

+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/os.html b/docs/os.html new file mode 100644 index 0000000..b2772a7 --- /dev/null +++ b/docs/os.html @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + + 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', 'Windows'
distroXXXXX
releaseXXXXX
codenameX
kernelXXXXXkernel release - same as os.release()
archXXXXXsame as os.arch()
hostnameXXXXXsame as os.hostname()
codepageXXXXOS build version
logofileXXXXXe.g. 'apple', 'debian', 'fedora', ...
serialXXXOS/Host serial number
buildXXOS build version
si.uuid(cb){...}XXXXXobject of several UUIDs
osXXXXos specific UUID
si.shell(cb): stringXXXstandard shell
si.versions(cb){...}XXXXXversion information (kernel, ssl, node, ...)
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
+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/processes.html b/docs/processes.html new file mode 100644 index 0000000..f3329b1 --- /dev/null +++ b/docs/processes.html @@ -0,0 +1,579 @@ + + + + + + + + + + + + + + + + + + + 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
avgloadXXXXaverage 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
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
si.processLoad('apache2',cb){...}XXXXdetailed information about given process
procXXXXprocess name
pidXXXXPID
pidsXXXXadditional pids
cpuXXXXprocess % CPU
memXXXXprocess % MEM
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
+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/statsfunctions.html b/docs/statsfunctions.html new file mode 100644 index 0000000..5915f62 --- /dev/null +++ b/docs/statsfunctions.html @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + systeminformation + + + + + + +
+
+ +
+
+
+
Stats Functions
+
+

Getting correct stats values

+ +

In fsStats(), disksIO() 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.

+ +
+
+
+
+
+ +
+ + + + + + diff --git a/docs/styles.css b/docs/styles.css new file mode 100644 index 0000000..ce8c2e8 --- /dev/null +++ b/docs/styles.css @@ -0,0 +1,520 @@ +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; + -webkit-font-smoothing: antialiased; +} + +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; +} + +.bg-image-full { + background: no-repeat center center scroll; + background-size: cover; + -o-background-size: cover; + height: 280px; + opacity: 0.95; + filter: alpha(opacity=90); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; +} + +@media only screen and (min-width: 420px) { + .bg-image-full { + height: 360px; + } +} + +@media only screen and (min-width: 768px) { + .bg-image-full { + height: 400px; + } +} + +@media only screen and (min-width: 1024px) { + .bg-image-full { + height: 450px; + } +} + +@media only screen and (min-width: 1200px) { + .bg-image-full { + height: 550px; + } +} + +.bg-image-full .title { + color: #fff; + padding-top: 10px; + font-size: 1.8rem; +} + +@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.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: 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; + color: #fff; + font-size: .8rem; +} + +@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; + } +} + +.nav { + background: no-repeat center center scroll; + background-size: cover; + -o-background-size: cover; + height: 65px; + position: relative; +} + +.nav .logo { + width: 60px; + margin-top: 10px; +} + +.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; +} + +.features { + text-align: center; + padding: 15px 20px; + color: #333; +} + +.features:hover { + 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 .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 .text, .index .subtitle, .index .title, .index .title-small { + 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 { + text-align: left; +} + +.table { + text-align: left; +} + +ul { + text-align: left; +} + +.icons { + display: block; + font-size: 3rem; + color: #aaa; +} + +.icons:hover { + color: #567adf; +} + +@media only screen and (min-width: 420px) { + .icons { + font-size: 3.5rem; + } +} + +@media only screen and (min-width: 768px) { + .icons { + font-size: 4rem; + } +} + +@media only screen and (min-width: 1024px) { + .icons { + font-size: 5rem; + } +} + +.icontitle { + font-size: 1.2rem; +} + +.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 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; +} + +footer { + background-color: #eee; + margin-top: 30px; + padding-top: 30px; + padding-bottom: 30px; +} + +footer a { + color: #000; +} +/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/docs/styles.css.map b/docs/styles.css.map new file mode 100644 index 0000000..a2edb31 --- /dev/null +++ b/docs/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/styles.scss b/docs/styles.scss new file mode 100644 index 0000000..55be523 --- /dev/null +++ b/docs/styles.scss @@ -0,0 +1,357 @@ +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; + -webkit-font-smoothing: antialiased; +} +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; +} +.bg-image-full { + background: no-repeat center center scroll; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + height: 280px; + opacity: 0.95; + filter: alpha(opacity=90); + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + @media only screen and (min-width: 420px) { + height: 360px; + } + @media only screen and (min-width: 768px) { + height: 400px; + } + @media only screen and (min-width: 1024px) { + height: 450px; + } + @media only screen and (min-width: 1200px) { + height: 550px; + } + .title { + color: #fff; + padding-top: 10px; + font-size: 1.8rem; + @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.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: 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; + color: #fff; + font-size: .8rem; + @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; + } + } +} + +.nav { + background: no-repeat center center scroll; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + height: 65px; + position: relative; + .logo { + width: 60px; + margin-top: 10px; + } + .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; + } + } + } +} +.features { + text-align: center; + padding: 15px 20px; + color: #333; + &:hover { + 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; + } + } + .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 { + .text, .subtitle, .title, .title-small { + text-align: center; + } + a { + text-decoration: none; + &:hover { + text-decoration: none; + color: rgb(86, 122, 223); + } + } +} +.left { + .text, .subtitle, .title, .title-small { + text-align: left; + } +} +.table { + text-align: left; +} +ul { + text-align: left; +} +.icons { + display: block; + font-size: 3rem; + color: #aaa; + &:hover { + color: rgb(86, 122, 223); + } + @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; + // color: #000; +} +.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; + } + 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; +} +footer { + background-color: #eee; + margin-top: 30px; + padding-top: 30px; + padding-bottom: 30px; + a { + color: #000; + } +} \ No newline at end of file diff --git a/docs/system.html b/docs/system.html new file mode 100644 index 0000000..996afc8 --- /dev/null +++ b/docs/system.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + + 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
skuXXXSKU number
si.bios(cb){...}XXXXhardware information
vendorXXXXe.g. 'AMI'
versionXXXversion
releaseDateXXXrelease date
revisionXXXrevision
si.baseboard(cb){...}XXXXhardware information
manufacturerXXXXe.g. 'ASUS'
modelXXXXmodel / product name
versionXXXXversion
serialXXXXserial number
assetTagXXXXasset tag
+
+
+
+
+
+ +
+ + + + + + diff --git a/docs/trademarks.html b/docs/trademarks.html new file mode 100644 index 0000000..0d53447 --- /dev/null +++ b/docs/trademarks.html @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + 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.
  • +
  • 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
  • +
  • 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
  • +
  • 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.
  • +
+

All other trademarks are the property of their respective owners.

+
+
+
+
+
+ +
+ + + + + + diff --git a/lib/battery.js b/lib/battery.js index 2a8a583..758bda4 100644 --- a/lib/battery.js +++ b/lib/battery.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/cpu.js b/lib/cpu.js index f48e0e5..eb473d9 100644 --- a/lib/cpu.js +++ b/lib/cpu.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/docker.js b/lib/docker.js index d00e78f..4556553 100644 --- a/lib/docker.js +++ b/lib/docker.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/dockerSocket.js b/lib/dockerSocket.js index 12e0ac2..4718d44 100644 --- a/lib/dockerSocket.js +++ b/lib/dockerSocket.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/filesystem.js b/lib/filesystem.js index 5a3ad8e..6fb7eee 100644 --- a/lib/filesystem.js +++ b/lib/filesystem.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/graphics.js b/lib/graphics.js index dc0810d..c72056c 100644 --- a/lib/graphics.js +++ b/lib/graphics.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/index.js b/lib/index.js index 75a1e2e..4939af0 100644 --- a/lib/index.js +++ b/lib/index.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // Contributors: Guillaume Legrain (https://github.com/glegrain) diff --git a/lib/internet.js b/lib/internet.js index dd96007..51b7b76 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/memory.js b/lib/memory.js index 7171669..d34ee1f 100644 --- a/lib/memory.js +++ b/lib/memory.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/network.js b/lib/network.js index cd2e993..00d1deb 100644 --- a/lib/network.js +++ b/lib/network.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT @@ -368,7 +368,7 @@ function networkInterfaces(callback) { type = detail.type; } }); - if (iface.toLowerCase().indexOf('wlan') >= 0 || ifaceName.toLowerCase().indexOf('wlan') >= 0 || ifaceName.toLowerCase().indexOf('wireless') >= 0) { + if (dev.toLowerCase().indexOf('wlan') >= 0 || ifaceName.toLowerCase().indexOf('wlan') >= 0 || ifaceName.toLowerCase().indexOf('wireless') >= 0) { type = 'wireless'; } } diff --git a/lib/osinfo.js b/lib/osinfo.js index 3074171..0d91667 100644 --- a/lib/osinfo.js +++ b/lib/osinfo.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/processes.js b/lib/processes.js index 8ff59f3..01817a3 100644 --- a/lib/processes.js +++ b/lib/processes.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/system.js b/lib/system.js index c91b8f4..d03b7fc 100644 --- a/lib/system.js +++ b/lib/system.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/users.js b/lib/users.js index 7302c39..9593c8f 100644 --- a/lib/users.js +++ b/lib/users.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT diff --git a/lib/util.js b/lib/util.js index ccc0205..489a684 100644 --- a/lib/util.js +++ b/lib/util.js @@ -4,7 +4,7 @@ // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js -// Copyright: (c) 2014 - 2018 +// Copyright: (c) 2014 - 2019 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT