# DrHider — Managed Flask на pythonk8s

**Дата:** 2026-07-11
**URL:** https://drhider.pythonk8s.dev.nubes.ru/
**Репозиторий:** https://gitea.services.ngcloud.ru/Nail/drhider

## Структура проекта

```
drhider/
├── Dockerfile              # python:3.12-slim, gunicorn + gevent :5000
├── requirements.txt        # flask, gunicorn, gevent, python-docx, pdfplumber, httpx
├── .gitignore
├── .gitea/workflows/deploy.yaml   # CI (linux_amd64)
├── drhider.py              # ядро обфускации (скопировано с ВМ contracts)
├── drhider_server.py       # HTTP-сервер (скопировано с ВМ contracts)
├── site/
│   ├── app.py              # Flask: GET /, POST /api/drhider, /health
│   ├── templates/index.html
│   └── static/favicon.svg
└── History/
```

## API

| Метод | Путь | Описание |
|---|---|---|
| GET | / | Веб-интерфейс |
| GET | /health | `{"ok": true, "version": "..."}` |
| POST | /api/drhider | multipart files → ZIP с обфусцированными документами |

## Переменные окружения

| Переменная | Назначение | По умолчанию |
|---|---|---|
| `LLM_API_KEY` / `LLM_KEY` | Ключ API для LLM | — |
| `LLM_URL` | URL LLM API | `https://api.aillm.ru/v1/chat/completions` |
| `LLM_MODEL` | Модель | `gpt-oss-120b` |

## Коммиты

- `a455f9d` — Начальная структура managed Flask + drhider
- `a89df86` — Managed Flask: app.py, index.html, CI workflow
