From baf7aa98c22331682bf93de6c249ddb7fbf25879 Mon Sep 17 00:00:00 2001
From: Peter
Date: Mon, 6 Mar 2017 09:12:15 +0200
Subject: [PATCH 01/10] CloudCart logo updated
---
src/icons/cloudcart.svg | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/src/icons/cloudcart.svg b/src/icons/cloudcart.svg
index a97253618..9d608655b 100644
--- a/src/icons/cloudcart.svg
+++ b/src/icons/cloudcart.svg
@@ -1 +1,24 @@
-
\ No newline at end of file
+
+
+
+
From 44b4d2a6260e2149e4b97def8249fe1c71bcfa06 Mon Sep 17 00:00:00 2001
From: AlexByte
Date: Sat, 11 Mar 2017 03:47:59 +0300
Subject: [PATCH 02/10] FIx false positive env detection of Nette Framework
---
src/apps.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/apps.json b/src/apps.json
index 975530295..8f299f0f9 100755
--- a/src/apps.json
+++ b/src/apps.json
@@ -5280,7 +5280,7 @@
"cats": [
18
],
- "env": "Nette",
+ "env": "^Nette$",
"headers": {
"Set-Cookie": "nette-browser=",
"X-Powered-By": "Nette Framework"
From 341c9d86c8ad71eae09e72f9aedc4f0c4071614e Mon Sep 17 00:00:00 2001
From: jvoisin
Date: Mon, 13 Mar 2017 15:03:08 +0100
Subject: [PATCH 03/10] Express implies nodejs, no need to add it along.
---
src/apps.json | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/apps.json b/src/apps.json
index e36664ac0..cebb98f07 100755
--- a/src/apps.json
+++ b/src/apps.json
@@ -4711,8 +4711,7 @@
"implies": [
"MongoDB",
"Express",
- "AngularJS",
- "Node.js"
+ "AngularJS"
],
"website": "http://mean.io"
},
@@ -6775,10 +6774,7 @@
"X-Powered-By": "^Sails$"
},
"icon": "Sails.js.svg",
- "implies": [
- "Node.js",
- "Express"
- ],
+ "implies": "Express",
"website": "http://sailsjs.org"
},
"Sarka-SPIP": {
From 4f6908e9b026eafb14ec7a0b95e74c6e8e095033 Mon Sep 17 00:00:00 2001
From: Craig London
Date: Mon, 13 Mar 2017 22:52:03 -0400
Subject: [PATCH 04/10] Fix declaration of some variables
---
src/drivers/bookmarklet/driver.js | 2 +-
src/drivers/chrome/js/i18n.js | 5 ++---
src/drivers/chrome/js/inject.js | 3 ++-
src/drivers/chrome/js/popup.js | 2 +-
src/drivers/firefox/data/js/panel.js | 6 +++---
src/drivers/firefox/data/js/tab.js | 4 ++--
src/drivers/phantomjs/driver.js | 4 ++--
7 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/drivers/bookmarklet/driver.js b/src/drivers/bookmarklet/driver.js
index 5c5f0f368..a2e93a30e 100644
--- a/src/drivers/bookmarklet/driver.js
+++ b/src/drivers/bookmarklet/driver.js
@@ -9,7 +9,7 @@
var
w = wappalyzer,
- debug = true
+ debug = true,
d = window.document,
container = d.getElementById('wappalyzer-container'),
domain = window.top.location.host,
diff --git a/src/drivers/chrome/js/i18n.js b/src/drivers/chrome/js/i18n.js
index f8207e6e1..2f11efbc5 100644
--- a/src/drivers/chrome/js/i18n.js
+++ b/src/drivers/chrome/js/i18n.js
@@ -1,9 +1,8 @@
document.addEventListener('DOMContentLoaded', function() {
var
i, value,
- d = document
- nodes = d.getElementsByTagName('*')
- ;
+ d = document,
+ nodes = d.getElementsByTagName('*');
for ( i = 0; i < nodes.length; i ++ ) {
if ( attr = nodes[i].dataset.i18n ) {
diff --git a/src/drivers/chrome/js/inject.js b/src/drivers/chrome/js/inject.js
index fd734182e..2a8856596 100644
--- a/src/drivers/chrome/js/inject.js
+++ b/src/drivers/chrome/js/inject.js
@@ -1,6 +1,7 @@
(function() {
try {
- var i, environmentVars, e = document.createEvent('Events');
+ var i, environmentVars,
+ e = document.createEvent('Events');
e.initEvent('wappalyzerEvent', true, false);
diff --git a/src/drivers/chrome/js/popup.js b/src/drivers/chrome/js/popup.js
index a2657b67b..e3afa610a 100644
--- a/src/drivers/chrome/js/popup.js
+++ b/src/drivers/chrome/js/popup.js
@@ -37,7 +37,7 @@ document.addEventListener('DOMContentLoaded', function() {
confidence = response.tabCache.appsDetected[appName].confidenceTotal;
version = response.tabCache.appsDetected[appName].version;
- html =
+ var html =
'' +
'
' +
'' +
diff --git a/src/drivers/firefox/data/js/panel.js b/src/drivers/firefox/data/js/panel.js
index 60f97d102..8fbfc9d3d 100644
--- a/src/drivers/firefox/data/js/panel.js
+++ b/src/drivers/firefox/data/js/panel.js
@@ -1,7 +1,7 @@
(function() {
self.port.on('displayApps', function(message) {
var
- div, a, img, label, name, slugify,
+ div, a, img, label, name, slugify, confidence, version,
d = document,
detectedApps = d.getElementById('detected-apps'),
empty = d.getElementById('empty');
@@ -52,8 +52,8 @@
label.appendChild(name);
label.appendChild(d.createTextNode(( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '')));
- a.appendChild(img)
- a.appendChild(label)
+ a.appendChild(img);
+ a.appendChild(label);
div.appendChild(a);
diff --git a/src/drivers/firefox/data/js/tab.js b/src/drivers/firefox/data/js/tab.js
index c4bd3c65b..eafd3c507 100644
--- a/src/drivers/firefox/data/js/tab.js
+++ b/src/drivers/firefox/data/js/tab.js
@@ -4,8 +4,8 @@
try {
if ( document && document.contentType === 'text/html' ) {
var
- html = new XMLSerializer().serializeToString(document)
- env = [];
+ html = new XMLSerializer().serializeToString(document),
+ env = []; // TODO: Remove, `env` not used in this scope?
self.port.emit('log', html);
diff --git a/src/drivers/phantomjs/driver.js b/src/drivers/phantomjs/driver.js
index 922e3cb05..3c409d279 100644
--- a/src/drivers/phantomjs/driver.js
+++ b/src/drivers/phantomjs/driver.js
@@ -5,8 +5,8 @@
scriptDir,
scriptPath = require('fs').absolute(require('system').args[0]),
resourceTimeout = 9000,
- args = [],
- debug = false; // Output debug messages
+ args = [], // TODO: Not used, maybe should be `arg`
+ debug = false, // Output debug messages
quiet = false; // Don't output errors
try {
From 302bf61d33c4a24939cf38c63749d8a34a6cd6e3 Mon Sep 17 00:00:00 2001
From: jvoisin
Date: Wed, 15 Mar 2017 15:13:04 +0100
Subject: [PATCH 05/10] Remove the Elm language detection
Elm detection was based on the `Elm` pattern in `env`, leading to false
positives, as described [in the documentation](https://github.com/AliasIO/Wappalyzer/wiki/Specification#too-generic-patterns).
---
src/apps.json | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/src/apps.json b/src/apps.json
index e36664ac0..d3b9098de 100755
--- a/src/apps.json
+++ b/src/apps.json
@@ -2265,15 +2265,6 @@
},
"website": "http://eleanor-cms.ru"
},
- "Elm": {
- "cats": [
- 27,
- 12
- ],
- "env": "^Elm$",
- "icon": "Elm.png",
- "website": "http://elm-lang.org"
- },
"Eloqua": {
"cats": [
32
From 0378f636abc6c51f837c4620662c29b9db78129f Mon Sep 17 00:00:00 2001
From: simonvdfr
Date: Wed, 15 Mar 2017 15:33:38 +0100
Subject: [PATCH 06/10] Add CMS Translucide
---
src/apps.json | 12 ++++++++++++
src/icons/translucide.svg | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+)
create mode 100644 src/icons/translucide.svg
diff --git a/src/apps.json b/src/apps.json
index e36664ac0..99cfaa598 100755
--- a/src/apps.json
+++ b/src/apps.json
@@ -7811,6 +7811,18 @@
"script": "tracker.js",
"website": "http://trackjs.com"
},
+ "Translucide": {
+ "cats": [
+ 1
+ ],
+ "implies": [
+ "PHP",
+ "jQuery"
+ ],
+ "icon": "translucide.svg",
+ "script": "lucide\\.init\\.js",
+ "website": "http://www.translucide.net"
+ },
"Tumblr": {
"cats": [
11
diff --git a/src/icons/translucide.svg b/src/icons/translucide.svg
new file mode 100644
index 000000000..1cadcf7ac
--- /dev/null
+++ b/src/icons/translucide.svg
@@ -0,0 +1,36 @@
+
+
+
+
From 2b68636e0931729cf69613fbb9fdc651e30b1e4e Mon Sep 17 00:00:00 2001
From: AlexByte
Date: Fri, 17 Mar 2017 03:24:17 +0300
Subject: [PATCH 07/10] Add meta generator MODX detection
---
src/apps.json | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/apps.json b/src/apps.json
index e36664ac0..b82952961 100755
--- a/src/apps.json
+++ b/src/apps.json
@@ -4541,6 +4541,9 @@
],
"icon": "MODX.png",
"implies": "PHP",
+ "meta": {
+ "generator": "MODX[^\\d.]*([\\d.]+)?\\;version:\\1"
+ },
"website": "http://modx.com"
},
"MadAdsMedia": {
From d7ca3bb252bd75f5d6ebd018a408f6583ca549f0 Mon Sep 17 00:00:00 2001
From: Arnaud Ligny
Date: Sat, 18 Mar 2017 02:40:25 +0100
Subject: [PATCH 08/10] Update French translation.
---
src/drivers/chrome/_locales/fr/messages.json | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/drivers/chrome/_locales/fr/messages.json b/src/drivers/chrome/_locales/fr/messages.json
index 52fabcef7..122d43020 100644
--- a/src/drivers/chrome/_locales/fr/messages.json
+++ b/src/drivers/chrome/_locales/fr/messages.json
@@ -1,14 +1,14 @@
{
- "github": { "message": "Forker Wappalyzer sur GitHub!" },
- "noAppsDetected": { "message": "Pas d'applications détectées." },
+ "github": { "message": "Forker Wappalyzer sur GitHub !" },
+ "noAppsDetected": { "message": "Aucune application détectée." },
"nothingToDo": { "message": "Rien à faire ici." },
- "optionTracking": { "message": "Envoyer anonymement des rapports sur les applications détectées à wappalyzer.com pour la recherche" },
- "optionUpgradeMessage": { "message": "M'afficher les mises à jour" },
+ "optionTracking": { "message": "Envoyer anonymement des rapports sur les applications détectées à wappalyzer.com pour recherche" },
+ "optionUpgradeMessage": { "message": "M'informer des mises à jour" },
"options": { "message": "Options de Wappalyzer" },
- "optionsSave": { "message": "Sauver les options" },
- "optionsSaved": { "message": "Sauvé" },
+ "optionsSave": { "message": "Sauvegarder les options" },
+ "optionsSaved": { "message": "Sauvegardé" },
"twitter": { "message": "Suivre Wappalyzer sur Twitter" },
- "website": { "message": "Aller à wappalyzer.com" },
+ "website": { "message": "Aller sur wappalyzer.com" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Forum" },
"categoryName3": { "message": "Gestionnaire de base de données" },
From af705b4b67406236ff036240564001615be771e0 Mon Sep 17 00:00:00 2001
From: AlexByte
Date: Sat, 18 Mar 2017 06:26:55 +0300
Subject: [PATCH 09/10] Fix category of PNP-NUKE
PHP-NUKE is CMS
---
src/apps.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/apps.json b/src/apps.json
index e36664ac0..590534f93 100755
--- a/src/apps.json
+++ b/src/apps.json
@@ -5750,7 +5750,7 @@
},
"PHP-Nuke": {
"cats": [
- 2
+ 1
],
"html": "<[^>]+Powered by PHP-Nuke",
"icon": "PHP-Nuke.png",
From 03d649b3ea55a3368a4d67e637d42e8451eec59f Mon Sep 17 00:00:00 2001
From: jvoisin
Date: Sat, 18 Mar 2017 21:44:19 +0100
Subject: [PATCH 10/10] Fix various warnings found by scrutinity
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- Some functions didn't return anything
- Some `for…in` related variables weren't declared
- Some variables were unused
---
src/drivers/chrome/js/driver.js | 4 ++--
src/drivers/chrome/js/options.js | 6 +++---
src/drivers/firefox/data/js/tab.js | 6 +-----
src/drivers/webextension/js/driver.js | 4 ++--
src/drivers/webextension/js/iframe.js | 4 ++--
src/wappalyzer.js | 2 +-
6 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/src/drivers/chrome/js/driver.js b/src/drivers/chrome/js/driver.js
index 3b0fa13ff..d2ec6ae29 100644
--- a/src/drivers/chrome/js/driver.js
+++ b/src/drivers/chrome/js/driver.js
@@ -54,7 +54,7 @@
firstRun = true;
// Set defaults
- for ( option in defaults ) {
+ for ( var option in defaults ) {
localStorage[option] = defaults[option];
}
} else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) {
@@ -189,7 +189,7 @@
if ( count > 0 ) {
// Find the main application to display
- var i, appName, found = false;
+ var appName, found = false;
w.driver.categoryOrder.forEach(function(match) {
for ( appName in w.detected[url] ) {
diff --git a/src/drivers/chrome/js/options.js b/src/drivers/chrome/js/options.js
index 7ee9be839..92d1fe3f7 100644
--- a/src/drivers/chrome/js/options.js
+++ b/src/drivers/chrome/js/options.js
@@ -15,9 +15,9 @@ document.addEventListener('DOMContentLoaded', function() {
},
load: function() {
- for ( option in options.opts ) {
- if ( value = localStorage[option] ) {
- options.opts[option] = value;
+ for ( var option in options.opts ) {
+ if ( localStorage[option] ) {
+ options.opts[option] = localStorage[option];
}
}
diff --git a/src/drivers/firefox/data/js/tab.js b/src/drivers/firefox/data/js/tab.js
index eafd3c507..72719ec2b 100644
--- a/src/drivers/firefox/data/js/tab.js
+++ b/src/drivers/firefox/data/js/tab.js
@@ -1,11 +1,7 @@
(function() {
- var lastEnv = [];
-
try {
if ( document && document.contentType === 'text/html' ) {
- var
- html = new XMLSerializer().serializeToString(document),
- env = []; // TODO: Remove, `env` not used in this scope?
+ var html = new XMLSerializer().serializeToString(document),
self.port.emit('log', html);
diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js
index 9519d680d..f5583a670 100644
--- a/src/drivers/webextension/js/driver.js
+++ b/src/drivers/webextension/js/driver.js
@@ -54,7 +54,7 @@
firstRun = true;
// Set defaults
- for ( option in defaults ) {
+ for ( var option in defaults ) {
localStorage[option] = defaults[option];
}
} else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) {
@@ -195,7 +195,7 @@
if ( count > 0 ) {
// Find the main application to display
- var i, appName, found = false;
+ var appName, found = false;
w.driver.categoryOrder.forEach(function(match) {
for ( appName in w.detected[url] ) {
diff --git a/src/drivers/webextension/js/iframe.js b/src/drivers/webextension/js/iframe.js
index 70f6fc408..fcf40539f 100644
--- a/src/drivers/webextension/js/iframe.js
+++ b/src/drivers/webextension/js/iframe.js
@@ -112,8 +112,6 @@ var exports = {};
try {
dict[key] = window.decodeURIComponent(val);
} catch (e) {
-
- continue;
}
}
return dict;
@@ -307,6 +305,7 @@ var exports = {};
return div;
}
}
+ return null;
};
TopSearcher.prototype._jumpedOut = function(el) {
@@ -988,6 +987,7 @@ var exports = {};
}
}
}
+ return null;
}
function onPostMessage(event) {
diff --git a/src/wappalyzer.js b/src/wappalyzer.js
index 7bddd6930..8eb4f289f 100644
--- a/src/wappalyzer.js
+++ b/src/wappalyzer.js
@@ -242,7 +242,7 @@ var wappalyzer = (function() {
*/
analyze: function(hostname, url, data) {
var
- i, j, app, confidence, type, regexMeta, regexScript, match, content, meta, header, version, id,
+ i, app, confidence, type, regexMeta, regexScript, match, content, meta, header, version, id,
profiler = new Profiler(),
apps = {},
excludes = [],