Merge branch 'master' of github.com:ElbertF/Wappalyzer

main
Elbert Alias 12 years ago
commit a17a8949ff

@ -1,122 +1,122 @@
Wappalyzer Wappalyzer
========== ==========
[Wappalyzer](http://wappalyzer.com/) is a [Wappalyzer](http://wappalyzer.com/) is a
[browser extension](http://wappalyzer.com/download) that uncovers the [browser extension](http://wappalyzer.com/download) that uncovers the
technologies used on websites. It detects technologies used on websites. It detects
[content management systems](http://wappalyzer.com/categories/cms), [content management systems](http://wappalyzer.com/categories/cms),
[web shops](http://wappalyzer.com/categories/web-shops), [web shops](http://wappalyzer.com/categories/web-shops),
[web servers](http://wappalyzer.com/categories/web-servers), [web servers](http://wappalyzer.com/categories/web-servers),
[JavaScript frameworks](http://wappalyzer.com/categories/javascript-frameworks), [JavaScript frameworks](http://wappalyzer.com/categories/javascript-frameworks),
[analytics tools](http://wappalyzer.com/categories/analytics) and [analytics tools](http://wappalyzer.com/categories/analytics) and
[many more](http://wappalyzer.com/applications). [many more](http://wappalyzer.com/applications).
Contributing Contributing
------------ ------------
**Adding a new application** **Adding a new application**
* Edit `share/apps.json` * Edit `share/apps.json`
* Add a 16x16 PNG image to `share/images/icons` matching the application name. * Add a 16x16 PNG image to `share/images/icons` matching the application name.
* Provide the URL to the application's website when submitting a pull request. * Provide the URL to the application's website when submitting a pull request.
Example: Example:
```javascript ```javascript
"Application Name": { "Application Name": {
cats: [ "1" ], cats: [ "1" ],
headers: { "X-Powered-By": "Application Name" }, headers: { "X-Powered-By": "Application Name" },
url: ".+\\.application-name\\.com", url: ".+\\.application-name\\.com",
html: "<link[^>]application-name\\.css", html: "<link[^>]application-name\\.css",
meta: { "generator": "Application Name" }, meta: { "generator": "Application Name" },
script: "application-name\\.js", script: "application-name\\.js",
env: "ApplicationName", env: "ApplicationName",
implies: [ "PHP" ] implies: [ "PHP" ]
} }
``` ```
Drivers Drivers
------- -------
Wappalyzer is multi-platform. The main code lives in the `share/` directory and 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 platform specific code in `drivers/`. The sections below describe how to set up
a development environment for the various existing drivers. a development environment for the various existing drivers.
To keep files synchronised between drivers, run the `links.sh` script (UNIX-like To keep files synchronised between drivers, run the `links.sh` script (UNIX-like
system only, Windows user will have to manually copy the files across.) systems only, Windows users can use `links.cmd`.)
**Mozilla Firefox** **Mozilla Firefox**
* Place a file called `wappalyzer@crunchlabz.com` in the extensions directory in * Place a file called `wappalyzer@crunchlabz.com` in the extensions directory in
your [profile folder](http://kb.mozillazine.org/Profile_folder_-_Firefox) your [profile folder](http://kb.mozillazine.org/Profile_folder_-_Firefox)
(`~/.mozilla/firefox/xxxxx.default/extensions/` on Linux) containing the full (`~/.mozilla/firefox/xxxxx.default/extensions/` on Linux) containing the full
path to `drivers/firefox`. path to `drivers/firefox`.
* Restart Firefox * Restart Firefox
* Navigate to `about:config` and set `extensions.wappalyzer.debug` to `true`. * Navigate to `about:config` and set `extensions.wappalyzer.debug` to `true`.
* Ctrl+Shift+J brings up a console for debugging. * Ctrl+Shift+J brings up a console for debugging.
**Google Chrome** **Google Chrome**
The Chrome version needs some love, if anyone wants to pick it up. It's The Chrome version needs some love, if anyone wants to pick it up. It's
currently not as feature-rich as the Firefox add-on (although partially due to currently not as feature-rich as the Firefox add-on (although partially due to
API limitations.) API limitations.)
* Navigate to `about:extensions` * Navigate to `about:extensions`
* Check "Developer mode" * Check "Developer mode"
* Click "Load unpacked extension..." * Click "Load unpacked extension..."
* Select `drivers/chrome/` * Select `drivers/chrome/`
**Bookmarklet** **Bookmarklet**
Beta version available for testing at [wappalyzer.com/bookmarklet](http://wappalyzer.com/bookmarklet). Beta version available for testing at [wappalyzer.com/bookmarklet](http://wappalyzer.com/bookmarklet).
**HTML** **HTML**
The HTML driver serves purely as an example. It's a good starting point if you The HTML driver serves purely as an example. It's a good starting point if you
want to port Wappalyzer to a new platform. want to port Wappalyzer to a new platform.
* Navigate to `drivers/html/` * Navigate to `drivers/html/`
**PHP** **PHP**
The PHP driver requires the [V8js](http://php.net/manual/en/book.v8js.php) class. Installing V8js The PHP driver requires the [V8js](http://php.net/manual/en/book.v8js.php) class. Installing V8js
using [PECL](http://pecl.php.net/) on Debian Linux or Ubuntu should be very straight forward: using [PECL](http://pecl.php.net/) on Debian Linux or Ubuntu should be very straight forward:
* `# aptitude install php5-dev php-pear libv8-dev` * `# aptitude install php5-dev php-pear libv8-dev`
* `# pecl install channel://pecl.php.net/v8js-0.1.3` * `# pecl install channel://pecl.php.net/v8js-0.1.3`
* `# echo "extension=v8js.so" > /etc/php5/conf.d/v8js.ini` * `# echo "extension=v8js.so" > /etc/php5/conf.d/v8js.ini`
Runnning Wappalyzer from the command line: Runnning Wappalyzer from the command line:
`$ php drivers/php/index.php wappalyzer.com` `$ php drivers/php/index.php wappalyzer.com`
Running Wappalyzer inside a PHP script: Running Wappalyzer inside a PHP script:
```php ```php
require('WappalyzerException.php'); require('WappalyzerException.php');
require('Wappalyzer.php'); require('Wappalyzer.php');
$wappalyzer = new Wappalyzer($url); $wappalyzer = new Wappalyzer($url);
$detectedApps = $wappalyzer->analyze(); $detectedApps = $wappalyzer->analyze();
``` ```
**Mozilla Jetpack** **Mozilla Jetpack**
Work in progress, experimental. See https://wiki.mozilla.org/Jetpack. Work in progress, experimental. See https://wiki.mozilla.org/Jetpack.
Screenshot Screenshot
---------- ----------
Wappalyzer on Firefox: Wappalyzer on Firefox:
![Screenshot](http://wappalyzer.com/sites/default/themes/wappalyzer/images/installed.png) ![Screenshot](http://wappalyzer.com/sites/default/themes/wappalyzer/images/installed.png)

@ -0,0 +1,133 @@
:: ln == mklink /h
:: hard link folders (dir junction) = mklink /j dir1 dir2
:: hard link files = mklink /h
:: ln -f for folder: if exist FOLDER_TO_REPLACE_WITH_LINK rmdir /s FOLDER_TO_REPLACE_WITH_LINK&&mklink /j FOLDER_TO_REPLACE_WITH_LINK FOLDER_TO_LINK_TO
:: ln -f for file: if exist FILE_TO_REPLACE_WITH_LINK del FILE_TO_REPLACE_WITH_LINK&&mklink /h FILE_TO_REPLACE_WITH_LINK FILE_TO_LINK_TO
:: FIREFOX ADD-ON
::
::Sync icons folder
::ln -f share\images\icons\* drivers\firefox\skin\images\icons
if exist drivers\firefox\skin\images\icons rmdir /q /s drivers\firefox\skin\images\icons
mklink /j drivers\firefox\skin\images\icons share\images\icons\
::Sync lib folder
::ln -f share\js\lib\jquery.min.js drivers\firefox\content\js\lib
if exist drivers\firefox\content\js\lib rmdir /q /s drivers\firefox\content\js\lib
mklink /j drivers\firefox\content\js\lib share\js\lib\
::Sync apps JSON
::ln -f share\apps.json drivers\firefox\content
if exist drivers\firefox\content\apps.json del drivers\firefox\content\apps.json
mklink /h drivers\firefox\content\apps.json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\firefox\content\js
if exist drivers\firefox\content\js\wappalyzer.js del drivers\firefox\content\js\wappalyzer.js
mklink /h drivers\firefox\content\js\wappalyzer.js share\js\wappalyzer.js
:: FIREFOX JETPACK
::
::Sync icons folder
::ln -f share\images\icons\* drivers\firefox-jetpack\images\icons
if exist drivers\firefox-jetpack\images\icons rmdir /q /s drivers\firefox-jetpack\images\icons
mklink /j drivers\firefox-jetpack\images\icons share\images\icons
::Sync apps JSON
::ln -f share\apps.json drivers\firefox-jetpack\data
if exist drivers\firefox-jetpack\data\apps.json del drivers\firefox-jetpack\data\apps.json
mklink /h drivers\firefox-jetpack\data\apps.json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\firefox-jetpack\lib
if exist drivers\firefox-jetpack\lib\wappalyzer.js del drivers\firefox-jetpack\lib\wappalyzer.js
mklink /h drivers\firefox-jetpack\lib\wappalyzer.js share\js\wappalyzer.js
:: CHROME EXTENSION
::
::Sync icons folder
::ln -f share\images\icons\* drivers\chrome\images\icons
if exist drivers\chrome\images\icons rmdir /q /s drivers\chrome\images\icons
mklink /j drivers\chrome\images\icons share\images\icons
::Sync lib folder
::ln -f share\js\lib\jquery.min.js drivers\chrome\js\lib
if exist drivers\chrome\js\lib rmdir /q /s drivers\chrome\js\lib
mklink /j drivers\chrome\js\lib share\js\lib
::Sync apps JSON
::ln -f share\apps.json drivers\chrome
if exist drivers\chrome\apps.json del drivers\chrome\apps.json
mklink /h drivers\chrome\apps.json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\chrome\js
if exist drivers\chrome\js\wappalyzer.js del drivers\chrome\js\wappalyzer.js
mklink /h drivers\chrome\js\wappalyzer.js share\js\wappalyzer.js
:: BOOKMARKLET
::
::Sync icons folder
::ln -f share\images\icons\* drivers\bookmarklet\images\icons
if exist drivers\bookmarklet\images\icons rmdir /q /s drivers\bookmarklet\images\icons
mklink /j drivers\bookmarklet\images\icons share\images\icons
::Sync lib folder
::ln -f share\js\lib\jquery.min.js drivers\bookmarklet\js\lib
if exist drivers\bookmarklet\js\lib rmdir /q /s drivers\bookmarklet\js\lib
mklink /j drivers\bookmarklet\js\lib share\js\lib
::Sync apps JSON
::ln -f share\apps.json drivers\bookmarklet\json
if exist drivers\bookmarklet\json del drivers\bookmarklet\json
mklink /h drivers\bookmarklet\json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\bookmarklet\js
if exist drivers\bookmarklet\js\wappalyzer.js del drivers\bookmarklet\js\wappalyzer.js
mklink /h drivers\bookmarklet\js\wappalyzer.js share\js\wappalyzer.js
:: HTML DRIVER
::
::Sync icons folder
::ln -f share\images\icons\* drivers\html\images\icons
if exist drivers\html\images\icons rmdir /q /s drivers\html\images\icons
mklink /j drivers\html\images\icons share\images\icons
::Sync lib folder
::ln -f share\js\lib\jquery.min.js drivers\html\js\lib
if exist drivers\html\js\lib rmdir /q /s drivers\html\js\lib
mklink /j drivers\html\js\lib share\js\lib
::Sync apps JSON
::ln -f share\apps.json drivers\html
if exist drivers\html\apps.json del drivers\html\apps.json
mklink /h drivers\html\apps.json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\html\js
if exist drivers\html\js\wappalyzer.js del drivers\html\js\wappalyzer.js
mklink /h drivers\html\js\wappalyzer.js share\js\wappalyzer.js
:: PHP DRIVER
::
::Sync apps JSON
::ln -f share\apps.json drivers\php
if exist drivers\php\apps.json del drivers\php\apps.json
mklink /h drivers\php\apps.json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\php\js
if exist drivers\php\js\wappalyzer.js del drivers\php\js\wappalyzer.js
mklink /h drivers\php\js\wappalyzer.js share\js\wappalyzer.js

@ -533,6 +533,7 @@
"eZ Publish": { "eZ Publish": {
"cats": [ "1", "6" ], "cats": [ "1", "6" ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish$" },
"implies": [ "PHP" ] "implies": [ "PHP" ]
}, },
"Fact Finder": { "Fact Finder": {

Loading…
Cancel
Save