GitHunt
L3

l3lackcurtains/beast-domain-checker

Bulk domain availability checker with hacker-style UI. Check up to 1000 domains at once using Namecheap Beast Mode automation. Built with Astro + Playwright.

Beast Domain Checker

A fast, beautiful bulk domain availability checker powered by Namecheap Beast Mode automation using Puppeteer.

Astro
Puppeteer
License

Beast Domain Checker Screenshot

Features

  • Bulk Checking - Check up to 1000 domains at once
  • Multiple Input Methods - Upload CSV/TXT or paste directly
  • Favorites System - Save domains with prices for later
  • Export Results - Download as CSV
  • Real-time Stats - See available, taken, and premium counts
  • Modern UI - Dark theme with gradient accents

Quick Start

๐Ÿš€ Production Deployment

For cloud deployment (Vercel, Railway, Render, etc.), see DEPLOYMENT.md

โš ๏ธ Important: Vercel deployment requires Pro plan ($20/mo) for extended function timeout.

git clone https://github.com/YOUR_USERNAME/beast-domain-checker.git
cd beast-domain-checker
docker compose up -d

Docker

# Build image
docker build -t beast-domain-checker .

# Run container
docker run -d -p 6006:6006 --name beast-domain-checker beast-domain-checker

# Stop container
docker stop beast-domain-checker

# Remove container
docker rm beast-domain-checker

Open http://localhost:6006 in your browser.

Manual Installation

# Install dependencies (Puppeteer will download Chromium automatically)
npm install

# Start development server
npm run dev

Note: Puppeteer automatically downloads a compatible Chromium browser during npm install. No additional installation steps required!

Usage

Web Interface

Upload File

Create a CSV or TXT file with one domain per line:

example.com
mysite.dev
awesome.io

Paste Domains

Paste domains directly in the textarea, one per line.

Save Favorites

Click "Add to Favorites" on any result to save it for later.

CLI Mode

Check domains directly from the command line with hacker-style real-time logging!

Installation

# Clone and install dependencies
git clone <your-repo-url>
cd beast-domain-checker
npm install

Usage

Option 1: Check from a file

npm run cli domains.txt

Create domains.txt with one domain per line:

example.com
mysite.dev
awesome.io

Option 2: Check domains directly

npm run cli -- --domains example.com test.dev awesome.io

Option 3: Custom output file

npm run cli domains.txt --output my-results.csv

Show help:

npm run cli -- --help

CLI Features

  • ๐ŸŽจ ASCII Art Banner - Beautiful BEAST logo on startup
  • ๐Ÿš€ Real-Time Hacker Logs - Watch the scan progress with tactical messages
  • ๐ŸŽฏ Color-Coded Output - Green (available), Yellow (premium), Red (taken)
  • โšก Fast Automation - Headless Chromium with Puppeteer
  • ๐Ÿ’พ Auto CSV Export - Results saved automatically to results.csv
  • ๐Ÿ“Š Detailed Statistics - Summary with available/premium/taken counts
  • ๐Ÿ” Full Transparency - See every step: connection, upload, scan, extraction

Example Output

CLI Screenshot

Supported File Formats

  • TXT - One domain per line
  • CSV - One domain per line (automatically detected)

Notes

  • Maximum 1000 domains per run
  • Processing time: ~1-2 minutes for 100 domains
  • Results exported to results.csv by default
  • Lines starting with # are treated as comments

Project Structure

beast-domain-checker/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ”œโ”€โ”€ domainChecker.ts   # Puppeteer automation
โ”‚   โ”‚   โ”œโ”€โ”€ csvParser.ts       # File parsing
โ”‚   โ”‚   โ””โ”€โ”€ storage.ts         # Data persistence
โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”‚   โ”œโ”€โ”€ index.astro        # Main UI
โ”‚   โ”‚   โ””โ”€โ”€ api/
โ”‚   โ”‚       โ”œโ”€โ”€ check-domains.ts
โ”‚   โ”‚       โ””โ”€โ”€ favorites.ts
โ”‚   โ””โ”€โ”€ styles/
โ”‚       โ””โ”€โ”€ global.css
โ”œโ”€โ”€ public/
โ”œโ”€โ”€ Dockerfile                 # Docker image definition
โ”œโ”€โ”€ docker-compose.yml         # Docker Compose configuration
โ”œโ”€โ”€ astro.config.mjs
โ”œโ”€โ”€ tailwind.config.mjs
โ””โ”€โ”€ package.json

Tech Stack

Configuration

Port

Edit astro.config.mjs to change the default port (6006):

export default defineConfig({
  server: { port: 3000 }
});

Scripts

Command Description
npm run dev Start development server
npm run build Build for production
npm run preview Preview production build

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

MIT

Disclaimer

This tool automates Namecheap's Beast Mode for domain checking. Use responsibly and in accordance with Namecheap's terms of service.

l3lackcurtains/beast-domain-checker | GitHunt