diff --git a/README.md b/README.md index de138c6c1..ac4e274b4 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ want to port Wappalyzer to a new platform. **PHP** The PHP driver requires the [V8js](http://php.net/manual/en/book.v8js.php) class. Installing V8js -using PECL 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` * `# pecl install channel://pecl.php.net/v8js-0.1.3` diff --git a/drivers/bookmarklet/images/icons/Ruby on Rails.png b/drivers/bookmarklet/images/icons/Ruby on Rails.png new file mode 100644 index 000000000..ca0ca559a Binary files /dev/null and b/drivers/bookmarklet/images/icons/Ruby on Rails.png differ diff --git a/drivers/chrome/images/icons/Ruby on Rails.png b/drivers/chrome/images/icons/Ruby on Rails.png new file mode 100644 index 000000000..ca0ca559a Binary files /dev/null and b/drivers/chrome/images/icons/Ruby on Rails.png differ diff --git a/drivers/firefox/content/js/content.js b/drivers/firefox/content/js/content.js index a1c10a3e9..7f8bc44dc 100644 --- a/drivers/firefox/content/js/content.js +++ b/drivers/firefox/content/js/content.js @@ -1,6 +1,8 @@ "use strict"; (function() { + var lastEnv = null; + addEventListener('DOMContentLoaded', function() { removeEventListener('DOMContentLoaded', onLoad, false); @@ -8,10 +10,16 @@ }, false); function onLoad() { - if ( content.document.contentType != 'text/html' ) { return }; + if ( content.document.contentType != 'text/html' ) { return; } content.document.documentElement.addEventListener('load', function() { - sendAsyncMessage('wappalyzer', { env: Object.keys(content.wrappedJSObject) }); + var env = Object.keys(content.wrappedJSObject); + + if ( env.join() !== lastEnv ) { + lastEnv = env.join(); + + sendAsyncMessage('wappalyzer', { env: Object.keys(content.wrappedJSObject) }); + } removeEventListener('load', onLoad, true); }, true); @@ -31,7 +39,6 @@ sendAsyncMessage('wappalyzer', { hostname: content.location.hostname, html: html, - env: Object.keys(content.wrappedJSObject), url: content.location.href }); } diff --git a/drivers/firefox/content/js/driver.js b/drivers/firefox/content/js/driver.js index 3c5703be0..7df97e7cd 100644 --- a/drivers/firefox/content/js/driver.js +++ b/drivers/firefox/content/js/driver.js @@ -151,7 +151,7 @@ ; menuItem.bind('command', function() { - w.driver.goToURL({ url: w.config.websiteURL + 'applications/' + app.toLowerCase().replace(/ /g, '-').replace(/[^\w]/g, '') }); + w.driver.goToURL({ url: w.config.websiteURL + 'applications/' + app.toLowerCase().replace(/ /g, '-').replace(/[^\w-]/g, '') }); }); $('#wappalyzer-menu').append(menuItem); diff --git a/drivers/firefox/install.rdf b/drivers/firefox/install.rdf index 9db4c7a38..bbdc06d4d 100644 --- a/drivers/firefox/install.rdf +++ b/drivers/firefox/install.rdf @@ -3,7 +3,7 @@ wappalyzer@crunchlabz.com - 2.3.2 + 2.3.4 2 true diff --git a/drivers/firefox/skin/images/icons/Ruby on Rails.png b/drivers/firefox/skin/images/icons/Ruby on Rails.png new file mode 100644 index 000000000..ca0ca559a Binary files /dev/null and b/drivers/firefox/skin/images/icons/Ruby on Rails.png differ diff --git a/drivers/html/images/icons/Ruby on Rails.png b/drivers/html/images/icons/Ruby on Rails.png new file mode 100644 index 000000000..ca0ca559a Binary files /dev/null and b/drivers/html/images/icons/Ruby on Rails.png differ diff --git a/share/images/icons/Ruby on Rails.png b/share/images/icons/Ruby on Rails.png new file mode 100644 index 000000000..ca0ca559a Binary files /dev/null and b/share/images/icons/Ruby on Rails.png differ