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 8d8e7dd9a32fd644a01b7282ce7d9db7bfcc175d Mon Sep 17 00:00:00 2001 From: Elbert Alias Date: Mon, 13 Mar 2017 11:54:19 +1100 Subject: [PATCH 03/10] Add Go --- src/apps.json | 41 ++++++++++++++++++++++++----------------- src/icons/Go.svg | 1 + 2 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 src/icons/Go.svg diff --git a/src/apps.json b/src/apps.json index 975530295..e36664ac0 100755 --- a/src/apps.json +++ b/src/apps.json @@ -2218,23 +2218,6 @@ "icon": "ESERV-10.png", "website": "http://www.violasystems.com" }, - "Etherpad": { - "cats": [ - 24 - ], - "headers": { - "Server": "^Etherpad" - }, - "env": [ - "^pad(?:editbar|impexp)$" - ], - "script": [ - "/ep_etherpad-lite/" - ], - "icon": "etherpad.png", - "implies": "Node.js", - "website": "https://etherpad.org" - }, "EWS-NIC4": { "cats": [ 22 @@ -2368,6 +2351,23 @@ "icon": "Erlang.png", "website": "http://www.erlang.org" }, + "Etherpad": { + "cats": [ + 24 + ], + "env": [ + "^pad(?:editbar|impexp)$" + ], + "headers": { + "Server": "^Etherpad" + }, + "icon": "etherpad.png", + "implies": "Node.js", + "script": [ + "/ep_etherpad-lite/" + ], + "website": "https://etherpad.org" + }, "Exagon Concept": { "cats": [ 1 @@ -2867,6 +2867,13 @@ "icon": "Glyphicons.png", "website": "http://glyphicons.com" }, + "Go": { + "cats": [ + 27 + ], + "icon": "Go.svg", + "website": "https://golang.org" + }, "GoAhead": { "cats": [ 22 diff --git a/src/icons/Go.svg b/src/icons/Go.svg new file mode 100644 index 000000000..8b0b1af64 --- /dev/null +++ b/src/icons/Go.svg @@ -0,0 +1 @@ + \ No newline at end of file From 92fbcbd6e5d9b48879de80020d77f5cb15beb027 Mon Sep 17 00:00:00 2001 From: Elbert Alias Date: Mon, 13 Mar 2017 13:15:43 +1100 Subject: [PATCH 04/10] Move onMessage to separate function in WebExtension --- src/drivers/webextension/css/options.css | 2 +- src/drivers/webextension/css/popup.css | 19 ----- src/drivers/webextension/js/driver.js | 91 ++++++++++++------------ src/drivers/webextension/js/popup.js | 5 -- src/drivers/webextension/popup.html | 4 -- 5 files changed, 47 insertions(+), 74 deletions(-) diff --git a/src/drivers/webextension/css/options.css b/src/drivers/webextension/css/options.css index bd6096f5f..a5398318c 100644 --- a/src/drivers/webextension/css/options.css +++ b/src/drivers/webextension/css/options.css @@ -84,7 +84,7 @@ a:active { #about { border-top: 1px solid #dbdbdb; margin-top: 2.5rem; - padding: 1.5rem 0 1.5rem 0; + padding: 1.5rem 0 0 0; } #about img { diff --git a/src/drivers/webextension/css/popup.css b/src/drivers/webextension/css/popup.css index 6c91d5888..b95650b77 100644 --- a/src/drivers/webextension/css/popup.css +++ b/src/drivers/webextension/css/popup.css @@ -75,22 +75,3 @@ img { font-style: italic; text-align: center; } - -#footer { - border-top: 1px solid #ccc; - margin-top: 17px; - overflow: hidden; - padding-top: 11px; -} - -#footer a { - text-decoration: none; -} - -#footer a:hover { - border-bottom: 1px solid #dbdbdb; -} - -#options { - float: right; -} diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js index 77a9b71cd..9519d680d 100644 --- a/src/drivers/webextension/js/driver.js +++ b/src/drivers/webextension/js/driver.js @@ -64,52 +64,10 @@ localStorage['version'] = version; } catch(e) { } - function newMsg(message, sender, sendResponse) { - var - hostname, - a = document.createElement('a'); - - if ( typeof message.id != 'undefined' ) { - w.log('message: ' + message.id); - - switch ( message.id ) { - case 'log': - w.log(message.message); - - break; - case 'analyze': - tab = sender.tab; - - a.href = tab.url.replace(/#.*$/, ''); - - hostname = a.hostname; - - if ( headersCache[a.href] !== undefined ) { - message.subject.headers = headersCache[a.href]; - } - - w.analyze(hostname, a.href, message.subject); - - break; - case 'ad_log': - w.adCache.push(message.subject); - - break; - case 'get_apps': - sendResponse({ - tabCache: tabCache[message.tab.id], - apps: w.apps, - categories: w.categories - }); - - break; - } - } - } - if (typeof chrome === "undefined") { - browser.runtime.onMessage.addListener(newMsg); + if ( typeof chrome === 'undefined' ) { + browser.runtime.onMessage.addListener(w.driver.onMessage); } else { - chrome.runtime.onMessage.addListener(newMsg); + chrome.runtime.onMessage.addListener(w.driver.onMessage); } browser.tabs.query({}).then(function(tabs) { @@ -168,6 +126,49 @@ } }, + onMessage: function(message, sender, sendResponse) { + var + hostname, + a = document.createElement('a'); + + if ( typeof message.id != 'undefined' ) { + w.log('message: ' + message.id); + + switch ( message.id ) { + case 'log': + w.log(message.message); + + break; + case 'analyze': + tab = sender.tab; + + a.href = tab.url.replace(/#.*$/, ''); + + hostname = a.hostname; + + if ( headersCache[a.href] !== undefined ) { + message.subject.headers = headersCache[a.href]; + } + + w.analyze(hostname, a.href, message.subject); + + break; + case 'ad_log': + w.adCache.push(message.subject); + + break; + case 'get_apps': + sendResponse({ + tabCache: tabCache[message.tab.id], + apps: w.apps, + categories: w.categories + }); + + break; + } + } + }, + goToURL: function(args) { var url = args.url + ( typeof args.medium === 'undefined' ? '' : '?pk_campaign=chrome&pk_kwd=' + args.medium); diff --git a/src/drivers/webextension/js/popup.js b/src/drivers/webextension/js/popup.js index 4293aed21..14e6fb162 100644 --- a/src/drivers/webextension/js/popup.js +++ b/src/drivers/webextension/js/popup.js @@ -10,11 +10,6 @@ document.addEventListener('DOMContentLoaded', function() { popup = { init: function() { - - d.getElementById('options').addEventListener('click', function() { - window.open(browser.extension.getURL('options.html')); - }); - browser.tabs.query({ active: true }).then(function(tabs) { if ( tabs[0].url.match(/https?:\/\//) ) { detectedApps.innerHTML = '
' + browser.i18n.getMessage('noAppsDetected') + '
'; diff --git a/src/drivers/webextension/popup.html b/src/drivers/webextension/popup.html index 35c1ea3e5..1548d426e 100644 --- a/src/drivers/webextension/popup.html +++ b/src/drivers/webextension/popup.html @@ -13,9 +13,5 @@
- - From 341c9d86c8ad71eae09e72f9aedc4f0c4071614e Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 13 Mar 2017 15:03:08 +0100 Subject: [PATCH 05/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 06/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 07/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 08/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 09/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 10/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" },