Skip to content

介绍

EasyNode 是一个在 Web 端使用的多功能服务器管理面板,提供 WebSSH 和 WebSFTP 等功能,
还有脚本库、批量操作、凭据管理、批量指令等快捷工具,助力更加方便的管理服务器。

GitHub 地址:chaos-zhu/easynode,项目使用 MIT 许可协议。

IMPORTANT

由于此文档是非官方的,因此不敢保证时效性和准确性,敬请谅解。

主要功能

  • 服务器管理:支持 SSH 连接和服务器监控探针
  • 终端模拟:Web 版本的终端界面
  • 脚本管理:支持脚本的创建、编辑和执行
  • 文件传输:基于 SFTP 的文件管理
  • 批量指令:支持多台服务器一键下达指令
  • AI 聊天:终端操作集成 AI 对话

跨平台支持

  • 支持主流浏览器
  • 支持移动端适配
  • 使用媒体查询和弹性布局
  • 响应式菜单和界面
  • 支持 Docker 部署、Node.js 直接部署

页面预览

点击展开

实例配置

EasyNode 实例配置页面演示图

连接终端

EasyNode 连接终端页面演示图

脚本库

EasyNode 脚本库页面演示图

AI 对话

EasyNode AI 对话功能演示图

技术架构

前端

  • 框架:Vue 3
  • 开发语言:JavaScript(ES6+)
  • 构建工具:Vite

主要组件库

  • Element Plus:主要的 UI 组件库

    • 提供表格、表单、按钮、对话框等组件
  • Ant Design X Vue:专门用于 AI 聊天功能

    • 用于实现 AI 对话界面

主要工具库

  • 日期处理:Day.js

  • 图标系统:

    • Element Plus 图标
    • 阿里巴巴矢量图标库 (iconfont)

网络请求与实时通信

  • HTTP 请求:Axios

  • 实时通信:Socket.io

    • WebSocket 用于实时连接

后端

  • 框架:Koa
  • 开发语言:Node.js

主要工具库

  • dotenv:从 .env 文件加载环境变量。
  • fs-extra:扩展的文件系统操作工具。
  • iconv-lite:字符编码转换(如 GBK 到 UTF-8)。
  • axios:用于发起 HTTP 请求的客户端库。
  • consola:更优雅的日志工具。

安全与认证

  • jsonwebtoken:生成和验证 JWT 令牌。
  • rypto-js:提供加密、解密功能。

数据库

  • @seald-io/nedb:轻量级嵌入式数据库。

项目结构

  • config/

    • index.js: 配置入口
    • shell.json: 脚本库内置脚本
  • controller/:具体功能控制和实现

  • middlewares/:中间件集合

  • router/:统一注册路由

  • socket/:Socket.io 通信

  • schedule/:计划安排

  • utils/:通用工具类

  • template/:HTML 模板

  • main.jsserver.js:初始化和启动服务

  • db.js:数据库连接和初始化


常见问题解答请参见常见问题章节。

本文档由社区用户整理,内容仅供学习与参考,网站图标来自 EasyNode 项目(© chaos-zhu)