84 lines
1.5 KiB
JavaScript
84 lines
1.5 KiB
JavaScript
const osu = require('node-os-utils')
|
|
const os = require('os')
|
|
|
|
let cpu = osu.cpu
|
|
let mem = osu.mem
|
|
let drive = osu.drive
|
|
let netstat = osu.netstat
|
|
let osuOs = osu.os
|
|
let users = osu.users
|
|
|
|
async function cpuInfo() {
|
|
let cpuUsage = await cpu.usage(200)
|
|
let cpuCount = cpu.count()
|
|
let cpuModel = cpu.model()
|
|
return {
|
|
cpuUsage,
|
|
cpuCount,
|
|
cpuModel
|
|
}
|
|
}
|
|
|
|
async function memInfo() {
|
|
let memInfo = await mem.info()
|
|
return {
|
|
...memInfo
|
|
}
|
|
}
|
|
|
|
async function driveInfo() {
|
|
let driveInfo = {}
|
|
try {
|
|
driveInfo = await drive.info()
|
|
} catch {
|
|
// console.log(driveInfo)
|
|
}
|
|
return driveInfo
|
|
}
|
|
|
|
async function netstatInfo() {
|
|
let netstatInfo = await netstat.inOut()
|
|
return netstatInfo === 'not supported' ? {} : netstatInfo
|
|
}
|
|
|
|
async function osInfo() {
|
|
let type = os.type()
|
|
let platform = os.platform()
|
|
let release = os.release()
|
|
let uptime = osuOs.uptime()
|
|
let ip = osuOs.ip()
|
|
let hostname = osuOs.hostname()
|
|
let arch = osuOs.arch()
|
|
return {
|
|
type,
|
|
platform,
|
|
release,
|
|
ip,
|
|
hostname,
|
|
arch,
|
|
uptime
|
|
}
|
|
}
|
|
|
|
async function openedCount() {
|
|
let openedCount = await users.openedCount()
|
|
return openedCount === 'not supported' ? 0 : openedCount
|
|
}
|
|
|
|
module.exports = async () => {
|
|
let data = {}
|
|
try {
|
|
data = {
|
|
cpuInfo: await cpuInfo(),
|
|
memInfo: await memInfo(),
|
|
driveInfo: await driveInfo(),
|
|
netstatInfo: await netstatInfo(),
|
|
osInfo: await osInfo(),
|
|
openedCount: await openedCount()
|
|
}
|
|
return data
|
|
} catch(err){
|
|
return err.toString()
|
|
}
|
|
}
|