├── .gitattributes ├── screenshots ├── 1.jpg ├── 2.jpg ├── 3.jpg └── 4.jpg ├── LICENSE ├── README.md └── index.html.tpl /.gitattributes: -------------------------------------------------------------------------------- 1 | *.html.tpl linguist-language=HTML 2 | -------------------------------------------------------------------------------- /screenshots/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanxi/pve-touch/HEAD/screenshots/1.jpg -------------------------------------------------------------------------------- /screenshots/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanxi/pve-touch/HEAD/screenshots/2.jpg -------------------------------------------------------------------------------- /screenshots/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanxi/pve-touch/HEAD/screenshots/3.jpg -------------------------------------------------------------------------------- /screenshots/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hanxi/pve-touch/HEAD/screenshots/4.jpg -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 PVE Touch 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PVE Touch - Proxmox VE 移动端管理界面 2 | 3 | 一个专为移动设备优化的 Proxmox Virtual Environment (PVE) 管理界面,提供简洁友好的触控体验。 4 | 5 | ## ✨ 特性 6 | 7 | - 📱 **移动优先设计** - 专为触摸屏设备优化的响应式界面 8 | - 🎨 **现代化 UI** - 基于 Tailwind CSS 和 DaisyUI 的精美界面 9 | - ⚡ **轻量快速** - 使用 Vue 3 构建,性能出色 10 | - 🔐 **安全认证** - 支持 PAM 和 PVE 认证域 11 | - 📊 **实时监控** - CPU、内存、磁盘和网络 I/O 实时监控 12 | - ⚙️ **硬件管理** - 添加、编辑和删除虚拟机硬件配置 13 | - 🔄 **虚拟机控制** - 启动、停止、重启虚拟机 14 | 15 | ## 📸 界面预览 16 | 17 |
18 | 19 | 20 | 21 | 25 | 29 | 30 | 31 | 35 | 39 | 40 |
22 | 登录界面
23 | 登录界面 24 |
26 | 虚拟机列表
27 | 虚拟机列表 28 |
32 | 实时监控
33 | 实时监控 34 |
36 | 硬件配置
37 | 硬件配置 38 |
41 | 42 |
43 | 44 | ## 🚀 功能 45 | 46 | ### 虚拟机管理 47 | - 查看虚拟机列表及状态 48 | - 启动/停止/重启虚拟机 49 | - 查看虚拟机详细信息 50 | 51 | ### 实时监控 52 | - CPU 使用率监控 53 | - 内存使用情况 54 | - 磁盘 I/O 统计 55 | - 网络流量监控 56 | - 自动刷新(5秒间隔) 57 | 58 | ### 硬件配置 59 | - 处理器配置(核心数、插槽数、CPU 类型) 60 | - 内存配置 61 | - 磁盘管理 62 | - 网络设备管理 63 | - USB 设备直通 64 | - PCI 设备直通 65 | 66 | ## 📦 安装 67 | 68 | 1. 将 `index.html.tpl` 文件上传到 PVE 服务器 69 | 70 | 2. 替换 PVE 的默认移动端页面: 71 | ```bash 72 | # 备份原文件 73 | cp /usr/share/pve-manager/touch/index.html.tpl /usr/share/pve-manager/touch/index.html.tpl.backup 74 | 75 | # 复制新文件 76 | cp index.html.tpl /usr/share/pve-manager/touch/index.html.tpl 77 | ``` 78 | 79 | 3. 刷新浏览器即可看到新界面(无需重启服务) 80 | 81 | ## 🔧 使用方法 82 | 83 | 1. 使用移动设备浏览器访问你的 PVE 服务器地址 84 | 2. 使用 PVE 账号登录(支持 Linux PAM 和 Proxmox VE 认证域) 85 | 3. 选择需要管理的虚拟机 86 | 4. 进行监控或配置管理操作 87 | 88 | ## 🛠️ 技术栈 89 | 90 | - **Vue 3** - 渐进式 JavaScript 框架 91 | - **Tailwind CSS** - 实用优先的 CSS 框架 92 | - **DaisyUI** - Tailwind CSS 组件库 93 | - **Proxmox VE API** - PVE REST API 94 | 95 | ## 📋 系统要求 96 | 97 | - Proxmox VE 7.0 或更高版本 98 | - 现代浏览器(支持 ES6+) 99 | - 移动设备或支持触控的设备(推荐) 100 | 101 | ## ⚠️ 注意事项 102 | 103 | - 本项目仅替换移动端界面,不影响桌面端管理界面 104 | - 确保在操作前备份原始文件 105 | - 某些高级功能可能需要管理员权限 106 | - USB 和 PCI 设备直通需要在 PVE 主机上正确配置硬件 107 | 108 | ## 🔄 恢复原始界面 109 | 110 | 如需恢复 PVE 原始移动端界面: 111 | 112 | ```bash 113 | # 恢复备份文件 114 | cp /usr/share/pve-manager/touch/index.html.tpl.backup /usr/share/pve-manager/touch/index.html.tpl 115 | ``` 116 | 117 | 然后刷新浏览器即可 118 | 119 | ## 🤝 贡献 120 | 121 | 欢迎提交 Issue 和 Pull Request! 122 | 123 | ## 📄 许可证 124 | 125 | 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 126 | 127 | ## 🙏 致谢 128 | 129 | - [Proxmox VE](https://www.proxmox.com/) - 虚拟化管理平台 130 | - [Vue.js](https://vuejs.org/) - 渐进式 JavaScript 框架 131 | - [Tailwind CSS](https://tailwindcss.com/) - CSS 框架 132 | - [DaisyUI](https://daisyui.com/) - Tailwind 组件库 133 | 134 | ## 📧 联系方式 135 | 136 | 如有问题或建议,欢迎通过 Issue 反馈。 137 | -------------------------------------------------------------------------------- /index.html.tpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | [% nodename %] - Proxmox Virtual Environment 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 67 | 68 | 69 |
70 | 71 |
72 |
73 | {{ toast.message }} 74 |
75 |
76 | 77 | 78 |
79 |
80 |
81 |

