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>
41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# 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 exec` or 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_password` settings must be configured
|
|
|
|
## License
|
|
|
|
MIT — see [LICENSE](../../LICENSE)
|