https://github.com/projectdiscovery/wappalyzergo
A high performance go implementation of Wappalyzer Technology Detection Library
https://github.com/projectdiscovery/wappalyzergo
Last synced: about 1 month ago
JSON representation
A high performance go implementation of Wappalyzer Technology Detection Library
- Host: GitHub
- URL: https://github.com/projectdiscovery/wappalyzergo
- Owner: projectdiscovery
- License: mit
- Created: 2021-04-06T09:54:00.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2026-04-26T00:57:00.000Z (about 1 month ago)
- Last Synced: 2026-05-01T04:26:11.660Z (about 1 month ago)
- Language: Go
- Size: 6.56 MB
- Stars: 1,017
- Watchers: 24
- Forks: 162
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-rainmana - projectdiscovery/wappalyzergo - A high performance go implementation of Wappalyzer Technology Detection Library (Go)
README
# Wappalyzergo
A high performance port of the Wappalyzer Technology Detection Library to Go. Inspired by [Webanalyze](https://github.com/rverton/webanalyze).
Uses data from
- https://github.com/enthec/webappanalyzer
- https://github.com/HTTPArchive/wappalyzer
## Features
- Very simple and easy to use, with clean codebase.
- Normalized regexes + auto-updating database of wappalyzer fingerprints.
- Optimized for performance: parsing HTML manually for best speed.
### Using *go install*
```sh
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:
``` go
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:{}]
}
```