The last commit of Wappalyzer before it went private
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Elbert Alias 868ba4eb20
Added Web Server Extensions category
12 years ago
drivers Added Web Server Extensions category 12 years ago
share Manually merged @SebastianLopienski's apps.json changes, added support for new apps.json syntax 12 years ago
.gitattributes Fixed merge 12 years ago
.gitignore Prompt the user to manually download 7-Zip 12 years ago
LICENSE Add correct license information 12 years ago
README.md Merge remote-tracking branch 'upstream/master' 12 years ago
links.cmd Removed old `libs` dir code from links.cmd 12 years ago
links.sh Meta data 12 years ago
package.cmd Fixed bug in Windows package script that prevented it from working on 32-bit systems 12 years ago
package.sh Added Jetpack driver, started converting apps.js to JSON 12 years ago

README.md

Wappalyzer

Wappalyzer is a browser extension that uncovers the technologies used on websites. It detects content management systems, web shops, web servers, JavaScript frameworks, analytics tools and many more.

Licensed under the GPL.

Contributing

Adding a new application

  • Edit share/apps.json (use a JSON validator).
  • Add a 16x16 PNG image to share/images/icons matching the application name (use Smush.it or OptiPNG for compression).
  • Provide the URL to the application's website when submitting a pull request.

Adding a new category

Please open an issue to discuss first. Adding a category involves updating apps.json, preference pages, locales and wappalyzer.com.

Adding a new translation

Mozilla Firefox

Copy drivers/firefox/locale/en-US.

Google Chrome

Copy drivers/chrome/_locales/en.

apps.json

Example

"Application Name": { 
	"cats":       [ 1 ], 
	"headers":    { "X-Powered-By": "Application Name" },
	"url":        ".+\\.application-name\\.com",
	"html":       "<link[^>]application-name\\.css", 
	"meta":       { "generator": "Application Name" },
	"script":     "application-name\\.js",
	"env":        "ApplicationName",
	"implies":    [ "PHP" ],
	"confidence": { "html": 50, "script": 50 }
	}

JSON fields

field type description
cats array List of category IDs. See apps.json for the complete list.
confidence object Indicates less reliable patterns that may cause false positives. The aim is to achieve a combined confidence of 100%. Defaults to 100% for unspecified fields.
env string Global JavaScript variables, e.g. jQuery.
headers object HTTP Response headers, e.g. X-Powered-By.
html string Full HTML response body.
implies array The presence of one application can imply the presence of another, e.g. Drupal means PHP is also in use.
url string URL of the page, e.g. http://wordpress.com/index.php.
meta object HTML meta tags, e.g. generator.
script string src attribute of HTML script tags, e.g. jquery.js.

Except cats, all fields are optional.

Drivers

Wappalyzer is multi-platform. The main code lives in the share/ directory and platform specific code in drivers/. The sections below describe how to set up a development environment for the various existing drivers.

To keep files synchronised between drivers, run links.sh (UNIX-like systems) or links.cmd (Windows).

Mozilla Firefox

  • Place a file called wappalyzer@crunchlabz.com in the extensions directory in your profile folder (~/.mozilla/firefox/xxxxx.default/extensions/ on Linux) containing the full path to drivers/firefox.
  • Restart Firefox
  • Navigate to about:config and set extensions.wappalyzer.debug to true.
  • Ctrl+Shift+J brings up a console for debugging.

Google Chrome

  • Navigate to about:extensions
  • Check "Developer mode"
  • Click "Load unpacked extension..."
  • Select drivers/chrome/

Bookmarklet

Beta version available for testing at wappalyzer.com/bookmarklet.

HTML

The HTML driver serves purely as an example. It's a good starting point if you want to port Wappalyzer to a new platform.

  • Navigate to drivers/html/

PHP

The PHP driver requires the V8js class. Installing V8js using PECL on Debian Linux or Ubuntu should be very straight forward:

  • # aptitude install php5-dev php-pear libv8-dev
  • # pecl install channel://pecl.php.net/v8js-0.1.3
  • # echo "extension=v8js.so" > /etc/php5/conf.d/v8js.ini

Runnning Wappalyzer from the command line:

$ php drivers/php/index.php wappalyzer.com

Running Wappalyzer inside a PHP script:

require('WappalyzerException.php');
require('Wappalyzer.php');

$wappalyzer = new Wappalyzer($url);

$detectedApps = $wappalyzer->analyze();

Mozilla Jetpack

Work in progress, experimental. See https://wiki.mozilla.org/Jetpack.

Unofficial drivers and ports

Python

A Python driver by @ebradbury.

https://github.com/ebradbury/Wappalyzer/tree/master/drivers/python

Ruby

A Ruby port by @skroutz.

https://github.com/skroutz/wappalyzer-ruby

Screenshot

Wappalyzer on Firefox:

A screenshot of Wappalyzer on Firefox