// docs / domains
Домены
A domain is a verified hostname you own. Verifying once unlocks owner-depth scans, scheduled re-scans, and live website monitoring on that hostname.
Подтверждение домена
Добавь hostname в Dashboard → Domains. Выбери один из двух способов подтверждения:
- DNS TXT — добавь запись на
_fixweb.<hostname>с токеном, который мы сгенерируем. Мы повторно разрешаем ее с нашего сервера, не с твоего, поэтому настройки SPF / DMARC не мешают. Типичное распространение: 1-5 минут; мы проверяем каждые 30 секунд в течение 10 минут. - HTTP file — размести небольшой текстовый файл на
/.well-known/fixweb-verification.txtс токеном. Мы загружаем его по HTTPS через путь запросов с SSRF-защитой.
Подтверждения ежедневно перепроверяются cron domain-reverify. Если ранее подтвержденный домен перестает отдавать токен (например, ты удалил DNS-запись), подтверждение отзывается, а active scans для него снова переходят в verify_required, пока ты не добавишь токен заново.
Запланированные повторные сканирования Pro+
План Pro может пересканировать подтверждённый домен с частотой ≥3h; план Unlimited — с частотой ≥1h. Откройте Панель → Домены → Расписание, включите переключатель и выберите частоту:
- 1 час — доступно только на плане Unlimited
- 3h, 6h, 12h, ежедневно, каждые 2 дня, еженедельно
При каждом cron tick (каждые 15 min) scheduler подбирает due schedules, claims them через optimistic compare-and-swap на next_run_at (чтобы два crons не поставили задачу дважды), увеличивает счетчик scan usage и ставит новое passive scan в очередь. Сканирование наследует твою domain-verification attestation — заново подтверждать каждый запуск не нужно — поэтому отключи расписание, чтобы отозвать его.
После завершения письмо scan-completed отправляется по preference scheduled_scan_email (управление: Account → Settings).
Обнаружение угроз в реальном времени Unlimited+
План Unlimited автоматически отслеживает каждый подтверждённый домен по трём сигналам между плановыми сканированиями:
- Certificate transparency — каждые 30 минут мы запрашиваем crt.sh для новых сертификатов, содержащих твой hostname или любой subdomain. Новые сертификаты создают alert
new_certificate. - DNS diff — каждые 30 минут мы разрешаем A, AAAA, MX, TXT, NS, CNAME и сравниваем с последним snapshot. Изменения создают alert
dns_change. - Threat-intel — каждый час мы проверяем Spamhaus DBL и URLhaus на наличие apex hostname в списках. Listings создают alert
threat_intel_listing.
Alerts дедуплицируются по content-hash signature, поэтому повторное обнаружение того же изменения не срабатывает снова. Просматривай / dismiss alerts в Dashboard → Domains → [domain] → Monitor. Email notifications следуют preference threat_alert_email.
Хранение snapshots
Monitor snapshots автоматически удаляются через 7 дней, кроме самого свежего baseline для пары (domain, signal-type) — он остается независимо от возраста, чтобы следующий diff был корректным. Dismissed alerts удаляются через 90 дней.
Запуск из API или MCP
Управление доменами сейчас доступно только в UI — API surface для подтверждения или изменения расписания нет. Чтобы запустить scan для уже подтвержденного домена через API, используй POST /api/v1/scans:
curl -X POST https://fixweb.app/api/v1/scans \
-H "Authorization: Bearer fxw_..." \
-H "content-type: application/json" \
-d '{"target":"https://example.com"}'