mirror of
https://github.com/jakejarvis/hoot.git
synced 2025-10-18 20:14:25 -04:00
c7caf6a0a949c7a7231c5809c42adf8ca575e362
Dedupe DNS and headers with Redis locks and aggregate cache; add concurrency tests; micro-tune hosting query gating (#87)
🦉 Hoot - Domain Intelligence Tool
Hoot.sh is a all-in-one app for exploring domain names. Easily search for any domain (like github.com
) and get instant insights including WHOIS info, DNS records, SSL certificates, HTTP headers, hosting details, and geolocation.
🚀 Features
- Super Simple Search: Enter any domain name and instantly view everything you need.
- Comprehensive Reports: See registration info, hosting & email, DNS records, SSL certificates, and HTTP headers.
- Interactive UI: Expand/collapse sections, copy data, and enjoy beautiful dark mode.
- Fast & Private: Data is fetched live, with caching for speed—no sign-up required.
- Favicons & Screenshots: Extract favicons and capture homepage screenshots, cached on UploadThing for quick reuse.
🛠️ Tech Stack
- Next.js 15 (App Router)
- React 19
- TypeScript
- Tailwind CSS v4
- tRPC API endpoints
- Upstash Redis for caching
- UploadThing for favicon & screenshot storage
- rdapper for RDAP registration lookups with WHOIS fallback
- Puppeteer for server-side screenshots
- Mapbox for embedded IP geolocation maps
- PostHog for product analytics
- Biome linting and formatting
🌱 Getting Started
-
Clone & install dependencies:
git clone https://github.com/jakejarvis/hoot.git cd hoot pnpm install
-
Start the dev server:
pnpm dev
Open http://localhost:3000 in your browser.
-
(Optional) Configure
.env.local
:
See.env.example
for Redis and UploadThing credentials (needed for caching and favicon/screenshot features).
📜 License
Owl logo by Jordy Madueño from Noun Project (CC BY 3.0).
Languages
TypeScript
98.9%
CSS
1.1%