82 | Proxmox VE 83 |

84 |

[% nodename %]

85 | 86 |
87 |
88 | 91 | 99 |
100 | 101 |
102 | 105 | 113 |
114 | 115 |
116 | 119 | 127 |
128 | 129 |
130 | {{ loginForm.error }} 131 |
132 | 133 |
134 | 142 |
143 |
144 |
145 |
146 |
147 | 148 | 149 |
150 | 151 | 169 | 170 | 171 |
172 | 173 |
174 |
175 |

虚拟机列表

176 | 181 |
182 | 183 |
184 | 185 |
186 | 187 |
188 |

未找到虚拟机

189 |
190 | 191 |
192 |
197 |
198 |
199 |
200 |

{{ vm.name }}

201 |

VMID: {{ vm.vmid }}

202 |
203 |
204 | {{ vm.status === 'running' ? '运行中' : '已停止' }} 205 |
206 |
207 | 208 |
209 | 215 | 224 | 233 | 242 |
243 |
244 |
245 |
246 |
247 | 248 | 249 |
250 |
251 | 254 | 257 |
258 | 259 |

{{ selectedVM?.name }} - 监控

260 | 261 |
262 |
263 |
264 |
CPU 使用率
265 |
{{ monitorData.cpu }}%
266 | 267 |
268 |
269 | 270 |
271 |
272 |
内存使用
273 |
{{ formatBytes(monitorData.mem) }} / {{ formatBytes(monitorData.maxmem) }}
274 |
{{ monitorData.memPercent }}%
275 | 276 |
277 |
278 | 279 |
280 |
281 |
磁盘 I/O
282 |
283 | 读: {{ formatBytes(monitorData.diskread) }} 284 |
285 |
286 | 写: {{ formatBytes(monitorData.diskwrite) }} 287 |
288 |
289 |
290 | 291 |
292 |
293 |
网络 I/O
294 |
295 | 入: {{ formatBytes(monitorData.netin) }} 296 |
297 |
298 | 出: {{ formatBytes(monitorData.netout) }} 299 |
300 |
301 |
302 | 303 |
304 | 305 | {{ monitorCountdown }} 秒后自动刷新 306 |
307 |
308 |
309 | 310 | 311 |
312 |
313 | 316 | 319 |
320 | 321 |

{{ selectedVM?.name }} - 硬件配置

322 | 323 |
324 | 325 |
326 | 327 |
328 | 329 |
330 |
331 |
332 |
333 |
{{ item.icon }}
334 |
335 |
{{ item.label }}
336 |
{{ item.value }}
337 |
338 |
339 |
340 | 349 | 358 |
359 |
360 |
361 |
362 |
363 |
364 | 365 | 366 | 367 | 516 | 519 | 520 |
521 |
522 |
523 | 524 | 1423 | 1424 | 1425 | --------------------------------------------------------------------------------