Backend Go 1.23+ : - API REST + WebSocket (chi, gorilla/websocket) - Authentification PAM via SSH + JWT RS256 - Chiffrement AES-256-GCM pour secrets SQLite - Pool SSH, client Proxmox REST, hub WebSocket pub/sub - Système de modules compilés à initialisation conditionnelle - Audit log, migrations SQLite versionnées Frontend Vue 3 + Vite + TypeScript : - Thème Neumorphism sombre/clair (CSS custom properties) - Wizard d'installation, Dashboard drag-drop, Terminal xterm.js - Toutes les vues CORE + stubs modules optionnels - i18n EN/FR (vue-i18n v11) Infrastructure : - Docker multi-stage (Go → alpine, Node → nginx) - docker-compose.yml, .gitattributes, LICENSE MIT, README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| README.md | ||
Module — Files
Type: Optional (disabled by default)
SFTP-based file browser for the Proxmox host and LXC containers. Navigate, view, edit, upload, and download files directly from the browser.
Planned Features
- Directory listing with permissions, size, modification date
- File preview (text, JSON, YAML, shell scripts, logs)
- File editing via CodeMirror 6 (syntax highlighting for common formats)
- Upload and download
- Create/delete files and directories
- Navigate into LXC containers via
pct execor direct SFTP
Planned API Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/files/list |
JWT | List directory contents |
| GET | /api/files/read |
JWT | Read file content |
| PUT | /api/files/write |
JWT+Admin | Write file content |
| POST | /api/files/mkdir |
JWT+Admin | Create directory |
| DELETE | /api/files/delete |
JWT+Admin | Delete file or directory |
| GET | /api/files/download |
JWT | Download file |
| POST | /api/files/upload |
JWT+Admin | Upload file |
Query parameters: path=<absolute-path>, host=<optional-ssh-override>
Status
This module is currently a stub. The UI view is implemented (shows a "module not enabled" placeholder). Full SFTP implementation is planned for a future release.
Requirements
- SSH/SFTP access to the target host
- The
ssh_host,ssh_username,ssh_passwordsettings must be configured
License
MIT — see LICENSE