Skip to content

Конфигурация

Конфигурация делится на переменные окружения сервера (секреты, rate limits, перевод) и localStorage браузера (стек, настройки UI, кэш скана).

Окружение сервера

Скопируйте .env.example в .env. Ключи читает dotenv только процессом Express.

Переменная По умолчанию Описание
PORT 3001 Порт HTTP
SCAN_DAYS 60 Окно look-back лент
API_SECRET Опциональный shared secret; при задании — X-Api-Key или Bearer на /api/* кроме health
VITE_API_KEY Ключ UI на этапе сборки (тот же API_SECRET для single-tenant)
NVD_API_KEY Ключ rate limit NVD (GET /api/health?detailed=truefeeds.nvd)
GITHUB_TOKEN GitHub advisory — classic PAT с public_repo
OSV_TIMEOUT_MS 15000 Таймаут OSV (мс); retry при 429/503
GITHUB_MAX_PAGES 3 Глубина prefetch advisory
TRANSLATE_ENABLED true Главный переключатель перевода
TRANSLATE_MAX_ITEMS 50 Лимит перевода на скан
TRANSLATE_BATCH_MAX 40 На запрос /api/translate
TRANSLATE_CONCURRENCY 3 Параллельные воркеры перевода
MYMEMORY_EMAIL Идентификатор MyMemory
LIBRETRANSLATE_URL Опциональный LibreTranslate
OLLAMA_URL Локальный endpoint Ollama
OLLAMA_MODEL llama3.2 Модель Ollama
RATE_LIMIT_SCAN_PER_MIN 12 Макс. запросов POST /scan на IP в минуту
RATE_LIMIT_WATCH_PER_MIN 120 Макс. запросов POST /watch на IP в минуту
SCAN_TIMEOUT_MS Прерывание длинных scan/watch (см. .env.example)

Auth, RBAC, rate limits, data, K8s, metrics

Полные таблицы переменных (API_ROLE, DATABASE_URL, REDIS_URL, AIRGAPPED, K8S_*, METRICS_*, …) — глава Configuration (EN).

Окружение уведомлений сервера

Опциональные исходящие оповещения, когда watch находит новые CVE (см. Оповещения). Устаревшие переменные Slack webhook поддерживаются.

Переменная Описание
ALERT_WEBHOOK_URL / ALERT_WEBHOOK_URL_FILE Legacy webhook, совместимый со Slack
ALERT_MIN_SEVERITY Минимальная severity для legacy webhook
ALERT_WEBHOOK_FORMAT JSON slack или generic
NOTIFICATION_MIN_SEVERITY Глобальный минимум severity (по умолчанию ALERT_MIN_SEVERITY или HIGH)
NOTIFICATION_DEDUP_MS Подавление повторных постов на канал (по умолчанию 15 мин)
NOTIFICATION_SLACK_WEBHOOK_URL Отдельный Slack webhook
NOTIFICATION_DISCORD_WEBHOOK_URL URL Discord webhook
NOTIFICATION_TELEGRAM_BOT_TOKEN Токен Telegram bot
NOTIFICATION_TELEGRAM_CHAT_ID Chat id Telegram
NOTIFICATION_WEBHOOK_URL Универсальный JSON webhook (конверт, совместимый с Teams)
NOTIFICATION_SMTP_HOST SMTP-хост для email
NOTIFICATION_SMTP_PORT Порт SMTP (по умолчанию 587)
NOTIFICATION_SMTP_USER / NOTIFICATION_SMTP_PASS SMTP auth (опционально)
NOTIFICATION_SMTP_FROM / NOTIFICATION_SMTP_TO Отправитель и получатель email

localStorage клиента

Ключ Назначение
cve-radar:stack Имена отслеживаемых инструментов
cve-radar:settings Оповещения, мониторинг, перевод, интервалы
cve-radar:setup-complete Завершение мастера первого запуска (v1.1.0+)
cve-radar:theme light / dark / system
cve-radar:locale Код языка UI
cve-radar:font-scale Масштаб текста 85–140
cve-radar:sidebar-collapsed Узкий режим SubNav
cve-radar:last-scan Кэш vuln + summary (scanCache.ts, по ключу стека)
cve-radar:known-ids ID CVE для dedup в watch
cve-radar:sources-updated-at Метки времени по источникам
cve-radar:source-config Переключатели встроенных и custom feed

Никогда не коммитьте .env с реальными токенами.

URL обнаружения API

При работающем сервере интеграторы могут читать лимиты и контракты без разбора кода:

URL Назначение
GET /api/health Liveness и флаги env
GET /api/capabilities Числовые лимиты и feature flags
GET /api/sources Каталог встроенных лент
GET /api/openapi.json Документ OpenAPI 3.1

Версионированные эквиваленты: /api/v1/health и т.д. См. Справочник API.

Далее: Архитектура