A full-stack DNS record lookup tool, just enter a domain name and inspect A, MX, NS, TXT, and CNAME records in a clean dark-themed UI.
- Resolve A, MX (with priority), NS, TXT, and CNAME records
- Collapsible accordion UI with record counts
- One-click copy to clipboard for any record type
- Loading spinner and descriptive error states
- Full TypeScript, strict linting, Zod validation
- Frontend: React, Vite, TypeScript
- Backend: Hono, Node.js, TypeScript
- Validation: Zod
# 1. Start the backend (port 6633)
cd server
npm install
npm run dev
# 2. Start the frontend (port 5173, proxies /api to backend)
cd client
npm install
npm run devOpen http://localhost:5173, type a domain, and click Lookup.
GET /api/lookup?domain=example.comResponse:
{
"domain": "example.com",
"a": ["93.184.216.34"],
"mx": [{ "exchange": "mail.example.com", "priority": 10 }],
"ns": ["ns1.example.com"],
"txt": [["v=spf1 ..."]],
"cname": [],
"error": null
}GET /health returns { "isOk": true }.
| Command | Description |
|---|---|
npm run dev |
Start dev server with hot reload |
npm run build |
Compile TypeScript to dist/ |
npm run start |
Run compiled output |
npm run lint |
Run ESLint |
| Command | Description |
|---|---|
npm run dev |
Start Vite dev server |
npm run build |
Type-check and build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |