Document Mac build + rsync when npm ci OOMs on 1GB RAM VPS; production uses standalone server.js after prisma db push. Co-authored-by: Cursor <cursoragent@cursor.com>
Domain Scanner
Modern domain intelligence and infrastructure analysis platform with premium UX, real-time monitoring, and scalable self-hosted architecture.
Features
- DNS — A, AAAA, CNAME, MX, TXT, NS resolution
- WHOIS — Registrar and domain metadata
- SSL — Certificate validity, issuer, expiry
- HTTP — Status, redirects, response headers
- Geo/IP — Location via ip-api.com (or IPinfo with token)
- Security — Header scoring and grade
- Tech/CDN — Server, Cloudflare, Vercel signals
- Export — JSON and CSV downloads
- Live progress — Server-Sent Events during scans
- Monitoring — DNS change + SSL expiry checks via background worker
- Analytics — 7-day charts from scan history (Recharts)
- Auth — Register / sign-in (NextAuth credentials)
Roadmap status
| Area | Status |
|---|---|
| Premium UI (glass, motion, dark/light) | Done |
| Scan API + SSE progress + CDN/WAF heuristics | Done |
| Analytics from DB | Done |
| Monitor worker (DNS/SSL MVP) | Done |
| Auth register + optional admin seed | Done |
| Email/Slack alert delivery | Planned |
| GraphQL public API | Planned |
| Paid tiers / billing | Planned |
Quick start (Docker)
git clone https://github.com/andrey271192/Domain_web.git
cd Domain_web
cp .env.example .env
docker compose up -d
docker compose exec web npx prisma db push
open http://localhost:3000
One-line VPS install
curl -fsSL https://raw.githubusercontent.com/andrey271192/Domain_web/main/install.sh | sudo bash
On small VPS disks (<4GB free), the install script uses a lite path: Postgres/Redis in Docker, Next.js built on the host. For full container deploy on larger machines: docker compose up -d && docker compose exec web npx prisma db push.
If npm ci / npm run build OOM on a ~1GB RAM VPS, build on your Mac (npm run build), then rsync .next/ and .next/standalone/ to the server and run node .next/standalone/server.js (systemd unit in production). Always run npx prisma db push on the VPS after schema changes.
Legacy GeoExport mirror in site/ is not deployed (see site/ARCHIVED.md).
Uninstall
curl -fsSL https://raw.githubusercontent.com/andrey271192/Domain_web/main/uninstall.sh | sudo bash
Development
npm install
cp .env.example .env
# Start Postgres + Redis (docker compose up postgres redis -d)
npm run db:push
npm run dev
Environment
| Variable | Description |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
REDIS_URL |
Redis for scan cache |
NEXTAUTH_SECRET |
Auth signing secret |
NEXTAUTH_URL |
Public app URL |
IPINFO_TOKEN |
Optional IPinfo token |
SCAN_RATE_LIMIT_PER_HOUR |
Per-IP scan limit (default 30) |
MONITOR_INTERVAL_MS |
Monitor worker interval (default 300000) |
SEED_ADMIN_EMAIL |
Optional admin email on install |
SEED_ADMIN_PASSWORD |
Optional admin password on install |
API
See docs/API.md and the in-app /api-docs page.
Docs
License
MIT — see LICENSE
Topics
domain-scanner dns whois ssl networking cybersecurity nextjs typescript self-hosted monitoring analytics infrastructure devtools open-source docker postgresql redis webapp dashboard security