______ __
/\__ _\ /\ \
\/_/\ \/ _____ ____ ____ ____ ____ ___ ____ \_\ \
\ \ \ /\ __ \ / __ \ / ___\ / __ \ / __ __ \ / __ \ / __ \
\_\ \__\ \ \/\ \/\ \/\ \_/\ \__//\ \/\ \_/\ \/\ \/\ \/\ \/\ \/\ \/\ \
/\_____\\ \ __/\ \__/ \_\ \____\ \__/ \_\ \_\ \_\ \_\ \____/\ \_____\
\/_____/ \ \ \/ \/__/\/_/\/____/\/__/\/_/\/_/\/_/\/_/\/___/ \/____ /
\ \_\
\/_/ IpacPanel 这里是 IpacEL 服务器使用的终端程序管理面板, 用于实现特殊需求和解决现有面板软件的不足.
暂不推荐将此面板用于生产环境.
链接
- 用户文档: ./doc/user_docs
- 交流群和技术支持:
QQ: 185-979-632
一个轻量好用且专业的终端程序管理面板.
[+] 高可用
- 弱网环境下流畅操作
- 更新面板无需停止实例
- 原子文件操作
- 完善的进度跟踪和错误显示
- 文件分块上传/多线程上传/错误恢复/文件夹上传
- 专用实例更新功能
[+] 高性能
- 空载内存占用最低 15MB
- 原生开发, 减少中间层
- 集成仿真终端, 降低资源消耗
[-] 不会支持
- 容器: 您可以通过命令启动容器, 但面板本身不会添加与容器相关的功能
- 应用商店: 您需要自行管理应用程序的文件
- 实例更新
- 实例无终端运行
- 实例严格重启
- 实例清理命令
- 实例访问链接
- 文件夹上传
- 面板不停机更新
- 高级文本编辑器
- 仪表板
截图
- 用户文档
- 数据库编辑器
- [ ]
.
├── build.go # 构建和打包脚本
├── go.mod / go.sum
│
├── controller/ # 管理进程
│ ├── main.go # 管理进程入口
│ ├── src/
│ │ ├── config/ # 配置
│ │ ├── process/ # 实例管理
│ │ ├── web/ # Web 服务
│ │ │ └── api/ # Web API / WebSocket
│ │ ├── compat/ # 跨平台兼容工具
│ │ ├── atomicfile/ # 原子文件写入工具
│ │ └── msg/ # 消息定义
│ │
│ └── public/ # Web 前端静态资源
│ ├── index.html # 前端入口
│ ├── lib/ # 前端第三方库
│ └── src/
│ ├── api/ # 前端 API 封装
│ ├── page/ # 页面代码
│ ├── module/ # 模块化代码: 终端/文件管理/弹窗/用户管理等
│ ├── platform/ #
│ └── utils/ # 工具/图标/枚举
│
├── daemon/ # 守护进程
│ ├── main.go # 守护进程入口
│ ├── server.go # 守护进程服务主流程
│ ├── controller.go # 管理进程管理
│ ├── instance.go # 实例生命周期管理
│ ├── protocol.go # stdio 通讯协议
│ ├── terminal/ # PTY/ConPTY 终端封装
│ └── compat/ # 跨平台兼容工具
│
├── dev/ # 开发和测试工具
├── tester/ # 自动化测试程序
└── doc/ # 部分设计文档
└── user_docs/ # 用户文档
由于项目初期有大量设计描述没有形成文档, 因此当前设计文档并不完善.
git clone https://github.com/ApliNi/IpacPanel.git
cd IpacPanel
go run ./build.go构建产物存放在 ./build 目录.
其他构建参数请查看 ./build.go 文件.
前端
- 原生前端
- 网页终端: xterm.js
- 文本编辑器: Monaco-Editor
- 图表库: uPlot
- 中文等宽字体: JetBrainsMapleMono-Medium
- 英文等宽字体: JetBrainsMono-Regular
- 矢量图标: Lucide
- 图像/图标: IpacEL
管理进程
- Golang, 及其标准库
- WebSocket:
github.com/gorilla/websocket - 定时任务调度:
github.com/reugn/go-quartz/quartz - 系统指标采集:
github.com/shirou/gopsutil/v4/ - SQLite 数据库:
modernc.org/sqlite - 文件解压:
github.com/mholt/archives - 压缩算法:
github.com/klauspost/compress
守护进程
- Golang, 及其标准库
- Unix 终端:
github.com/creack/pty - Windows 终端:
github.com/UserExistsError/conpty - Shell 命令解析:
github.com/kballard/go-shellquote
参考项目
- 一个游戏服务器管理面板: MCSManager
通常您可以直接通过 Issues 报告错误, 但如果发现严重漏洞, 请通过邮件与我联系: aplini@ipacel.cc.



