README
ΒΆ
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 
Enterprise-Grade Web Audit & SEO Crawler
"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
ΒΆ
There is no documentation for this package.