Implementation of Wappalyzer in Python.
virtualenv venv
source venv/bin/activate
pip install -r requirements.txtUpdate the Wappalyzer database (apps.json):
python main.py updatepython main.py analyze -u <url>This will output a JSON list of applications.
python main.py analyze -u https://google.com
[
"Google Web Server"
]Wappalyzer is a JavaScript application therefore some of the regex wont compile
in Python. You may see a message in the stderr with the faulty regex:
python main.py analyze -u https://google.com
Error with regex (?:<div class="sf-toolbar[^>]+?>[^]+<span class="sf-toolbar-value">([\d.])+|<div id="sfwdt[^"]+" class="[^"]*sf-toolbar)
[
"Google Web Server"
]This Python implementation will returns less technologies than the official app and here is why :
- The official Wappalyzer is written in JavaScript, so it analyze the global
variables from the JavaScript files. If you check my implementation, the
analyze_jsmethod tries to look for global variables in Python but it cannot find with accurately the patterns in minified code. - Some website may returns different page based on your session cookie. That why the browser extension may returns more accurate technologies than the cli application.
MIT
The apps.json comes from the official Wappalyzer repository