A high performance port of the Wappalyzer Technology Detection Library to Go. Inspired by https://github.com/rverton/webanalyze.
Features
- Very simple and easy to use, with clear code base.
- Normalized regexes + auto-updating database of wappalyzer fingerprints.
- Optimized for performance, parsing html manually for best speed.
Using go get
$ GO111MODULE=on go get github.com/projectdiscovery/wappalyzergo/cmd/update-fingerprints
After this command wappalyzergo library source will be in your current go.mod.
Example
Usage Example:
package main import ( "fmt" "io/ioutil" "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, _ := ioutil.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:{}] }