PATH:
usr
/
local
/
lib
/
node_modules
/
pm2
/
node_modules
/
systeminformation
/
lib
'use strict'; // @ts-check // ================================================================================== // dockerSockets.js // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js // Copyright: (c) 2014 - 2020 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT // ================================================================================== // 13. DockerSockets // ---------------------------------------------------------------------------------- const net = require('net'); const isWin = require('os').type() === 'Windows_NT'; const socketPath = isWin ? '//./pipe/docker_engine' : '/var/run/docker.sock'; class DockerSocket { getInfo(callback) { try { let socket = net.createConnection({ path: socketPath }); let alldata = ''; let data; socket.on('connect', () => { socket.write('GET http:/info HTTP/1.0\r\n\r\n'); }); socket.on('data', data => { alldata = alldata + data.toString(); }); socket.on('error', () => { socket = false; callback({}); }); socket.on('end', () => { let startbody = alldata.indexOf('\r\n\r\n'); alldata = alldata.substring(startbody + 4); socket = false; try { data = JSON.parse(alldata); callback(data); } catch (err) { callback({}); } }); } catch (err) { callback({}); } } listContainers(all, callback) { try { let socket = net.createConnection({ path: socketPath }); let alldata = ''; let data; socket.on('connect', () => { socket.write('GET http:/containers/json' + (all ? '?all=1' : '') + ' HTTP/1.0\r\n\r\n'); }); socket.on('data', data => { alldata = alldata + data.toString(); }); socket.on('error', () => { socket = false; callback({}); }); socket.on('end', () => { let startbody = alldata.indexOf('\r\n\r\n'); alldata = alldata.substring(startbody + 4); socket = false; try { data = JSON.parse(alldata); callback(data); } catch (err) { callback({}); } }); } catch (err) { callback({}); } } getStats(id, callback) { id = id || ''; if (id) { try { let socket = net.createConnection({ path: socketPath }); let alldata = ''; let data; socket.on('connect', () => { socket.write('GET http:/containers/' + id + '/stats?stream=0 HTTP/1.0\r\n\r\n'); }); socket.on('data', data => { alldata = alldata + data.toString(); }); socket.on('error', () => { socket = false; callback({}); }); socket.on('end', () => { let startbody = alldata.indexOf('\r\n\r\n'); alldata = alldata.substring(startbody + 4); socket = false; try { data = JSON.parse(alldata); callback(data); } catch (err) { callback({}); } }); } catch (err) { callback({}); } } else { callback({}); } } getInspect(id, callback) { id = id || ''; if (id) { try { let socket = net.createConnection({ path: socketPath }); let alldata = ''; let data; socket.on('connect', () => { socket.write('GET http:/containers/' + id + '/json?stream=0 HTTP/1.0\r\n\r\n'); }); socket.on('data', data => { alldata = alldata + data.toString(); }); socket.on('error', () => { socket = false; callback({}); }); socket.on('end', () => { let startbody = alldata.indexOf('\r\n\r\n'); alldata = alldata.substring(startbody + 4); socket = false; try { data = JSON.parse(alldata); callback(data); } catch (err) { callback({}); } }); } catch (err) { callback({}); } } else { callback({}); } } getProcesses(id, callback) { id = id || ''; if (id) { try { let socket = net.createConnection({ path: socketPath }); let alldata = ''; let data; socket.on('connect', () => { socket.write('GET http:/containers/' + id + '/top?ps_args=-opid,ppid,pgid,vsz,time,etime,nice,ruser,user,rgroup,group,stat,rss,args HTTP/1.0\r\n\r\n'); }); socket.on('data', data => { alldata = alldata + data.toString(); }); socket.on('error', () => { socket = false; callback({}); }); socket.on('end', () => { let startbody = alldata.indexOf('\r\n\r\n'); alldata = alldata.substring(startbody + 4); socket = false; try { data = JSON.parse(alldata); callback(data); } catch (err) { callback({}); } }); } catch (err) { callback({}); } } else { callback({}); } } } module.exports = DockerSocket;
[-] dockerSocket.js
[edit]
[-] network.js
[edit]
[-] battery.js
[edit]
[+]
..
[-] filesystem.js
[edit]
[-] index.d.ts
[edit]
[-] processes.js
[edit]
[-] virtualbox.js
[edit]
[-] memory.js
[edit]
[-] docker.js
[edit]
[-] cpu.js
[edit]
[-] users.js
[edit]
[-] index.js
[edit]
[-] internet.js
[edit]
[-] util.js
[edit]
[-] system.js
[edit]
[-] graphics.js
[edit]
[-] osinfo.js
[edit]
[-] cli.js
[edit]
[-] wifi.js
[edit]