Skip to content

WebAIlyzer Lite API transforms the existing wappalyzer technology detection server into a comprehensive web analytics platform that provides AI-powered insights

License

Notifications You must be signed in to change notification settings

Realm-101/WebAILyzer-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WebAIlyzer Lite API

A minimal, lightweight web technology detection API built with Go. Provides simple HTTP endpoints for analyzing websites and detecting technologies using the wappalyzer engine.

🧹 Clean & Simple: This repository has been cleaned and optimized for minimal complexity and maximum usability.

Features

  • Technology Detection: Identify web technologies, frameworks, and libraries used by websites
  • Simple HTTP API: Two endpoints - health check and website analysis
  • Docker Support: Easy deployment with Docker and Docker Compose
  • Lightweight: Minimal dependencies and resource usage (runs in <256MB RAM)
  • Fast Response: Quick analysis with appropriate timeouts
  • Zero Configuration: No setup required - just build and run
  • Production Ready: Includes health checks, logging, and error handling

Quick Start

One-Command Deployment (Recommended)

Linux/Mac:

git clone https://github.com/your-username/webailyzer-lite-api.git
cd webailyzer-lite-api && ./deploy.sh

Windows:

git clone https://github.com/your-username/webailyzer-lite-api.git
cd webailyzer-lite-api && deploy.bat

Using Docker Compose

# Clone the repository
git clone https://github.com/your-username/webailyzer-lite-api.git
cd webailyzer-lite-api

# Start with Docker Compose
docker-compose up -d

# The API will be available at http://localhost:8080
curl http://localhost:8080/health

πŸ“‹ See QUICK_START.md for the fastest deployment method

Building from Source

# Install dependencies
go mod download

# Build the application
go build -o webailyzer-api ./cmd/webailyzer-api

# Run the application
./webailyzer-api

API Usage

The API provides two simple endpoints with no authentication required:

Health Check

Check if the API is running:

curl http://localhost:8080/health

Response:

{
  "status": "ok"
}

Website Analysis

Analyze a website to detect technologies:

curl -X POST http://localhost:8080/v1/analyze \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com"
  }'

Response:

{
  "url": "https://example.com",
  "detected": {
    "Nginx": {
      "categories": ["Web servers"],
      "confidence": 100,
      "version": "",
      "icon": "Nginx.svg",
      "website": "http://nginx.org/en",
      "cpe": "cpe:/a:nginx:nginx"
    },
    "Bootstrap": {
      "categories": ["UI frameworks"],
      "confidence": 100,
      "version": "4.3.1",
      "icon": "Bootstrap.svg",
      "website": "https://getbootstrap.com"
    }
  },
  "content_type": "text/html; charset=utf-8"
}

Configuration

No configuration is required. The API runs on port 8080 by default.

Docker Compose Configuration

The included docker-compose.yml provides a simple setup:

version: '3.8'
services:
  webailyzer-api:
    build: .
    ports:
      - "8080:8080"
    restart: unless-stopped

API Endpoints

The API provides two simple endpoints:

  • GET /health - Health check endpoint
  • POST /v1/analyze - Analyze a website for technology detection

Development

Running Tests

# Run tests
go test ./...

# Run tests with coverage
go test -cover ./...

Building

# Build for current platform
go build -o webailyzer-api ./cmd/webailyzer-api

# Build for Linux (for Docker)
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o webailyzer-api ./cmd/webailyzer-api

Deployment

For detailed deployment instructions, environment configuration, and troubleshooting, see DEPLOYMENT.md.

Quick Docker Deployment

# Build Docker image
docker build -t webailyzer-lite-api .

# Run container
docker run -p 8080:8080 webailyzer-lite-api

Health Checks

The API includes a health check endpoint at /health that returns:

{
  "status": "ok"
}

This endpoint is used by Docker health checks and load balancers to verify the service is running.

Project Structure

The project follows a clean, minimal structure focused on simplicity and maintainability:

β”œβ”€β”€ cmd/webailyzer-api/     # Main application
β”œβ”€β”€ test/                   # Integration tests
β”œβ”€β”€ examples/               # Usage examples
β”œβ”€β”€ deploy.sh/deploy.bat    # Deployment scripts
β”œβ”€β”€ DEPLOYMENT.md           # Deployment guide
β”œβ”€β”€ API_DOCUMENTATION.md    # API reference
└── QUICK_START.md          # Quick start guide

πŸ“‹ See PROJECT_STRUCTURE.md for detailed project organization

Documentation

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite: make test
  6. Test Docker deployment: ./test-docker.sh
  7. Submit a pull request

License

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

About

WebAIlyzer Lite API transforms the existing wappalyzer technology detection server into a comprehensive web analytics platform that provides AI-powered insights

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •