Files
lang/doc/ARCHITECTURE.md

2.1 KiB

Архитектура Lyngvo (germany, 2026-05-22)

Общая схема

Браузер (Россия)                  Германская ВМ (Vultr, 95.179.252.111)       Groq API
┌──────────────────┐    HTTPS     ┌──────────────────────────────────┐  HTTPS  ┌──────────┐
│ lang.kube5s.ru   │ ────────────→│ nginx:443                        │ ──────→│ api.groq │
│ (SPA, index.html)│              │                                  │        │ .com     │
└──────────────────┘              │ /          → /var/www/lyngvo/    │        └──────────┘
                                  │ /openai/*  → gunicorn:8765      │
                                  │              └─ Flask proxy.py  │
                                  │ /api/*     → :8080 (будущий)    │
                                  └──────────────────────────────────┘

Компоненты

Порт Сервис Назначение
443 nginx 1.31 Терминирует TLS, раздаёт статику, проксирует /openai/ и /api/
8765 gunicorn (Flask proxy.py) Пробрасывает запросы в api.groq.com

Деплой

cd ~/lang && bash deploy_lang.sh
# → build.sh склеивает CSS/JS → dist/index.html
# → scp на 95.179.252.111:/var/www/lyngvo/index.html

Стек

  • Фронтенд: HTML/CSS/JS (без фреймворков), MediaRecorder API, Web Audio API
  • API: Groq Whisper (транскрипция) + Groq Llama (перевод)
  • Транспорт: HTTPS POST multipart/form-data (DPI обойдён)

DPI

РКН режет WebSocket. HTTPS POST multipart/form-data до 150KB проходит. Подробнее: doc/ws-dpi-solution.md