Skip to content

shadowfps/diggy-easydns

Repository files navigation

Diggy

DNS made friendly — DNS, SSL & Domain-Audits auf einen Blick.

Diggy ist ein webbasiertes DNS-Audit-Tool. Domain eingeben, fertig: Records, Mail-Security, SSL-Status, Propagation, WHOIS und PageSpeed-Score landen übersichtlich auf einem Screen — mit Health-Score und konkreten Empfehlungen.

React TypeScript Vite Tailwind CSS

Features

DNS-Audit

  • DNS Records — A, AAAA, MX, NS, TXT, CAA, SOA, CNAME auf einen Blick
  • Subdomains — Lookups für www. und andere Subdomains (Mail/WHOIS/DNSSEC über Apex)
  • IP-Owner — Anzeige des Netz-Betreibers hinter A/AAAA-Records
  • Health-Score — automatisch berechnet aus Findings und Konfigurationslücken
  • Findings & Empfehlungen — konkrete Hinweise zu fehlenden oder fehlerhaften Einträgen
  • Mail Security — SPF, DKIM (Selector-Scan), DMARC, MTA-STS
  • SSL / TLS — Zertifikats-Details, Ablaufdatum, Chain-Check
  • DNSSEC — Validierungsstatus
  • Propagation — Vergleich über mehrere DNS-over-HTTPS-Resolver weltweit
  • WHOIS / RDAP — Registrar-Infos, Ablaufdatum der Domain
  • Tech-Stack — erkannte Technologien der Website
  • PageSpeed — Google Lighthouse Score (Mobile & Desktop)
  • VirusTotal — Domain-Reputation und Engine-Ergebnisse

Weitere Funktionen

  • Available Check — Domain-Verfügbarkeit prüfen (RDAP, u. a. .de, .com, .net)
  • Lookup-History — zuletzt abgefragte Domains (lokal im Browser)
  • Permalinks — direkt verlinkbare Ergebnisseiten (/lookup/<domain>)
  • JSON-Export — vollständigen Report als Datei herunterladen
  • Kontaktformular — auf der Impressum-Seite, mit SMTP-Versand und Auto-Reply
  • Dark Mode — systembasiert, manuell umschaltbar

Stack

Bereich Technologie
Frontend React 18, TypeScript, Vite, Tailwind CSS, Framer Motion, GSAP
Backend Node.js, Express, TypeScript, Nodemailer
DNS Native Node.js dns + DNS-over-HTTPS (DoH)

Quickstart

# Abhängigkeiten installieren
npm install

# Umgebungsvariablen anlegen
cp .env.example .env
# Keys und SMTP-Daten eintragen (siehe Konfiguration)

# Dev-Server starten (Frontend + Backend gleichzeitig)
npm run dev
# Frontend → http://localhost:5173
# Backend  → http://localhost:3001

# Nur Frontend
npm run dev:client

# Nur Backend
npm run dev:server

# Production-Build
npm run build

# Production-Server starten (liefert Frontend aus dist/)
npm start

Konfiguration

Alle Secrets gehören in .env (liegt in .gitignore). Vorlage: .env.example.

Variable Beschreibung
PAGESPEED_API_KEY Optional — Google PageSpeed Insights API
VIRUS_TOTAL_API_KEY Optional — VirusTotal API
SMTP_HOST, SMTP_PORT, SMTP_SECURE, SMTP_USER, SMTP_PASS SMTP für das Kontaktformular
CONTACT_TO Empfänger der Kontaktanfragen
CONTACT_FROM Absender (Admin-Mail + Bestätigung an Nutzer)
CONTACT_FORM_SECRET Geheimer Schlüssel für Anti-Spam-Token (in Produktion setzen)
TRUST_PROXY true hinter Reverse-Proxy (nginx, Caddy) für korrektes IP-Rate-Limiting
PORT Backend-Port (Standard: 3001)

Secret generieren (WSL/Linux):

openssl rand -base64 32

Das Kontaktformular ist deaktiviert, solange SMTP nicht konfiguriert ist. Anti-Spam: Honeypot, Timing-Token, Rate-Limits, Inhaltsfilter.

Routen

Pfad Beschreibung
/ DNS-Lookup
/lookup/<domain> Permalink zu einem Lookup
/history Lookup-Verlauf
/availability Domain-Verfügbarkeit
/about Info-Seite
/impressum Impressum & Kontaktformular

Projekt-Struktur

diggy/
├── shared/
│   └── types/              # Gemeinsame TypeScript-Typen (Frontend + Backend)
├── src/
│   ├── components/         # Wiederverwendbare UI-Bausteine
│   ├── modules/            # Feature-Module (Lookup, History, Availability, …)
│   ├── lib/                # API-Client, History, Utilities
│   ├── hooks/
│   └── types/              # Re-Exports
└── server/
    ├── index.ts            # Express-App & API-Routen
    └── services/           # DNS, SSL, Mail-Audit, Kontakt, …

API (Auszug)

Endpoint Beschreibung
GET /api/lookup?domain= Vollständiger DNS-Audit-Report
GET /api/domain-check?q= Domain-Verfügbarkeit
GET /api/pagespeed?domain= PageSpeed-Analyse
GET /api/virusscan?domain= VirusTotal-Scan
GET /api/ip-details?ip= IP-Geolocation & ASN
POST /api/contact Kontaktformular absenden
GET /api/contact/challenge Anti-Spam-Token für Formular

Roadmap

  • DNS-Queries (A/AAAA/MX/NS/TXT/CAA/SOA/CNAME)
  • Subdomain-Lookups & Apex-Auflösung für Mail/WHOIS
  • Domain-Validierung & Normalisierung
  • Health-Score aus Findings
  • Mail-Security-Audit (SPF, DKIM, DMARC, MTA-STS)
  • SSL/TLS-Check
  • WHOIS/RDAP-Lookup
  • PageSpeed-Integration
  • VirusTotal-Integration
  • Tech-Stack-Erkennung
  • Multi-Resolver-Propagation via DNS-over-HTTPS
  • Domain-Verfügbarkeits-Check
  • Permalinks & JSON-Export
  • Lookup-History (Browser-lokal)
  • Impressum & Kontaktformular (SMTP, Auto-Reply, Anti-Spam)
  • DNSSEC-Chain-Validierung (vertieft)
  • Response-Caching im Backend
  • Watch/Monitor-Feature (Domain-Änderungen per E-Mail)

Mitmachen

Pull Requests und Issues sind willkommen. Für größere Änderungen bitte vorher ein Issue öffnen.

Lizenz

MIT

About

DNS MADE SIMPLE - DNS Lookup Tool

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages