// 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.
تأیید یک دامنه
در Dashboard → Domains یک hostname اضافه کنید. یکی از دو روش verification را انتخاب کنید:
- DNS TXT — یک record در
_fixweb.<hostname>با tokenی که تولید میکنیم اضافه کنید. ما آن را از سرور خودمان دوباره resolve میکنیم، نه از سمت شما، پس تنظیمات SPF / DMARC تداخل ایجاد نمیکنند. propagation معمول: ۱ تا ۵ دقیقه؛ ما هر ۳۰ ثانیه تا ۱۰ دقیقه دوباره چک میکنیم. - HTTP file — یک فایل text کوچک در
/.well-known/fixweb-verification.txtبا همان token host کنید. ما آن را از مسیر request محافظتشده با SSRF روی HTTPS fetch میکنیم.
Verificationها هر روز توسط cron domain-reverify دوباره چک میشوند. اگر دامنهای که قبلا verified بوده دیگر token را resolve نکند (مثلا DNS record را حذف کردهاید)، verification لغو میشود و active scanهای آن به verify_required برمیگردند تا دوباره اضافهاش کنید.
Re-scanهای زمانبندیشده Pro+
طرح Pro میتواند دامنه تأییدشده را با کادنس ≥3h مجدداً اسکن کند؛ طرح Unlimited با ≥1h. داشبورد ← دامنهها ← زمانبندی را باز کنید، toggle را روشن کنید، یک کادنس انتخاب کنید:
- ۱ ساعت — فقط در طرح Unlimited موجود
- 3h، 6h، 12h، روزانه، هر ۲ روز، هفتگی
در هر tick cron (هر ۱۵ دقیقه)، scheduler scheduleهای due را برمیدارد، با یک compare-and-swap خوشبینانه روی next_run_at claim میکند (تا دو cron دوبار enqueue نکنند)، شمارنده scan-usage شما را افزایش میدهد، و یک passive scan تازه enqueue میکند. اسکن attestation مربوط به domain-verification شما را inherit میکند؛ لازم نیست در هر run دوباره attest کنید، پس برای لغو schedule را غیرفعال کنید.
پس از تکمیل، ایمیل scan-completed با preference scheduled_scan_email ارسال میشود (مدیریت در Account → Settings).
تشخیص زنده تهدید Unlimited+
طرح Unlimited بهطور خودکار هر دامنه تأییدشده را برای سه سیگنال بین اسکنهای زمانبندیشده زیر نظر میگیرد:
- Certificate transparency — هر ۳۰ دقیقه از crt.sh برای certificateهای تازه که hostname شما یا هر subdomain را شامل میشوند query میگیریم. certهای جدید alert با
new_certificateایجاد میکنند. - DNS diff — هر ۳۰ دقیقه A، AAAA، MX، TXT، NS، CNAME را resolve میکنیم و با آخرین snapshot مقایسه میکنیم. تغییرات alert با
dns_changeایجاد میکنند. - Threat-intel — هر ساعت Spamhaus DBL و URLhaus را برای listingهای apex hostname چک میکنیم. listingها alert با
threat_intel_listingایجاد میکنند.
Alertها روی signature بر پایه content-hash dedupe میشوند، تا تشخیص دوباره همان تغییر دوباره fire نشود. alertها را در Dashboard → Domains → [domain] → Monitor ببینید / dismiss کنید. اعلانهای ایمیلی از pref threat_alert_email پیروی میکنند.
نگهداشت snapshot
Snapshotهای monitor بعد از ۷ روز بهصورت خودکار prune میشوند، بهجز تازهترین baseline برای هر جفت (domain, signal-type)؛ آن یکی با هر سنی میماند تا diff بعدی درست باشد. alertهای dismissشده بعد از ۹۰ روز purge میشوند.
اجرا از API یا MCP
مدیریت دامنه فعلا فقط از UI است؛ API surface برای verification یا تغییر schedule وجود ندارد. برای شروع یک اسکن روی دامنهای که از قبل verified است از طریق 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"}'