projectdiscovery / wappalyzergo

A high performance go implementation of Wappalyzer Technology Detection Library
MIT License
675 stars 107 forks source link

Wappalyzergo

A high performance port of the Wappalyzer Technology Detection Library to Go. Inspired by Webanalyze.

Uses data from https://github.com/AliasIO/wappalyzer

Features

Using go install

go install -v github.com/projectdiscovery/wappalyzergo/cmd/update-fingerprints@latest

After this command wappalyzergo library source will be in your current go.mod.

Example

Usage Example:

package main

import (
    "fmt"
    "io"
    "log"
    "net/http"

    wappalyzer "github.com/projectdiscovery/wappalyzergo"
)

func main() {
    resp, err := http.DefaultClient.Get("https://www.hackerone.com")
    if err != nil {
        log.Fatal(err)
    }
    data, _ := io.ReadAll(resp.Body) // Ignoring error for example

    wappalyzerClient, err := wappalyzer.New()
    fingerprints := wappalyzerClient.Fingerprint(resp.Header, data)
    fmt.Printf("%v\n", fingerprints)

    // Output: map[Acquia Cloud Platform:{} Amazon EC2:{} Apache:{} Cloudflare:{} Drupal:{} PHP:{} Percona:{} React:{} Varnish:{}]
}