diff --git a/README.md b/README.md index e07bb6b..c1bebd3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,34 @@ # Upload Platform +## Где это работает + +Это отдельный репозиторий, не основной DrHider: + +- репозиторий: `https://gitea.services.ngcloud.ru/forcloud/upload-platform` +- VM: `naeel@5.172.178.213` (VM213) +- systemd-сервис: `vmfiles.service` +- локальный backend: `127.0.0.1:8769` +- внешний маршрут сервиса: `https:///api/v1/` + +Push в `Nail/drhider` или `forcloud/obfuscator` не обновляет этот сервис. +Его код, деплой и перезапуск нужно рассматривать отдельно. + +## Важно: это не текущий путь загрузки DrHider + +Основной DrHider сейчас использует отдельный WebDAV-буфер Nginx: + +```text +https://upload.sinefo.ru/drhider-upload/ +``` + +Он также находится на VM213, но обслуживается Nginx, а не `vmfiles.service`. +Поток DrHider: браузер делает `PUT` в WebDAV, Flask получает ссылки через +`POST /api/upload_refs`, забирает файлы по `GET` и удаляет их через `DELETE`. + +Старый адрес `contracts.kube5s.ru` считать устаревшим. В новых интеграциях +использовать `upload.sinefo.ru` для WebDAV или отдельно согласованный hostname +для `/api/v1/` `vmfiles`. + Модульная платформа загрузки и транзита документов (версия `0.2.0`). Состоит из двух независимых автономных слоёв с чистыми API: 1. **Слой 1 (File Picker)**: Клиентский выбор файлов, папок и вложенных ZIP-архивов с дедупликацией, фильтрацией по расширениям, проверкой лимитов и визуализацией в виде дерева. @@ -151,7 +180,7 @@ from upload.backend.session import get_files upload_bp = create_upload_refs_blueprint({ "apiPrefix": "/api", - "vmUploadPrefix": "https://contracts.kube5s.ru/drhider-upload/", # Префикс вашего буфера + "vmUploadPrefix": "https://upload.sinefo.ru/drhider-upload/", # Префикс вашего буфера "maxFileBytes": 50 * 1024 * 1024, "maxSessionBytes": 500 * 1024 * 1024, }) @@ -174,7 +203,7 @@ app.register_blueprint(upload_bp) document.getElementById('upload-btn').addEventListener('click', async () => { const files = picker.getFiles(); const result = await FilePicker.uploadViaVM(files, { - vmUploadUrl: 'https://contracts.kube5s.ru/drhider-upload/', + vmUploadUrl: 'https://upload.sinefo.ru/drhider-upload/', backendUploadUrl: '/api/upload_refs', onFileStatus: (idx, status) => console.log(`File ${idx}: ${status}`), });