/easynode

一个简易的个人Linux服务器管理面板(探针+webssh终端)[👇订阅更新]

Primary LanguageJavaScriptMIT LicenseMIT

EasyNode

一个简易的个人Linux服务器管理面板(基于Node.js)

功能简介

多服务器管理; 通过websocker实时更新服务器基本信息: 系统、公网IP、CPU、内存、硬盘、网卡

服务器列表

基于浏览器解决SSH跨端同步问题——Web SSH

webssh功能

安装指南

服务端安装

  • 依赖Node.js环境

  • 占用端口:8082(http端口)、8083(https端口)、22022(客户端端口)

  • 建议使用境外服务器(最好延迟低)安装服务端,客户端信息监控与webssh功能都将以该服务器作为跳板机

  • https服务需自行配置证书,或者使用nginx反代解决(推荐)

Docker镜像

注意:网速统计功能可能受限,docker网络将使用host模式(与宿主机共享端口,占用: 8082、22022)

docker run -d --net=host -v /easynode-server:/easynode-server/server/app/config/storage chaoszhu/easynode:v1.1

访问:http://yourip:8082

一键脚本

  • 依赖Linux基础命令:curl wget git zip tar;如未安装请先安装:

ubuntu/debian: apt install curl wget git zip tar -y

centos: yum install curl wget git zip tar -y

wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/v1.1/easynode-server-install.sh | bash

访问:http://yourip:8082

  • 查看日志:pm2 log easynode-server
  • 启动服务:pm2 start easynode-server
  • 停止服务:pm2 stop easynode-server
  • 停止服务:pm2 delete easynode-server

手动部署

  1. 安装Node.js
  2. 安装pm2、安装yarn
  3. 拉取代码:git clone https://github.com/chaos-zhu/easynode.git
  4. cd server目录
  5. 安装依赖:yarn
  6. 启动服务:pm2 start server/app/main.js --name easynode-server
  7. 访问:http://yourip:8082
  • 默认登录密码:admin(首次部署完成后请及时修改).
  1. 部署https服务
  • 部署https服务需要自己上传域名证书至\server\app\config\pem,并且证书和私钥分别命名:key.pemcert.pem
  • 配置域名:vim server/app/config/index.js 在domain字段中填写你解析到服务器的域名
  • pm2 restart easynode-server
  • 不出意外你就可以访问https服务:https://domain:8083

客户端安装

  • 占用端口:22022

X86架构

wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/v1.1/easynode-client-install-x86.sh | bash

ARM架构

wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/v1.1/easynode-client-install-arm.sh | bash

卸载

wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/chaos-zhu/easynode/v1.1/easynode-client-uninstall.sh | bash

查看客户端状态:systemctl status easynode-client

查看客户端日志: journalctl --follow -u easynode-client

查看详细日志:journalctl -xe


升级指南

  • v1.0 to v1.1

服务端

v1.1对所有的敏感信息全部加密,所有的v1.0为加密的信息全部失效. 主要影响已存储的ssh密钥.

还原客户端列表: 先备份app\config\storage\host-list.json, 使用一键脚本或者手动部署的同志安装好使用备份文件覆盖此文件即可。

使用docker镜像的v1.0一键脚本未做文件夹映射,有能力的自己从镜像里把备份抠出来再重新构建镜像.

客户端

v1.1未对客户端包进行改动,客户端无需重复安装. 不会备份的在面板重新添加客户端机器即可.

版本日志

安全与说明

本人非专业后端,此服务全凭兴趣开发. 由于知识受限,并不能保证没有漏洞的存在,生产服务器请慎重使用此服务.

所有服务器信息相关接口已做jwt鉴权, 安全信息均使用加密传输与储存!

webssh功能需要的密钥信息全部保存在服务端服务器的app\config\storage\ssh-record.json中. 在保存ssh密钥信息到服务器储存与传输过程皆已加密,不放心最好套https使用

Q&A

感谢Star

Stargazers repo roster for @chaos-zhu/easynode

License

MIT. Copyright (c).