mirror of
https://github.com/Dvorinka/beszel.git
synced 2026-06-03 21:02:56 +00:00
57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# Domain Locker + Beszel Integration Plan
|
|
|
|
## Overview
|
|
Integrate Domain Locker's domain expiry monitoring as a third dashboard section in Beszel:
|
|
1. Device Monitoring (Systems)
|
|
2. Website Monitoring (Monitors)
|
|
3. Domain Monitoring (Domains)
|
|
|
|
## Features to Port
|
|
- WHOIS lookup (registrar, dates, status)
|
|
- SSL certificate monitoring
|
|
- DNS records (NS, MX, TXT)
|
|
- IP addresses (IPv4/IPv6)
|
|
- Host info (location, ISP)
|
|
- Domain valuation
|
|
- Tags
|
|
- Change history
|
|
- Auto-recognition when adding website monitors
|
|
|
|
## Implementation Steps
|
|
|
|
### 1. Backend (Go)
|
|
- Domain entity types
|
|
- WHOIS service with multiple fallback methods
|
|
- Domain collections (domains, domain_history)
|
|
- Domain scheduler for expiry checks
|
|
- Domain API handlers
|
|
|
|
### 2. Frontend (React/TypeScript)
|
|
- Domain API client
|
|
- Domain table component
|
|
- Domain dialog (add/edit with WHOIS auto-fill)
|
|
- Dashboard integration (third section)
|
|
- Link to website monitors
|
|
|
|
### 3. Integration
|
|
- Optional domain tracking when creating website monitors
|
|
- Registrar recognition fixes
|
|
- Favicon fetching
|
|
|
|
## File Structure
|
|
```
|
|
beszel/internal/
|
|
├── entities/domain/domain.go
|
|
├── hub/domains/
|
|
│ ├── whois/
|
|
│ │ └── lookup.go
|
|
│ ├── scheduler.go
|
|
│ └── api.go
|
|
└── site/src/
|
|
├── lib/domains.ts
|
|
└── components/
|
|
└── domains-table/
|
|
├── domains-table.tsx
|
|
└── domain-dialog.tsx
|
|
```
|