core/backend/modules/files/README.md
enzo 5dbcb1df07 feat: initialisation complète du CORE ProxmoxPanel
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>
2026-03-20 21:08:53 +01:00

1.5 KiB

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