(ps:打个包贼拉麻烦,ai帮忙写了贼多代码)
源码
[starsnode]是一个系统状态监控软件。
展示的信息包括:cpu、内存、硬盘、网速、网卡等信息。
c++编写的原生客户端和qt客户端
软件小,依赖少,编译十分简单,同时提供编译好的客户端
nodejs客户端几乎适配所有主流系统,win、linux、macos。
如要求性能,也可使用qt客户端,同样支持跨平台
本库的js服务端参考了该项目:https://github.com/chaos-zhu/easynode,感谢原作者。


由1个服务端+n个客户端+web展示页面组成。三个部分每部分都可以单独部署,通过websocket进行数据传输。
各客户端首先将信息通过ws上报给服务端,服务端进行汇总。用户可以通过web页面查看到汇总后数据。
选择js客户端,兼容性好,bug少,稳定性强。
win平台,使用qt客户端。
linux平台,如果内核版本比较新,比如ubuntu22以上,建议使用qt客户端。
如果是历史平台,比如centos系列,建议使用linux客户端,缺点是稳定性可能稍差。
macos,理论上也可以使用linux客户端,但是编译是个问题
win10以及win11实测,只占用2m左右的内存,百分之0.几的cpu


在ubuntu和armbian均进行过测试,约占用14m左右的内存,百分之0.几的cpu。



服务端的配置文件在 server/config.js,只需要设置port和token即可。
nodejs客户端的配置文件,在其目录下的config.js 中,需要设置服务端地址(serverHost),端口(port),token。
endpointName可省略,这是用于给客户端命名的。
qt和c++客户端配置文件,在各自目录下的 config.json 文件中,需要设置服务端地址(server),端口(port),token。
使用时,只需要把这个config.json,放在可执行文件的旁边即可。
web端的配置写到了 simple-list.html中的625行:
const ws = new WebSocket("ws://服务端地址:服务器端口?token=你的token&type=view&endpointName=web");
你可以选择部署到nginx中,也可以直接双击simple-list.html 在本地打开,如果你能直接访问服务端的话
# 需要安装 nodejs16 及以上
# 下载release文件中的server并解压
cd server
npm install
#直接启动
node app/server.js
#或使用pm2启动,需要提前安装pm2,win平台似乎是不支持pm2的
#pm2 start app/server.js --name starsnode
# 需要安装 nodejs16 及以上
# 下载release文件中js-client并解压
cd js-client
npm install
#直接启动
node app/client.js
#或使用pm2启动,需要提前安装pm2,win平台似乎是不支持pm2的
#pm2 start app/client.js --name starsnode
下载release文件,直接双击exe启动即可,启动后窗口会关闭,并在后台运行
下载release文件(如果我打包了的话)
chmod 755 ./qt-websocket
./qt-websocket
直接下载解压并执行即可(如果我提供了的话)
灰常简单。
gcc >= 5.4
c++ >= 14
cmake >= 3.0
# 安装常见开发环境
sudo apt-get install build-essential libgl1-mesa-dev
# 安装cmake
sudo apt install cmake
# 安装libcurl
sudo apt-get install libcurl4-openssl-dev
# 安装openssl开发工具
sudo apt-get install libssl-dev
# 下载源码并解压
git clone https://github.com/cctyl/starsnode.git
cd starsnode/client/linux-client
#开始编译
mkdir build
cd build
cmake ..
make
#执行
./qt-websocket






















