From 9bdd69390dd4a628b1327fd1dba009cc33a941ab Mon Sep 17 00:00:00 2001 From: q-- Date: Tue, 16 Oct 2012 11:37:21 +0300 Subject: [PATCH 1/2] Added X-Powered-By eZ Publish header Detect eZ Publish using the header it sends. --- share/apps.json | 1 + 1 file changed, 1 insertion(+) diff --git a/share/apps.json b/share/apps.json index cb478903e..605b24c43 100644 --- a/share/apps.json +++ b/share/apps.json @@ -533,6 +533,7 @@ "eZ Publish": { "cats": [ "1", "6" ], "meta": { "generator": "eZ Publish" }, + "headers": { "X-Powered-By": "^eZ Publish$" }, "implies": [ "PHP" ] }, "Fact Finder": { From 4c99249c0255d6461c25fcea847810df74eed309 Mon Sep 17 00:00:00 2001 From: q-- Date: Tue, 16 Oct 2012 15:31:51 +0200 Subject: [PATCH 2/2] Added links.sh alternative for Windows links.cmd does the same as the UNIX equivalent links.sh --- README.md | 244 +++++++++++++++++++++++++++--------------------------- links.cmd | 133 +++++++++++++++++++++++++++++ 2 files changed, 255 insertions(+), 122 deletions(-) create mode 100644 links.cmd diff --git a/README.md b/README.md index 5ec16995b..4b85769d2 100644 --- a/README.md +++ b/README.md @@ -1,122 +1,122 @@ -Wappalyzer -========== - -[Wappalyzer](http://wappalyzer.com/) is a -[browser extension](http://wappalyzer.com/download) that uncovers the -technologies used on websites. It detects -[content management systems](http://wappalyzer.com/categories/cms), -[web shops](http://wappalyzer.com/categories/web-shops), -[web servers](http://wappalyzer.com/categories/web-servers), -[JavaScript frameworks](http://wappalyzer.com/categories/javascript-frameworks), -[analytics tools](http://wappalyzer.com/categories/analytics) and -[many more](http://wappalyzer.com/applications). - - -Contributing ------------- - -**Adding a new application** - -* Edit `share/apps.json` -* 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. - -Example: - -```javascript -"Application Name": { - cats: [ "1" ], - headers: { "X-Powered-By": "Application Name" }, - url: ".+\\.application-name\\.com", - html: "]application-name\\.css", - meta: { "generator": "Application Name" }, - script: "application-name\\.js", - env: "ApplicationName", - implies: [ "PHP" ] - } -``` - - -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 the `links.sh` script (UNIX-like -system only, Windows user will have to manually copy the files across.) - - -**Mozilla Firefox** - -* Place a file called `wappalyzer@crunchlabz.com` in the extensions directory in - your [profile folder](http://kb.mozillazine.org/Profile_folder_-_Firefox) - (`~/.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** - -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 -API limitations.) - -* Navigate to `about:extensions` -* Check "Developer mode" -* Click "Load unpacked extension..." -* Select `drivers/chrome/` - - -**Bookmarklet** - -Beta version available for testing at [wappalyzer.com/bookmarklet](http://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](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: - -* `# 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: - -```php -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. - - -Screenshot ----------- - -Wappalyzer on Firefox: - -![Screenshot](http://wappalyzer.com/sites/default/themes/wappalyzer/images/installed.png) +Wappalyzer +========== + +[Wappalyzer](http://wappalyzer.com/) is a +[browser extension](http://wappalyzer.com/download) that uncovers the +technologies used on websites. It detects +[content management systems](http://wappalyzer.com/categories/cms), +[web shops](http://wappalyzer.com/categories/web-shops), +[web servers](http://wappalyzer.com/categories/web-servers), +[JavaScript frameworks](http://wappalyzer.com/categories/javascript-frameworks), +[analytics tools](http://wappalyzer.com/categories/analytics) and +[many more](http://wappalyzer.com/applications). + + +Contributing +------------ + +**Adding a new application** + +* Edit `share/apps.json` +* 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. + +Example: + +```javascript +"Application Name": { + cats: [ "1" ], + headers: { "X-Powered-By": "Application Name" }, + url: ".+\\.application-name\\.com", + html: "]application-name\\.css", + meta: { "generator": "Application Name" }, + script: "application-name\\.js", + env: "ApplicationName", + implies: [ "PHP" ] + } +``` + + +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 the `links.sh` script (UNIX-like +systems only, Windows users can use `links.cmd`.) + + +**Mozilla Firefox** + +* Place a file called `wappalyzer@crunchlabz.com` in the extensions directory in + your [profile folder](http://kb.mozillazine.org/Profile_folder_-_Firefox) + (`~/.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** + +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 +API limitations.) + +* Navigate to `about:extensions` +* Check "Developer mode" +* Click "Load unpacked extension..." +* Select `drivers/chrome/` + + +**Bookmarklet** + +Beta version available for testing at [wappalyzer.com/bookmarklet](http://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](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: + +* `# 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: + +```php +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. + + +Screenshot +---------- + +Wappalyzer on Firefox: + +![Screenshot](http://wappalyzer.com/sites/default/themes/wappalyzer/images/installed.png) diff --git a/links.cmd b/links.cmd new file mode 100644 index 000000000..d4f935e8e --- /dev/null +++ b/links.cmd @@ -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 \ No newline at end of file