fix(backup): stream backup download via resumable token link instead of buffering
Формирование и скачивание бэкапа разделены: POST /api/backup собирает архив на диске и возвращает временную ссылку, GET /api/backup/:token отдаёт его через res.download (Content-Length, Accept-Ranges, 206 при докачке). - больше нет fs.readFileSync всего архива и res.send буфера (~550 МБ RAM -> ~60 МБ) - GET /api/backup сохранён для совместимости, тоже потоковый - gzip level 1 (архив из JPEG почти не сжимается), чистка /tmp/wido-backups по TTL 30 мин - settings.html/js: нативное скачивание браузером с прогрессом и докачкой, понятные ошибки вместо «Ошибка сети при формировании бэкапа»
This commit is contained in:
@@ -182,7 +182,9 @@ branches
|
||||
| GET | `/api/share/:token` | Public | Share page data |
|
||||
| GET | `/api/links` | Admin | List share links |
|
||||
| POST/PUT/DELETE | `/api/links` | Admin | CRUD share links |
|
||||
| GET | `/api/backup` | Admin | Download backup |
|
||||
| GET | `/api/backup` | Admin | Build & download backup (compat) |
|
||||
| POST | `/api/backup` | Admin | Build backup, returns download URL |
|
||||
| GET | `/api/backup/:token` | Token | Download built backup (resumable) |
|
||||
| POST | `/api/restore` | Admin | Upload & restore backup |
|
||||
| GET | `/api/dashboard` | Admin | Dashboard data |
|
||||
| GET | `/api/stats` | Admin | Stats cards |
|
||||
|
||||
Reference in New Issue
Block a user