Rename OBFUSCATOR product branding
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
DrHider — обфускация документов (двухпроходная, в памяти, без БД).
|
Obfuscator — обфускация документов (двухпроходная, в памяти, без БД).
|
||||||
|
|
||||||
Проход 1: собрать все сущности из всех файлов → глобальный словарь замен.
|
Проход 1: собрать все сущности из всех файлов → глобальный словарь замен.
|
||||||
Проход 2: применить замены → собрать ZIP с обфусцированными файлами + mapping.csv.
|
Проход 2: применить замены → собрать ZIP с обфусцированными файлами + mapping.csv.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
Константы и словари для DrHider.
|
Константы и словари для Obfuscator.
|
||||||
|
|
||||||
Содержит:
|
Содержит:
|
||||||
- ENTITY_PATTERNS — regex-паттерны для обнаружения сущностей
|
- ENTITY_PATTERNS — regex-паттерны для обнаружения сущностей
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
LLM-клиент для DrHider.
|
LLM-клиент для Obfuscator.
|
||||||
|
|
||||||
Используется в TwoPassObfuscator._scan_llm_ner() для обнаружения
|
Используется в TwoPassObfuscator._scan_llm_ner() для обнаружения
|
||||||
имён, компаний, адресов и паспортных данных через LLM API.
|
имён, компаний, адресов и паспортных данных через LLM API.
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
DrHider — Managed Flask приложение на платформе Штурвал.
|
Obfuscator — Managed Flask приложение на платформе Штурвал.
|
||||||
|
|
||||||
Приложение создаётся фабрикой create_app().
|
Приложение создаётся фабрикой create_app().
|
||||||
Штурвал запускает Flask самостоятельно (без Dockerfile/gunicorn).
|
Штурвал запускает Flask самостоятельно (без Dockerfile/gunicorn).
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
Blueprint: API DrHider.
|
Blueprint: API Obfuscator.
|
||||||
|
|
||||||
Five endpoints:
|
Five endpoints:
|
||||||
- POST /api/upload — upload one file -> {session_id}
|
- POST /api/upload — upload one file -> {session_id}
|
||||||
@@ -345,7 +345,7 @@ def download(sid):
|
|||||||
return jsonify({"ok": False, "error": "Not found"}), 404
|
return jsonify({"ok": False, "error": "Not found"}), 404
|
||||||
ts = (datetime.now() + timedelta(hours=3)).strftime("%Y-%m-%d_%H-%M-%S")
|
ts = (datetime.now() + timedelta(hours=3)).strftime("%Y-%m-%d_%H-%M-%S")
|
||||||
return send_file(io.BytesIO(zip_data), mimetype="application/zip",
|
return send_file(io.BytesIO(zip_data), mimetype="application/zip",
|
||||||
as_attachment=True, download_name=f"drhider_{ts}.zip")
|
as_attachment=True, download_name=f"obfuscator_{ts}.zip")
|
||||||
|
|
||||||
|
|
||||||
@api_bp.route("/csv/<sid>", methods=["GET"])
|
@api_bp.route("/csv/<sid>", methods=["GET"])
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
Blueprint: главная страница (GET /).
|
Blueprint: главная страница (GET /).
|
||||||
|
|
||||||
Отдаёт HTML-интерфейс DrHider.
|
Отдаёт HTML-интерфейс Obfuscator.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
@@ -22,7 +22,7 @@ main_bp = Blueprint("main", __name__)
|
|||||||
|
|
||||||
@main_bp.route("/")
|
@main_bp.route("/")
|
||||||
def index():
|
def index():
|
||||||
"""Главная страница — веб-интерфейс DrHider.
|
"""Главная страница — веб-интерфейс Obfuscator.
|
||||||
|
|
||||||
Передаёт в шаблон текущую версию приложения.
|
Передаёт в шаблон текущую версию приложения.
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
||||||
<meta http-equiv="Pragma" content="no-cache">
|
<meta http-equiv="Pragma" content="no-cache">
|
||||||
<meta http-equiv="Expires" content="0">
|
<meta http-equiv="Expires" content="0">
|
||||||
<title>DrHider — обфускация документов</title>
|
<title>Obfuscator — обфускация документов</title>
|
||||||
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg">
|
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg">
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
@@ -448,7 +448,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="topbar">
|
<div class="topbar">
|
||||||
<img src="/static/logo.svg" alt="Nubes">
|
<img src="/static/logo.svg" alt="Nubes">
|
||||||
<span class="title">DrHider</span>
|
<span class="title">Obfuscator</span>
|
||||||
<span class="ver">v{{ version }}</span>
|
<span class="ver">v{{ version }}</span>
|
||||||
<span class="help" onclick="document.getElementById('helpModal').style.display='flex'">HELP</span>
|
<span class="help" onclick="document.getElementById('helpModal').style.display='flex'">HELP</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -877,7 +877,7 @@
|
|||||||
.then(r => {
|
.then(r => {
|
||||||
const disp = r.headers.get('Content-Disposition');
|
const disp = r.headers.get('Content-Disposition');
|
||||||
const m = disp && disp.match(/filename="?(.+?)"?$/);
|
const m = disp && disp.match(/filename="?(.+?)"?$/);
|
||||||
return Promise.all([r.blob(), m ? m[1] : 'drhider.zip']);
|
return Promise.all([r.blob(), m ? m[1] : 'obfuscator.zip']);
|
||||||
})
|
})
|
||||||
.then(([blob, fname]) => {
|
.then(([blob, fname]) => {
|
||||||
const a = document.createElement('a');
|
const a = document.createElement('a');
|
||||||
@@ -924,7 +924,7 @@
|
|||||||
<div
|
<div
|
||||||
style="background:var(--card);border-radius:12px;padding:24px;max-width:420px;box-shadow:0 4px 24px rgba(0,0,0,.15)"
|
style="background:var(--card);border-radius:12px;padding:24px;max-width:420px;box-shadow:0 4px 24px rgba(0,0,0,.15)"
|
||||||
onclick="event.stopPropagation()">
|
onclick="event.stopPropagation()">
|
||||||
<h3 style="margin-bottom:12px">DrHider — обфускация документов</h3>
|
<h3 style="margin-bottom:12px">Obfuscator — обфускация документов</h3>
|
||||||
<p style="font-size:13px;color:var(--muted);line-height:1.6">
|
<p style="font-size:13px;color:var(--muted);line-height:1.6">
|
||||||
Загрузите документы (.docx, .doc, .pdf, .txt, .md, .zip) — получите ZIP-архив с обезличенными копиями.
|
Загрузите документы (.docx, .doc, .pdf, .txt, .md, .zip) — получите ZIP-архив с обезличенными копиями.
|
||||||
Персональные данные, реквизиты компаний, телефоны, email и другие приватные сведения заменяются на обезличенные
|
Персональные данные, реквизиты компаний, телефоны, email и другие приватные сведения заменяются на обезличенные
|
||||||
|
|||||||
Reference in New Issue
Block a user