 Tomas DvorakandDevin
|
041c54c18c
|
feat(domains): per-record provider intel + vendor strip
Structured DNSRecord list carries the detected vendor per row (NS/MX/CNAME/
TXT value, ASN org, response headers, SPF includes, verification strings)
and a Providers strip shows registrar/DNS/hosting/email/CA with favicons —
the domainstack-style view. Detection tables expanded to ~70 NS, ~45 mail,
~60 CNAME, ~130 registrar, and ~50 TXT patterns.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-09-22 18:26:24 +02:00 |
|
 Tomas DvorakandDevin
|
f3143af351
|
feat(api): phase 5 — alerts, agent depth, subdomains, auth, boards
P5b: notifier transport registry (webhook/slack/discord/telegram/
gotify/ntfy/smtp via net/smtp), per-monitor+domain alert rules
(failsBeforeDown, latencyWarn, certDays, mute).
P5c: per-container cpu/mem, optional SMART/ZFS/GPU exec-or-skip
collectors, crt.sh subdomain discovery with daily sweep.
P5d: opt-in auth (bcrypt, sqlite sessions, 7d rotating cookie, login
rate limit, public-route bypass) and multiple boards (boards table,
sections.board_id, /api/boards CRUD, slug routing).
Authored By: TDvorak <[email protected]>
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-09-22 12:49:44 +02:00 |
|
 Tomas DvorakandDevin
|
f9fd1d9cf2
|
feat: domain monitoring (merge plan M2, phase 1)
Port of the domain-intelligence pipeline from the old Beszel fork,
adapted to Dash's SQLite + no-PocketBase architecture:
- internal/domain: RDAP via IANA bootstrap (cached), TCP WHOIS :43
fallback with multi-format parser, DNS (NS/MX/TXT/CNAME/A/AAAA),
TLS leaf cert details, ip-api.com geolocation, provider detection
(DNS/email/hosting/CA). HTML scraping, paid APIs, and exec-based
whois deliberately dropped.
- API: domains CRUD + synchronous refresh + domain_checks snapshot
history; refresh runs inside the monitor sweep on interval_h.
- UI: /domains + /domains/:id pages, add/edit dialog, domain board
widget (favicon + expiry countdown), palette + nav entries,
domainId picker in the widget dialog.
- Test seam: Server.lookup injects the refresh; domain tests run
hermetic against a stubbed result.
Verified live: github.com resolves MarkMonitor expiry 2028-10,
Route 53 DNS, GitHub Pages hosting, Sectigo cert with 69d left.
Authored By: TDvorak <[email protected]>
Generated with Devin (https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
2026-09-21 18:35:47 +02:00 |
|