Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/projectdiscovery/wappalyzergo
A high performance go implementation of Wappalyzer Technology Detection Library
https://github.com/projectdiscovery/wappalyzergo
Last synced: 3 days 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 (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-05T00:30:36.000Z (14 days ago)
- Last Synced: 2025-01-08T22:16:18.999Z (11 days ago)
- Language: Go
- Size: 4.21 MB
- Stars: 783
- Watchers: 26
- Forks: 118
- Open Issues: 10
-
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/AliasIO/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 mainimport (
"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 examplewappalyzerClient, 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:{}]
}
```