介绍
EasyNode 是一个在 Web 端使用的多功能服务器管理面板,提供 WebSSH 和 WebSFTP 等功能,
还有脚本库、批量操作、凭据管理、批量指令等快捷工具,助力更加方便的管理服务器。
GitHub 地址:chaos-zhu/easynode,项目使用 MIT 许可协议。
IMPORTANT
由于此文档是非官方的,因此不敢保证时效性和准确性,敬请谅解。
主要功能
- 服务器管理:支持 SSH 连接和服务器监控探针
- 终端模拟:Web 版本的终端界面
- 脚本管理:支持脚本的创建、编辑和执行
- 文件传输:基于 SFTP 的文件管理
- 批量指令:支持多台服务器一键下达指令
- AI 聊天:终端操作集成 AI 对话
跨平台支持
- 支持主流浏览器
- 支持移动端适配
- 使用媒体查询和弹性布局
- 响应式菜单和界面
- 支持 Docker 部署、Node.js 直接部署
页面预览
技术架构
前端
- 框架: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.js
、server.js
:初始化和启动服务db.js
:数据库连接和初始化
常见问题解答请参见常见问题章节。