Skip to content

ApliNi/IpacPanel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IpacPanel

 ______                                                            __     
/\__  _\                                                          /\ \    
\/_/\ \/    _____     ____     ____   ____    ____ ___     ____   \_\ \   
   \ \ \   /\  __ \  / __ \   / ___\ / __ \  /  __  __ \  / __ \  / __ \  
    \_\ \__\ \ \/\ \/\ \/\ \_/\ \__//\ \/\ \_/\ \/\ \/\ \/\ \/\ \/\ \/\ \ 
    /\_____\\ \  __/\ \__/ \_\ \____\ \__/ \_\ \_\ \_\ \_\ \____/\ \_____\
    \/_____/ \ \ \/  \/__/\/_/\/____/\/__/\/_/\/_/\/_/\/_/\/___/  \/____ /
              \ \_\                                                       
               \/_/                   IpacPanel                           

这里是 IpacEL 服务器使用的终端程序管理面板, 用于实现特殊需求和解决现有面板软件的不足.

暂不推荐将此面板用于生产环境.

链接

设计目标

一个轻量好用且专业的终端程序管理面板.

[+] 高可用

  • 弱网环境下流畅操作
  • 更新面板无需停止实例
  • 原子文件操作
  • 完善的进度跟踪和错误显示
  • 文件分块上传/多线程上传/错误恢复/文件夹上传
  • 专用实例更新功能

[+] 高性能

  • 空载内存占用最低 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 文件.

直接依赖

前端

管理进程

守护进程

参考项目

错误报告

通常您可以直接通过 Issues 报告错误, 但如果发现严重漏洞, 请通过邮件与我联系: aplini@ipacel.cc.

About

一个轻量好用且专业的终端程序管理面板

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors