huntcat

command module
v0.0.0-...-4c5aae2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2026 License: MIT Imports: 22 Imported by: 0

README ΒΆ

HuntCat Banner

Warning πŸ”΄

huntcat.go is intended for regular users. If you’re a developer and want to explore the code more thoroughly, you can access the main file structure (main.go, crawler.go, constants.go, colors.go, page_status.go, http_client.go, parsers.go, reports.go, utils.go, go.mod) in the β€œFor Developers (Discrete Modular)” folder. πŸŽ¨πŸ“Š

🐱 HuntCat Awesome Go

Enterprise-Grade Web Audit & SEO Crawler

Go Version License Platform Made with Go Open Source Love GitHub Stars GitHub Forks GitHub Issues

"Leave your cats in the area and enjoy!"

Features β€’ Installation β€’ Usage β€’ Reports β€’ Structure


🎯 Overview

HuntCat is a blazing-fast, enterprise-grade web crawler and SEO auditor built in pure Go. Designed for technical SEO professionals, web developers, and DevOps teams who demand speed, accuracy, and actionable insights.

Why HuntCat?

  • ⚑ Ultra-Fast: Concurrent crawling with 50+ workers
  • 🎨 Beautiful Reports: Professional HTML + CSV exports
  • πŸ”’ Security-First: TLS 1.2+, HTTP/2 support, HTTPS validation
  • πŸ€– SEO Intelligence: Meta tags, canonicals, structured data detection
  • 🚦 Polite Crawling: robots.txt compliance, rate limiting
  • 🧠 Smart Detection: Duplicate content via SHA-256 hashing
  • πŸ“Š 4D Scoring System: Health, SEO, Performance, Security

✨ Features

πŸ•·οΈ Advanced Crawling

  • Recursive link discovery with intelligent depth control
  • Concurrent processing (up to 100 workers)
  • Automatic sitemap.xml parsing
  • External link validation (HEAD requests)
  • Image asset optimization analysis

🩺 Health Monitoring

  • 404 Detection: Broken link identification
  • 5xx Errors: Server-side issue tracking
  • Redirect Chains: 301/302 loop detection
  • Asset Analysis: Image size optimization (700KB/1MB/2MB thresholds)
  • Load Time Tracking: Per-resource performance metrics

πŸ” SEO Audit Engine

  • βœ… Title tag validation (optimal: 50-60 chars)
  • βœ… Meta description analysis (optimal: 120-160 chars)
  • βœ… H1 tag counting (best practice: exactly 1)
  • βœ… Canonical URL detection
  • βœ… Open Graph meta tags extraction
  • βœ… Structured Data (JSON-LD) detection
  • βœ… Meta robots tag inspection

πŸ›‘οΈ Security Checks

  • HTTPS enforcement validation
  • HTTP/2 protocol detection
  • TLS version verification (>= 1.2)
  • Non-secure page flagging

πŸ“ˆ Intelligent Scoring

Health Score      = (100 - error_rate)
SEO Score         = Meta tag compliance + structural quality
Performance Score = Asset optimization + load times
Security Score    = HTTPS coverage + TLS compliance

πŸš€ Installation

Prerequisites

  • Go 1.22+ installed
  • Terminal/Command Prompt access

Quick Install

# Clone the repository
git clone https://github.com/tc4dy/HuntCat.git
cd HuntCat

# Initialize Go module
go mod download

# Run directly
go run huntcat.go https://example.com

# Or build binary
go build -o huntcat huntcat.go
./huntcat https://example.com

One-Liner Install (Unix/Linux/macOS)

curl -sSL https://raw.githubusercontent.com/tc4dy/HuntCat/main/huntcat.go -o huntcat.go

πŸ“– Usage

Basic Scan

go run huntcat.go https://yoursite.com

Custom Binary

# Build once
go build -ldflags="-s -w" -o huntcat huntcat.go

# Use anywhere
./huntcat https://example.com
./huntcat https://github.com
./huntcat https://stackoverflow.com

Advanced Options

# Scan with custom concurrency (edit maxConcurrency in code)
# Default: 50 workers

# Adjust rate limiting (edit rateLimitDelay in code)
# Default: 100ms per request

πŸ“Š Reports

HuntCat generates 2 comprehensive reports after each scan:

1. HTML Report (huntcat_report.html)

  • 🎨 Beautiful gradient design
  • πŸ“ˆ Visual score cards (Health, SEO, Performance, Security)
  • πŸ“‹ Interactive issue tables
  • πŸ” Filterable by priority

Preview:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Health Score:       100%  🟒           β”‚
β”‚  SEO Score:           45%  πŸ”΄           β”‚
β”‚  Performance Score:   92%  🟑           β”‚
β”‚  Security Score:     100%  🟒           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

2. CSV Export (huntcat_report.csv)

  • πŸ“Š Import to Excel/Google Sheets
  • πŸ”’ Raw data for custom analysis
  • πŸ“… Columns: URL, Type, Status, Size, HTTPS, HTTP Version, Title, Description, H1 Count, Canonical, Load Time, Issue

πŸ—οΈ Architecture

Core Components

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    HuntCat Engine                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚   Crawler    β”‚  β”‚   Analyzer   β”‚  β”‚   Reporter   β”‚   β”‚
β”‚  β”‚              β”‚  β”‚              β”‚  β”‚              β”‚   β”‚
β”‚  β”‚ β€’ Link Disc. β”‚  β”‚ β€’ SEO Check  β”‚  β”‚ β€’ HTML Gen   β”‚   β”‚
β”‚  β”‚ β€’ Asset Find β”‚  β”‚ β€’ Perf Audit β”‚  β”‚ β€’ CSV Export β”‚   β”‚
β”‚  β”‚ β€’ Robots.txt β”‚  β”‚ β€’ Security   β”‚  β”‚ β€’ Scoring    β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚  Concurrency Engine (WaitGroup + Semaphore)     β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

  • Language: Go 1.22+ (Pure standard library + golang.org/x/net/html)
  • Concurrency: Goroutines, WaitGroups, Mutexes, Channels
  • HTTP Client: Custom HTTP/2 client with TLS 1.2+ enforcement
  • Parsing: golang.org/x/net/html for robust HTML parsing
  • Hashing: SHA-256 for duplicate content detection

🎨 Screenshots

Terminal Output

  β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
  ...
  
🎯 Target: https://example.com
⚑ Initializing HuntCat with 50 concurrent workers...
πŸ€– Fetching robots.txt and sitemap.xml...
πŸ”’ Enforcing rate limiting (100ms/request)...

πŸ” Starting deep crawl with SEO analysis...

[βœ“ 200] https://example.com
[βœ“ 200] https://example.com/about
[βœ— 404] https://example.com/missing-page
[⚠ IMG] https://example.com/huge-image.jpg - WARNING: 2.5 MB

╔═══════════════════════════════════════════════════════╗
β•‘              HUNTCAT AUDIT REPORT                     β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

Total Resources Scanned    145      βœ“ Complete
Broken Links (404)         3        βœ— Critical
Critical Images (>2MB)     2        πŸ›‘ URGENT
Site Health Score          97.9%    Excellent
SEO Score                  68.3%    Good

⏱  Crawl completed in: 2.34s
βœ“ HTML report saved: huntcat_report.html
βœ“ CSV report saved: huntcat_report.csv

πŸ“ Repository Structure

  • HuntCat/
    • huntcat.go - Single-file version (for end users)
    • For Developers (Discrete Modular)/
      • main.go - Entry point
      • crawler.go - Crawling engine
      • constants.go - Configuration constants
      • colors.go - Terminal color definitions
      • page_status.go - Data structures
      • http_client.go - HTTP client & user agents
      • parsers.go - HTML parsing & SEO analysis
      • reports.go - HTML, CSV & console reports
      • utils.go - Helper functions
      • go.mod - Go module dependencies
      • go.sum - Dependency checksums
      • README.txt - Warning for developers
    • README.md - Main documentation
    • LICENSE - MIT License
    • .gitignore - Git ignore rules
    • huntcat-banner.svg - Project banner

πŸ“Œ File Descriptions

File Description
huntcat.go Single-file version - Just download and run go run huntcat.go <url>
For Developers (Discrete Modular)/ Modular source code - For contributors and curious developers
README.md Documentation - You're reading it!
LICENSE MIT License - Open source, free to use
.gitignore Git ignore rules - Keeps the repo clean
huntcat-banner.svg Project banner - Visual identity

βš™οΈ Configuration

Edit constants in huntcat.go to customize behavior:

const (
    maxConcurrency         = 50              // Concurrent workers
    requestTimeout         = 30 * time.Second // HTTP timeout
    rateLimitDelay         = 100 * time.Millisecond // Request delay
    largeImageThreshold    = 700 * 1024      // 700KB
    hugeImageThreshold     = 1024 * 1024     // 1MB
    criticalImageThreshold = 2 * 1024 * 1024 // 2MB
)

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL