From ae80ef65aab8fe157ab0bb905b33d8f3f8441d99 Mon Sep 17 00:00:00 2001 From: ElbertF Date: Sun, 16 Sep 2012 15:24:21 +1000 Subject: [PATCH] Updated tracking, Chartbeat icon --- drivers/bookmarklet/js/wappalyzer.js | 21 +++++++++++++----- drivers/chrome/js/content.js | 2 +- drivers/chrome/js/wappalyzer.js | 21 +++++++++++++----- drivers/chrome/manifest.json | 2 +- drivers/firefox/content/js/wappalyzer.js | 21 +++++++++++++----- drivers/firefox/install.rdf | 2 +- .../firefox/skin/images/icons/chartbeat.png | Bin 133 -> 0 bytes drivers/html/js/wappalyzer.js | 21 +++++++++++++----- share/js/wappalyzer.js | 21 +++++++++++++----- 9 files changed, 83 insertions(+), 28 deletions(-) delete mode 100644 drivers/firefox/skin/images/icons/chartbeat.png diff --git a/drivers/bookmarklet/js/wappalyzer.js b/drivers/bookmarklet/js/wappalyzer.js index f2b95df7b..6c42357e4 100644 --- a/drivers/bookmarklet/js/wappalyzer.js +++ b/drivers/bookmarklet/js/wappalyzer.js @@ -205,7 +205,7 @@ var wappalyzer = wappalyzer || (function() { w.log(apps.length + ' apps detected: ' + apps.join(', ')); // Keep history of detected apps - var i, app; + var i, app, match; for ( i in apps ) { app = apps[i]; @@ -217,7 +217,7 @@ var wappalyzer = wappalyzer || (function() { } if ( typeof w.ping.hostnames[hostname] === 'undefined' ) { - w.ping.hostnames[hostname] = { applications: {} }; + w.ping.hostnames[hostname] = { applications: {}, meta: {} }; } if ( typeof w.ping.hostnames[hostname].applications[app] === 'undefined' ) { @@ -225,13 +225,24 @@ var wappalyzer = wappalyzer || (function() { } w.ping.hostnames[hostname].applications[app] ++; - - if ( Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } } // Per URL if ( w.detected[url].indexOf(app) === -1 ) { w.detected[url].push(app); } - }; + } + + // Additional information + if ( typeof w.ping.hostnames !== 'undefined' && typeof w.ping.hostnames[hostname] !== 'undefined' ) { + if ( data.html != null ) { + match = data.html.match(/]*[: ]lang="([^"]+)"/); + + if ( match != null && match.length ) { + w.ping.hostnames[hostname].meta['language'] = match[1]; + } + } + } + + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } apps = null; data = null; diff --git a/drivers/chrome/js/content.js b/drivers/chrome/js/content.js index 6fa684d73..24b5330bd 100644 --- a/drivers/chrome/js/content.js +++ b/drivers/chrome/js/content.js @@ -3,7 +3,7 @@ init: function() { c.log('init'); - chrome.extension.sendRequest({ id: 'analyze', subject: { html: document.documentElement.innerHTML } }); + chrome.extension.sendRequest({ id: 'analyze', subject: { html: document.documentElement.outerHTML } }); c.getEnvironmentVars(); }, diff --git a/drivers/chrome/js/wappalyzer.js b/drivers/chrome/js/wappalyzer.js index f2b95df7b..6c42357e4 100644 --- a/drivers/chrome/js/wappalyzer.js +++ b/drivers/chrome/js/wappalyzer.js @@ -205,7 +205,7 @@ var wappalyzer = wappalyzer || (function() { w.log(apps.length + ' apps detected: ' + apps.join(', ')); // Keep history of detected apps - var i, app; + var i, app, match; for ( i in apps ) { app = apps[i]; @@ -217,7 +217,7 @@ var wappalyzer = wappalyzer || (function() { } if ( typeof w.ping.hostnames[hostname] === 'undefined' ) { - w.ping.hostnames[hostname] = { applications: {} }; + w.ping.hostnames[hostname] = { applications: {}, meta: {} }; } if ( typeof w.ping.hostnames[hostname].applications[app] === 'undefined' ) { @@ -225,13 +225,24 @@ var wappalyzer = wappalyzer || (function() { } w.ping.hostnames[hostname].applications[app] ++; - - if ( Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } } // Per URL if ( w.detected[url].indexOf(app) === -1 ) { w.detected[url].push(app); } - }; + } + + // Additional information + if ( typeof w.ping.hostnames !== 'undefined' && typeof w.ping.hostnames[hostname] !== 'undefined' ) { + if ( data.html != null ) { + match = data.html.match(/]*[: ]lang="([^"]+)"/); + + if ( match != null && match.length ) { + w.ping.hostnames[hostname].meta['language'] = match[1]; + } + } + } + + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } apps = null; data = null; diff --git a/drivers/chrome/manifest.json b/drivers/chrome/manifest.json index b8ebd1f09..f27f6bab1 100644 --- a/drivers/chrome/manifest.json +++ b/drivers/chrome/manifest.json @@ -1,7 +1,7 @@ { "name": "Wappalyzer", "homepage_url": "http://wappalyzer.com", "description": "Identifies software on the web", - "version": "2.5", + "version": "2.6", "default_locale": "en", "manifest_version": 2, "icons": { diff --git a/drivers/firefox/content/js/wappalyzer.js b/drivers/firefox/content/js/wappalyzer.js index f2b95df7b..6c42357e4 100644 --- a/drivers/firefox/content/js/wappalyzer.js +++ b/drivers/firefox/content/js/wappalyzer.js @@ -205,7 +205,7 @@ var wappalyzer = wappalyzer || (function() { w.log(apps.length + ' apps detected: ' + apps.join(', ')); // Keep history of detected apps - var i, app; + var i, app, match; for ( i in apps ) { app = apps[i]; @@ -217,7 +217,7 @@ var wappalyzer = wappalyzer || (function() { } if ( typeof w.ping.hostnames[hostname] === 'undefined' ) { - w.ping.hostnames[hostname] = { applications: {} }; + w.ping.hostnames[hostname] = { applications: {}, meta: {} }; } if ( typeof w.ping.hostnames[hostname].applications[app] === 'undefined' ) { @@ -225,13 +225,24 @@ var wappalyzer = wappalyzer || (function() { } w.ping.hostnames[hostname].applications[app] ++; - - if ( Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } } // Per URL if ( w.detected[url].indexOf(app) === -1 ) { w.detected[url].push(app); } - }; + } + + // Additional information + if ( typeof w.ping.hostnames !== 'undefined' && typeof w.ping.hostnames[hostname] !== 'undefined' ) { + if ( data.html != null ) { + match = data.html.match(/]*[: ]lang="([^"]+)"/); + + if ( match != null && match.length ) { + w.ping.hostnames[hostname].meta['language'] = match[1]; + } + } + } + + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } apps = null; data = null; diff --git a/drivers/firefox/install.rdf b/drivers/firefox/install.rdf index 37a995370..49f5ec624 100644 --- a/drivers/firefox/install.rdf +++ b/drivers/firefox/install.rdf @@ -3,7 +3,7 @@ wappalyzer@crunchlabz.com - 2.3.0 + 2.3.1 2 true diff --git a/drivers/firefox/skin/images/icons/chartbeat.png b/drivers/firefox/skin/images/icons/chartbeat.png deleted file mode 100644 index 2cb597cc7ed6478bd165b27d0a3864f9bb5143d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|uK$gMLFoT~wWBL10tFdM zg8YIR9G=}s19G%HT^vI=t|uonFdw^cfr0JXg$n`_6SSFM8^>bP0l+XkKb$uxq diff --git a/drivers/html/js/wappalyzer.js b/drivers/html/js/wappalyzer.js index f2b95df7b..6c42357e4 100644 --- a/drivers/html/js/wappalyzer.js +++ b/drivers/html/js/wappalyzer.js @@ -205,7 +205,7 @@ var wappalyzer = wappalyzer || (function() { w.log(apps.length + ' apps detected: ' + apps.join(', ')); // Keep history of detected apps - var i, app; + var i, app, match; for ( i in apps ) { app = apps[i]; @@ -217,7 +217,7 @@ var wappalyzer = wappalyzer || (function() { } if ( typeof w.ping.hostnames[hostname] === 'undefined' ) { - w.ping.hostnames[hostname] = { applications: {} }; + w.ping.hostnames[hostname] = { applications: {}, meta: {} }; } if ( typeof w.ping.hostnames[hostname].applications[app] === 'undefined' ) { @@ -225,13 +225,24 @@ var wappalyzer = wappalyzer || (function() { } w.ping.hostnames[hostname].applications[app] ++; - - if ( Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } } // Per URL if ( w.detected[url].indexOf(app) === -1 ) { w.detected[url].push(app); } - }; + } + + // Additional information + if ( typeof w.ping.hostnames !== 'undefined' && typeof w.ping.hostnames[hostname] !== 'undefined' ) { + if ( data.html != null ) { + match = data.html.match(/]*[: ]lang="([^"]+)"/); + + if ( match != null && match.length ) { + w.ping.hostnames[hostname].meta['language'] = match[1]; + } + } + } + + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } apps = null; data = null; diff --git a/share/js/wappalyzer.js b/share/js/wappalyzer.js index f2b95df7b..6c42357e4 100644 --- a/share/js/wappalyzer.js +++ b/share/js/wappalyzer.js @@ -205,7 +205,7 @@ var wappalyzer = wappalyzer || (function() { w.log(apps.length + ' apps detected: ' + apps.join(', ')); // Keep history of detected apps - var i, app; + var i, app, match; for ( i in apps ) { app = apps[i]; @@ -217,7 +217,7 @@ var wappalyzer = wappalyzer || (function() { } if ( typeof w.ping.hostnames[hostname] === 'undefined' ) { - w.ping.hostnames[hostname] = { applications: {} }; + w.ping.hostnames[hostname] = { applications: {}, meta: {} }; } if ( typeof w.ping.hostnames[hostname].applications[app] === 'undefined' ) { @@ -225,13 +225,24 @@ var wappalyzer = wappalyzer || (function() { } w.ping.hostnames[hostname].applications[app] ++; - - if ( Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } } // Per URL if ( w.detected[url].indexOf(app) === -1 ) { w.detected[url].push(app); } - }; + } + + // Additional information + if ( typeof w.ping.hostnames !== 'undefined' && typeof w.ping.hostnames[hostname] !== 'undefined' ) { + if ( data.html != null ) { + match = data.html.match(/]*[: ]lang="([^"]+)"/); + + if ( match != null && match.length ) { + w.ping.hostnames[hostname].meta['language'] = match[1]; + } + } + } + + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 200 ) { driver('ping'); } apps = null; data = null;