From 7a0083076f30a1e0dee306dbf587e732971977f4 Mon Sep 17 00:00:00 2001 From: Julien Chanseaume Date: Fri, 27 Nov 2015 06:29:17 +0100 Subject: [PATCH 1/8] Updated Thelia specification Updated Thelia specification --- src/apps.json | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/apps.json b/src/apps.json index 4a18ed6fa..01eb1ec96 100755 --- a/src/apps.json +++ b/src/apps.json @@ -6541,17 +6541,12 @@ 1, 6 ], - "headers": { - "Set-Cookie": "thelia_cart=" - }, + "html": "<(?:link|style|script)[^>]+/assets/frontOffice/", "implies": [ "PHP", "Symfony" ], - "meta": { - "generator": "Thelia v([\\d.]+)\\;version:\\1" - }, - "website": "www.thelia.net", + "website": "thelia.net", "icon": "Thelia.png" }, "TiddlyWiki": { @@ -8697,4 +8692,4 @@ "50": "document-management-systems", "51": "landing-page-builders" } -} \ No newline at end of file +} From 603413ed3aefc7de916691b0e301297e7e7dae9d Mon Sep 17 00:00:00 2001 From: q-- Date: Mon, 21 Dec 2015 21:51:07 +0100 Subject: [PATCH 2/8] Add Bounce Exchange --- src/apps.json | 10 ++++++++++ src/icons/Bounce Exchange.svg | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/icons/Bounce Exchange.svg diff --git a/src/apps.json b/src/apps.json index f4f1813b6..4117b208e 100755 --- a/src/apps.json +++ b/src/apps.json @@ -822,6 +822,16 @@ "website": "cibonfire.com", "icon": "Bonfire.png" }, + "Bounce Exchange": { + "cats": [ + 32 + ], + "env": "^bouncex$", + "html": "]*>[^>]+\\.src\\s*=\\s*['\"](?:https?:)?//tag\\.bounceexchange\\.com/", + "script": "^https?://tag\\.bounceexchange\\.com/", + "website": "www.bounceexchange.com", + "icon": "Bounce Exchange.svg" + }, "Brother": { "cats": [ 40 diff --git a/src/icons/Bounce Exchange.svg b/src/icons/Bounce Exchange.svg new file mode 100644 index 000000000..12498c46c --- /dev/null +++ b/src/icons/Bounce Exchange.svg @@ -0,0 +1,16 @@ + + + + + + From b8f7adf8ef36f16e1498d692ae7e677b95a22205 Mon Sep 17 00:00:00 2001 From: DaAwesomeP Date: Thu, 24 Dec 2015 12:58:21 -0600 Subject: [PATCH 3/8] Add Sails.js --- src/apps.json | 21 +++++++++++++++++++-- src/icons/Sails.js.svg | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 src/icons/Sails.js.svg diff --git a/src/apps.json b/src/apps.json index f4f1813b6..41efefd3a 100755 --- a/src/apps.json +++ b/src/apps.json @@ -2122,7 +2122,8 @@ }, "Express": { "cats": [ - 18 + 18, + 22 ], "headers": { "X-Powered-By": "^Express$" @@ -3504,7 +3505,8 @@ }, "Koa": { "cats": [ - 18 + 18, + 22 ], "headers": { "X-Powered-By": "^koa$" @@ -5663,6 +5665,21 @@ "website": "www.sbuilder.ru", "icon": "S.Builder.png" }, + "Sails.js": { + "cats": [ + 18 + ], + "headers": { + "Set-Cookie": "^sails\\.sid$", + "X-Powered-By": "^Sails$" + }, + "implies": [ + "node.js", + "Express" + ], + "website": "sailsjs.org", + "icon": "Sails.js.svg" + }, "SAP": { "cats": [ 22 diff --git a/src/icons/Sails.js.svg b/src/icons/Sails.js.svg new file mode 100644 index 000000000..1abde8a30 --- /dev/null +++ b/src/icons/Sails.js.svg @@ -0,0 +1,39 @@ + + + + + + + image/svg+xml + + + + + + + + + + From 89abca5ca77796df4c46ea3695ffd9ab85c69848 Mon Sep 17 00:00:00 2001 From: pallxk Date: Sun, 27 Dec 2015 14:35:40 +0800 Subject: [PATCH 4/8] Add support for svg icons in drivers --- bin/wappalyzer-links | 4 ++++ src/drivers/bookmarklet/.gitignore | 1 + src/drivers/bookmarklet/js/driver.js | 2 +- src/drivers/chrome/.gitignore | 1 + src/drivers/chrome/js/driver.js | 2 +- src/drivers/chrome/js/popup.js | 2 +- src/drivers/firefox/.gitignore | 1 + src/drivers/firefox/data/js/panel.js | 2 +- src/drivers/firefox/driver.js | 4 ++-- src/drivers/html/.gitignore | 1 + src/drivers/html/js/driver.js | 2 +- 11 files changed, 15 insertions(+), 7 deletions(-) diff --git a/bin/wappalyzer-links b/bin/wappalyzer-links index 9501a383d..2afbfada0 100755 --- a/bin/wappalyzer-links +++ b/bin/wappalyzer-links @@ -30,19 +30,23 @@ echo "Creating hard links..." ln -f $path/wappalyzer.js $path/drivers/firefox/lib ln -f $path/apps.json $path/drivers/firefox/data ln -f $path/icons/*.png $path/drivers/firefox/data/images/icons +ln -f $path/icons/*.svg $path/drivers/firefox/data/images/icons ln -f $path/utils/*.js $path/drivers/firefox/data/js ln -f $path/wappalyzer.js $path/drivers/chrome/js ln -f $path/apps.json $path/drivers/chrome ln -f $path/icons/*.png $path/drivers/chrome/images/icons +ln -f $path/icons/*.svg $path/drivers/chrome/images/icons ln -f $path/utils/*.js $path/drivers/chrome/js ln -f $path/wappalyzer.js $path/drivers/bookmarklet/js ln -f $path/icons/*.png $path/drivers/bookmarklet/images/icons +ln -f $path/icons/*.svg $path/drivers/bookmarklet/images/icons ln -f $path/wappalyzer.js $path/drivers/html/js ln -f $path/apps.json $path/drivers/html ln -f $path/icons/*.png $path/drivers/html/images/icons +ln -f $path/icons/*.svg $path/drivers/html/images/icons ln -f $path/wappalyzer.js $path/drivers/php/js ln -f $path/apps.json $path/drivers/php diff --git a/src/drivers/bookmarklet/.gitignore b/src/drivers/bookmarklet/.gitignore index 0d9a93f5c..d03f42c47 100644 --- a/src/drivers/bookmarklet/.gitignore +++ b/src/drivers/bookmarklet/.gitignore @@ -1,3 +1,4 @@ images/icons/*.png +images/icons/*.svg js/wappalyzer.js js/apps.js diff --git a/src/drivers/bookmarklet/js/driver.js b/src/drivers/bookmarklet/js/driver.js index 65a6f64a7..a40554b11 100644 --- a/src/drivers/bookmarklet/js/driver.js +++ b/src/drivers/bookmarklet/js/driver.js @@ -147,7 +147,7 @@ '
' + '' + '' + - ' ' + app + + ' ' + app + '' + '' ; diff --git a/src/drivers/chrome/.gitignore b/src/drivers/chrome/.gitignore index 88270d2f7..60dc6455a 100644 --- a/src/drivers/chrome/.gitignore +++ b/src/drivers/chrome/.gitignore @@ -1,4 +1,5 @@ apps.json images/icons/*.png +images/icons/*.svg js/wappalyzer.js js/iframe.js diff --git a/src/drivers/chrome/js/driver.js b/src/drivers/chrome/js/driver.js index d4b035bde..2644d6ed0 100644 --- a/src/drivers/chrome/js/driver.js +++ b/src/drivers/chrome/js/driver.js @@ -193,7 +193,7 @@ for ( appName in w.detected[url] ) { w.apps[appName].cats.forEach(function(cat) { if ( cat == match && !found ) { - chrome.pageAction.setIcon({ tabId: tab.id, path: 'images/icons/' + appName + '.png' }); + chrome.pageAction.setIcon({ tabId: tab.id, path: 'images/icons/' + w.apps[appName].icon }); found = true; } diff --git a/src/drivers/chrome/js/popup.js b/src/drivers/chrome/js/popup.js index 15ed8bd2f..957b22b4f 100644 --- a/src/drivers/chrome/js/popup.js +++ b/src/drivers/chrome/js/popup.js @@ -35,7 +35,7 @@ document.addEventListener('DOMContentLoaded', function() { html = '
' + '' + - '' + + '' + '' + appName + '' + ( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '' ) + '' + ''; diff --git a/src/drivers/firefox/.gitignore b/src/drivers/firefox/.gitignore index 975eec334..871b16778 100644 --- a/src/drivers/firefox/.gitignore +++ b/src/drivers/firefox/.gitignore @@ -1,4 +1,5 @@ data/apps.json data/images/icons/*.png +data/images/icons/*.svg data/js/iframe.js lib/wappalyzer.js diff --git a/src/drivers/firefox/data/js/panel.js b/src/drivers/firefox/data/js/panel.js index 40e233d96..16bb9986c 100644 --- a/src/drivers/firefox/data/js/panel.js +++ b/src/drivers/firefox/data/js/panel.js @@ -35,7 +35,7 @@ }); }(appName)); - img.setAttribute('src', 'images/icons/' + appName + '.png'); + img.setAttribute('src', 'images/icons/' + message.apps[appName].icon); img.setAttribute('height', '16'); img.setAttribute('width', '16'); diff --git a/src/drivers/firefox/driver.js b/src/drivers/firefox/driver.js index 5df3aa7c3..4e60afbe4 100644 --- a/src/drivers/firefox/driver.js +++ b/src/drivers/firefox/driver.js @@ -249,7 +249,7 @@ }; Button.prototype.setIcon = function(appName) { - var url = typeof appName === 'undefined' ? './images/icon32.png' : './images/icons/' + appName + '.png'; + var url = typeof appName === 'undefined' ? './images/icon32.png' : './images/icons/' + w.apps[appName].icon; this.button.icon = url; }; @@ -303,7 +303,7 @@ UrlBar.prototype.addIcon = function(appName) { var icon = this.document.createElement('image'), - url = typeof appName === 'undefined' ? 'images/icon32.png' : 'images/icons/' + appName + '.png', + url = typeof appName === 'undefined' ? 'images/icon32.png' : 'images/icons/' + w.apps[appName].icon, tooltipText = ( typeof appName !== 'undefined' ? appName + ' - ' + require('sdk/l10n').get('clickForDetails') + ' - ' : '' ) + require('sdk/l10n').get('name'); icon.setAttribute('src', require('sdk/self').data.url(url)); diff --git a/src/drivers/html/.gitignore b/src/drivers/html/.gitignore index c73e01d30..01d2786a1 100644 --- a/src/drivers/html/.gitignore +++ b/src/drivers/html/.gitignore @@ -1,3 +1,4 @@ apps.json images/icons/*.png +images/icons/*.svg js/wappalyzer.js diff --git a/src/drivers/html/js/driver.js b/src/drivers/html/js/driver.js index 1ad4a4986..0e14f59af 100644 --- a/src/drivers/html/js/driver.js +++ b/src/drivers/html/js/driver.js @@ -51,7 +51,7 @@ document.getElementById('apps').innerHTML = ''; for ( app in w.detected[url] ) { - document.getElementById('apps').innerHTML += ' ' + app + '
'; + document.getElementById('apps').innerHTML += ' ' + app + '
'; }; }, From a2027049265419591cc1e49f4ff0b8f5d1470728 Mon Sep 17 00:00:00 2001 From: pallxk Date: Mon, 28 Dec 2015 09:01:42 +0800 Subject: [PATCH 5/8] Add Marionette --- src/apps.json | 13 +++++++++++++ src/icons/Marionette.js.svg | 1 + 2 files changed, 14 insertions(+) create mode 100644 src/icons/Marionette.js.svg diff --git a/src/apps.json b/src/apps.json index f4f1813b6..42a6947cc 100755 --- a/src/apps.json +++ b/src/apps.json @@ -4001,6 +4001,19 @@ "website": "www.manycontacts.com", "icon": "ManyContacts.png" }, + "Marionette.js": { + "cats": [ + 12 + ], + "env": "^Marionette$", + "implies": [ + "Underscore.js", + "Backbone.js" + ], + "script": "backbone\\.marionette.*\\.js", + "website": "marionettejs.com", + "icon": "Marionette.js.svg" + }, "Marketo": { "cats": [ 32 diff --git a/src/icons/Marionette.js.svg b/src/icons/Marionette.js.svg new file mode 100644 index 000000000..5352c9ced --- /dev/null +++ b/src/icons/Marionette.js.svg @@ -0,0 +1 @@ +marionette \ No newline at end of file From b3d76654e01f3ef02579eabd2cf6fb426fbe39bd Mon Sep 17 00:00:00 2001 From: CJ Patoilo Date: Mon, 4 Jan 2016 20:35:07 -0300 Subject: [PATCH 6/8] Added Milligram --- src/apps.json | 10 ++++++++++ src/icons/Milligram.png | Bin 0 -> 1832 bytes 2 files changed, 10 insertions(+) create mode 100644 src/icons/Milligram.png diff --git a/src/apps.json b/src/apps.json index f4f1813b6..d87b88f22 100755 --- a/src/apps.json +++ b/src/apps.json @@ -4169,6 +4169,16 @@ "website": "sharepoint.microsoft.com", "icon": "Microsoft SharePoint.png" }, + "Milligram": { + "cats": [ + 18 + ], + "html": [ + "]+?href=\"[^\"]+milligram(?:\\.min)?\\.css" + ], + "website": "milligram.github.io", + "icon": "Milligram.png" + }, "MiniBB": { "cats": [ 2 diff --git a/src/icons/Milligram.png b/src/icons/Milligram.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7663c29bd6f84e78d643e2a93077ae68da02f0 GIT binary patch literal 1832 zcmaJ?X;2eq7~UKN1fw8F6s0T)R6NK90h18O1#*Sk2BzbYV}U5ihGdZ-q6vq9B0~`s zgicYJ5kV=UB9)P2KshRhN4+YF&{3=6QICPPu(?N0DBI6a?wkX(2a$o@HZ{VN;Y6y{m26d`N&oS`GpL99s+PqC8gP$PC z79RPtsRT(hD1vnm$fB~m6m*6U=*OlqSPY*vjMX5M&hVzuy=e?@F9wrCXLA@V@XJF+ zv+0ycoLF)2mt1JXBc~vUmP4auWMoh?ys5A*nZ{tV*)%$n#$Pf;FI7Q6`7e5gr+J`nd$Pc2-uS|I#M3VKjqGOJh*!=8|TB63PEV)#_Qa z9*Kp%`u$H~eSD@CqQydbI9;be4=#yfPNn6DbdU^zb@4EqI@87I6c~Z^DX5(y_%qeo;K1r#dgkx>b%N~Pp5n9N`wcCc6=WCb%AK`bGQEfmvPBC*hy z&1NzEX1HQlk*{Cr?aCz=3Nb}s9ChJ=8e<{$b0IclKaP}!D5+bA<_GdYlJOm>^#y}Z!C+7sm8|v z}Er2pLTsvU1pCD)6#hZ809;(@n~?s#scYN|+}RuaGcljwyYvsf4Dnv{4$kRVepnjD=rIN$kKCc2Hh*5_Hs++Jy&xX|7y zzb5|1-ixP3`&QUCkc`%;T4-bKc6siwMS&on5Pe0yEJ-W+jXpMD14di+46R|>?;?#5 z-_P&q;``f2z1h*54A5+0!nlJ!K|B5yJ5uSv4@9PqNm zW#p6iJ%yN66FB!~0RnxlU%T+eJjRQ%Pz*lZk zpUWTbKAdUU&c%{ivsF= Date: Tue, 5 Jan 2016 12:08:32 +0100 Subject: [PATCH 7/8] Lower confidence for all basket.js patterns Basket.js has patterns for "env" and "script" --- src/apps.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps.json b/src/apps.json index f4f1813b6..9b998e6e2 100755 --- a/src/apps.json +++ b/src/apps.json @@ -7842,8 +7842,8 @@ "cats": [ 12 ], - "env": "^basket$", - "script": "basket.*\\.js", + "env": "^basket$\\;confidence:20", + "script": "basket.*\\.js\\;confidence:10", "website": "addyosmani.github.io/basket.js/", "icon": "basket.js.png" }, From c9e8a1c33c750e82ace915510927cb9215234581 Mon Sep 17 00:00:00 2001 From: q-- Date: Tue, 5 Jan 2016 13:28:03 +0100 Subject: [PATCH 8/8] Re-add version detection for Arastta Version information in the headers was removed in version 1.2.1, but not all websites are using this version. Additionally, an empty "X-Arastta" header implies Arastta 1.2.1+ so detection was added for this as well. --- src/apps.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index f4f1813b6..4154cc5e5 100755 --- a/src/apps.json +++ b/src/apps.json @@ -508,7 +508,8 @@ ], "excludes": "OpenCart", "headers": { - "X-Arastta": "" + "Arastta": "(.*)\\;version:\\1", + "X-Arastta": "\\;version:1.2.1+" }, "html": "Powered by ]*href=\"https?://(?:www\\.)?arastta\\.org[^>]+>Arastta", "implies": "PHP",