v0.0.59: убран лимит 100 МБ/файл — учитываются все файлы (остался только суммарный 1 ГБ)
Deploy drhider / validate (push) Canceled after 0s

This commit is contained in:
“Naeel”
2026-08-23 08:40:34 +03:00
parent 5ddee6b4bd
commit 6dcbd2bade
2 changed files with 8 additions and 11 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ if _sys_path_root not in sys.path:
sys.path.insert(0, _sys_path_root) sys.path.insert(0, _sys_path_root)
# Версия приложения (меняется при изменениях) # Версия приложения (меняется при изменениях)
VERSION = "0.0.58" VERSION = "0.0.59"
def setup_logging(): def setup_logging():
+7 -10
View File
@@ -131,7 +131,7 @@
<p class="sub"> <p class="sub">
Загрузите документы (.docx, .doc, .pdf, .txt, .md, .zip) — получите ZIP с обезличенными копиями.<br> Загрузите документы (.docx, .doc, .pdf, .txt, .md, .zip) — получите ZIP с обезличенными копиями.<br>
CSV с таблицей замен скачивается отдельно.<br> CSV с таблицей замен скачивается отдельно.<br>
<span style="color:#c0392b;">Ограничения: файл не более 100 МБ, суммарно не более 1 ГБ. Файлы сверх лимита помечаются красным и не участвуют в обфускации.</span> <span style="color:#c0392b;">Ограничения: суммарно не более 1 ГБ. Файлы сверх суммарного лимита помечаются красным и не участвуют в обфускации.</span>
</p> </p>
<div class="file-input-wrap"> <div class="file-input-wrap">
<input type="file" id="fileInput" multiple accept=".doc,.docx,.pdf,.txt,.zip"> <input type="file" id="fileInput" multiple accept=".doc,.docx,.pdf,.txt,.zip">
@@ -196,8 +196,7 @@ const db = document.getElementById('dlBtns');
let sf = []; let sf = [];
let fileMeta = new Map(); // имя -> {size, mtime} для дедупа/суффиксов let fileMeta = new Map(); // имя -> {size, mtime} для дедупа/суффиксов
let overNames = new Set(); // имена файлов сверх лимита (не участвуют в обфускации) let overNames = new Set(); // имена файлов сверх лимита (не участвуют в обфускации)
const MAX_FILE_BYTES = 100 * 1024 * 1024; // 100 МБ на файл const MAX_SESSION_BYTES = 1024 * 1024 * 1024; // 1 ГБ суммарно (лимит 100МБ/файл убран)
const MAX_SESSION_BYTES = 1024 * 1024 * 1024; // 1 ГБ суммарно
const VM_UPLOAD_URL = 'https://contracts.kube5s.ru/drhider-upload/'; // ВМ-буфер: PUT больших файлов (шлюз кластера их рвёт) const VM_UPLOAD_URL = 'https://contracts.kube5s.ru/drhider-upload/'; // ВМ-буфер: PUT больших файлов (шлюз кластера их рвёт)
// Тест-режим: открыть страницу с ?upload-only=1 → только загрузка, без обработки // Тест-режим: открыть страницу с ?upload-only=1 → только загрузка, без обработки
const TEST_UPLOAD_ONLY = new URLSearchParams(location.search).get('upload-only') === '1'; const TEST_UPLOAD_ONLY = new URLSearchParams(location.search).get('upload-only') === '1';
@@ -360,13 +359,11 @@ function addFileWithDedup(file) {
} }
fileMeta.set(name, { size, mtime }); fileMeta.set(name, { size, mtime });
// Определяем, превышает ли файл лимиты (не участвует в обфускации) // Определяем, превышает ли файл суммарный лимит (не участвует в обфускации)
let over = size > MAX_FILE_BYTES; // >100 МБ на файл // Лимит 100МБ/файл убран — учитываются все файлы по размеру.
if (!over) { let over = false;
// проверка суммарного лимита 1 ГБ по учитываемым файлам (без этого и прочих переборных) const sum = sf.reduce((s, f) => s + (overNames.has(f.name) ? 0 : f.size), 0);
const sum = sf.reduce((s, f) => s + (overNames.has(f.name) ? 0 : f.size), 0); if (sum + size > MAX_SESSION_BYTES) over = true;
if (sum + size > MAX_SESSION_BYTES) over = true;
}
if (over) { if (over) {
overNames.add(name); overNames.add(name);