الإعداد¶
ينقسم الإعداد إلى متغيرات بيئة الخادم (أسرار، حدود المعدل، الترجمة) وlocalStorage في المتصفح (المكدس، تفضيلات الواجهة، آخر فحص مخزّن).
بيئة الخادم¶
انسخ .env.example إلى .env. تقرأها dotenv في عملية Express فقط.
| المتغير | الافتراضي | الوصف |
|---|---|---|
PORT |
3001 |
منفذ الاستماع HTTP |
SCAN_DAYS |
60 |
نافذة البحث في الخلاصات |
API_SECRET |
— | سر مشترك اختياري؛ عند التعيين يتطلب X-Api-Key أو Bearer على /api/* ما عدا health |
VITE_API_KEY |
— | مفتاح build-time للواجهة (نفس API_SECRET للأدوات أحادية المستأجر) |
NVD_API_KEY |
— | مفتاح حد معدل NVD (GET /api/health?detailed=true → feeds.nvd) |
GITHUB_TOKEN |
— | API مشورات GitHub — PAT كلاسيكي public_repo |
OSV_TIMEOUT_MS |
15000 |
مهلة OSV (ms)؛ retry عند 429/503 |
GITHUB_MAX_PAGES |
3 |
عمق التحميل المسبق للمشورات |
TRANSLATE_ENABLED |
true |
مفتاح رئيسي للترجمة |
TRANSLATE_MAX_ITEMS |
50 |
سقف الترجمة لكل فحص |
TRANSLATE_BATCH_MAX |
40 |
لكل طلب /api/translate |
TRANSLATE_CONCURRENCY |
3 |
عمال ترجمة متوازيون |
MYMEMORY_EMAIL |
— | هوية MyMemory |
LIBRETRANSLATE_URL |
— | LibreTranslate اختياري |
OLLAMA_URL |
— | نقطة 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) |
متغیرات ops إضافية¶
راجع فصل Configuration (EN) — API_ROLE، DATABASE_URL، REDIS_URL، AIRGAPPED، K8S_*، METRICS_*.
بيئة إشعارات الخادم¶
تنبيهات صادرة اختيارية عندما تجد المراقبة CVE جديدة (انظر التنبيهات). تبقى متغيرات webhook Slack القديمة مدعومة.
| المتغير | الوصف |
|---|---|
ALERT_WEBHOOK_URL / ALERT_WEBHOOK_URL_FILE |
webhook متوافق مع Slack (legacy) |
ALERT_MIN_SEVERITY |
الحد الأدنى للخطورة لـ webhook القديم |
ALERT_WEBHOOK_FORMAT |
JSON بقالب slack أو generic |
NOTIFICATION_MIN_SEVERITY |
الحد الأدنى العام للخطورة (افتراضي ALERT_MIN_SEVERITY أو HIGH) |
NOTIFICATION_DEDUP_MS |
كبح منشورات مكررة لكل قناة (افتراضي 15 دقيقة) |
NOTIFICATION_SLACK_WEBHOOK_URL |
webhook Slack مخصص |
NOTIFICATION_DISCORD_WEBHOOK_URL |
URL webhook Discord |
NOTIFICATION_TELEGRAM_BOT_TOKEN |
رمز bot تيليجرام |
NOTIFICATION_TELEGRAM_CHAT_ID |
معرّف محادثة تيليجرام |
NOTIFICATION_WEBHOOK_URL |
webhook JSON عام (غلاف متوافق مع Teams) |
NOTIFICATION_SMTP_HOST |
مضيف SMTP للبريد |
NOTIFICATION_SMTP_PORT |
منفذ SMTP (افتراضي 587) |
NOTIFICATION_SMTP_USER / NOTIFICATION_SMTP_PASS |
مصادقة SMTP (اختياري) |
NOTIFICATION_SMTP_FROM / NOTIFICATION_SMTP_TO |
مرسل ومستقبل البريد |
localStorage على العميل¶
| المفتاح | الغرض |
|---|---|
cve-radar:stack |
أسماء الأدوات المراقبة |
cve-radar:settings |
تنبيهات، مراقبة، ترجمة، فواصل |
cve-radar:setup-complete |
انتهاء معالج الإعداد الأول (v1.1.0+) |
cve-radar:theme |
light / dark / system |
cve-radar:locale |
رمز لغة الواجهة |
cve-radar:font-scale |
مقياس نص 85–140 |
cve-radar:sidebar-collapsed |
وضع SubNav الضيق |
cve-radar:last-scan |
vuln + ملخص مخزّن (scanCache.ts، مفتاح بالمكدس) |
cve-radar:known-ids |
معرّفات CVE لإزالة التكرار في المراقبة |
cve-radar:sources-updated-at |
طوابع زمن لكل مصدر |
cve-radar:source-config |
تبديل المصادر المدمجة والخلاصات المخصصة |
لا تلتزم .env بحقيقي رموز مميزة.
عناوين URL لاكتشاف API¶
عند تشغيل الخادم يمكن للمكاملين قراءة الحدود والعقود دون مسح الكود:
| URL | الغرض |
|---|---|
GET /api/health |
الحيوية وأعلام البيئة |
GET /api/capabilities |
حدود رقمية وأعلام ميزات |
GET /api/sources |
كتالوج الخلاصات المدمجة |
GET /api/openapi.json |
مستند OpenAPI 3.1 |
المكافئات المُصدَرة: /api/v1/health، إلخ. راجع مرجع API.
التالي: المعمارية