This is a port of Wappalyzer in Go. This tool is designed to be performant and allows to test huge lists of hosts.
$ go get -v -u github.com/rverton/webanalyze/cmd/webanalyze
$ webanalyze -update # loads new technologies.json file from wappalyzer project
$ webanalyze -h
Usage of webanalyze:
-apps string
app definition file. (default "technologies.json")
-crawl int
links to follow from the root page (default 0)
-host string
single host to test
-hosts string
filename with hosts, one host per line.
-output string
output format (stdout|csv|json) (default "stdout")
-search
searches all urls with same base domain (i.e. example.com and sub.example.com) (default true)
-silent
avoid printing header (default false)
-update
update apps file
-worker int
number of worker (default 4)
The -update
flags downloads a current version of technologies.json
from the wappalyzer repository to the current folder.
See cmd/webanalyze/main.go
for an example on how to use this as a library.
$ ./webanalyze -host robinverton.de -crawl 1
:: webanalyze : v1.0
:: workers : 4
:: apps : technologies.json
:: crawl count : 1
:: search subdomains : true
https://robinverton.de/hire/ (0.5s):
Highlight.js, (Miscellaneous)
Netlify, (Web Servers, CDN)
Google Font API, (Font Scripts)
http://robinverton.de (0.8s):
Highlight.js, (Miscellaneous)
Netlify, (Web Servers, CDN)
Hugo, 0.42.1 (Static Site Generator)
Google Font API, (Font Scripts)
$ ./webanalyze -host robinverton.de -crawl 1 -output csv
:: webanalyze : v1.0
:: workers : 4
:: apps : technologies.json
:: crawl count : 1
:: search subdomains : true
Host,Category,App,Version
https://robinverton.de/hire/,Miscellaneous,Highlight.js,
https://robinverton.de/hire/,Font Scripts,Google Font API,
https://robinverton.de/hire/,"Web Servers,CDN",Netlify,
http://robinverton.de,"Web Servers,CDN",Netlify,
http://robinverton.de,Static Site Generator,Hugo,0.42.1
http://robinverton.de,Miscellaneous,Highlight.js,
http://robinverton.de,Font Scripts,Google Font API,