From 550133fd078f615bf143d0749f772ad79cd9741d Mon Sep 17 00:00:00 2001 From: ElbertF Date: Sat, 22 Sep 2012 13:51:56 +1000 Subject: [PATCH] Added CloudFlar, ImpressCMS, SilverStripe, CDN category, improved various patterns --- .../bookmarklet/images/icons/CloudFlare.png | Bin 0 -> 678 bytes .../bookmarklet/images/icons/ImpressCMS.png | Bin 0 -> 641 bytes .../bookmarklet/images/icons/SilverStripe.png | Bin 0 -> 415 bytes drivers/bookmarklet/js/apps.js | 36 +++++++++++++++--- drivers/bookmarklet/js/wappalyzer.js | 2 +- drivers/chrome/_locales/en/messages.json | 3 +- drivers/chrome/images/icons/CloudFlare.png | Bin 0 -> 678 bytes drivers/chrome/images/icons/ImpressCMS.png | Bin 0 -> 641 bytes drivers/chrome/images/icons/SilverStripe.png | Bin 0 -> 415 bytes drivers/chrome/js/apps.js | 36 +++++++++++++++--- drivers/chrome/js/driver.js | 3 +- drivers/chrome/js/wappalyzer.js | 2 +- drivers/firefox/content/js/apps.js | 36 +++++++++++++++--- drivers/firefox/content/js/wappalyzer.js | 2 +- .../firefox/defaults/preferences/defaults.js | 3 +- drivers/firefox/locale/de-DE/wappalyzer.dtd | 1 + .../locale/de-DE/wappalyzer.properties | 1 + drivers/firefox/locale/en-US/wappalyzer.dtd | 1 + .../locale/en-US/wappalyzer.properties | 1 + drivers/firefox/locale/fr-FR/wappalyzer.dtd | 1 + .../locale/fr-FR/wappalyzer.properties | 1 + drivers/firefox/locale/nl-NL/wappalyzer.dtd | 1 + .../locale/nl-NL/wappalyzer.properties | 1 + .../firefox/skin/images/icons/CloudFlare.png | Bin 0 -> 678 bytes .../firefox/skin/images/icons/ImpressCMS.png | Bin 0 -> 641 bytes .../skin/images/icons/SilverStripe.png | Bin 0 -> 415 bytes drivers/html/images/icons/CloudFlare.png | Bin 0 -> 678 bytes drivers/html/images/icons/ImpressCMS.png | Bin 0 -> 641 bytes drivers/html/images/icons/SilverStripe.png | Bin 0 -> 415 bytes drivers/html/js/apps.js | 36 +++++++++++++++--- drivers/html/js/wappalyzer.js | 2 +- share/images/icons/CloudFlare.png | Bin 0 -> 678 bytes share/images/icons/ImpressCMS.png | Bin 0 -> 641 bytes share/images/icons/SilverStripe.png | Bin 0 -> 415 bytes share/js/apps.js | 36 +++++++++++++++--- share/js/wappalyzer.js | 2 +- 36 files changed, 174 insertions(+), 33 deletions(-) create mode 100644 drivers/bookmarklet/images/icons/CloudFlare.png create mode 100644 drivers/bookmarklet/images/icons/ImpressCMS.png create mode 100644 drivers/bookmarklet/images/icons/SilverStripe.png create mode 100644 drivers/chrome/images/icons/CloudFlare.png create mode 100644 drivers/chrome/images/icons/ImpressCMS.png create mode 100644 drivers/chrome/images/icons/SilverStripe.png create mode 100644 drivers/firefox/skin/images/icons/CloudFlare.png create mode 100644 drivers/firefox/skin/images/icons/ImpressCMS.png create mode 100644 drivers/firefox/skin/images/icons/SilverStripe.png create mode 100644 drivers/html/images/icons/CloudFlare.png create mode 100644 drivers/html/images/icons/ImpressCMS.png create mode 100644 drivers/html/images/icons/SilverStripe.png create mode 100644 share/images/icons/CloudFlare.png create mode 100644 share/images/icons/ImpressCMS.png create mode 100644 share/images/icons/SilverStripe.png diff --git a/drivers/bookmarklet/images/icons/CloudFlare.png b/drivers/bookmarklet/images/icons/CloudFlare.png new file mode 100644 index 0000000000000000000000000000000000000000..97af7859baab9b607a2d5debc29a24d41651dd5c GIT binary patch literal 678 zcmV;X0$KfuP)&|Jh6b0uX?BaaMI}jrdIklJ-Q?WC7-Z3UC&v_~l?^eX2O< zmxJm7fN1W%0%%w#dHaGW<89guOTZPB8LZSaaSA9kzZ{Go0BAkCrR0tRpzF(|TPq}e zcIQ9~nm9|^a`PIQs~XD~FyWVjO#lOseteB|_98v~;Ce_5ZZ?Ka3s%s`DQSmWwcEOC z)r|CxEpP5)5Ka~p056A_4B8H1U>hm4&{WX2i#80l;Vq?GUe$&kSh?eugR0plY1~AU z<_>b`;O5(CB52cKMNun*(sCdAx8Kj~vr&c`NM8h={u0LsZr;P~iE+9TB$px`Y2N8b zD;v|N=60>#Veri${Vm+{8%QGPmp-s1oSus$E03|YCbV3{2pBtqtFwMNnBQZd^$hl1 zH|fGLa1=A#gLmmV_G?J|stfAFNaGyN=Rr)>8#PU>tUvgTfpcLK$8ST^K{qlaYa3vn z;+9r1my1Z_8gk?W(tQ$J4`5+>Fc*hs_FUM0G@xv|e}vp1eha7g9a}q%L_Y5EBGTOt zNkqIjOIJA%*`5D%Z%F@|^{$lcKt%gP4x1XX{s6iD0@<5SBw2DS7|L?FJ&tgAe9dSuv_5;?+Cig1-)FU$-!9m|GvKu~+Un)ISz}YK zzRy;W-+B3BWtEasDIRzRytazd=UxFUUmC~0If71%k+CAimx#b%P{KPR0Z_Qj+Ff_O z`q=8sj1iSA%L(vt+c!=X1(24-=S<)ok+|_#k3XzokE5vd&du6#H9*_b_7e(xVXr?a z3}DWhq@kjp3@JuuS5Mi{u-~i(c<=TU1MD}2{^`0_n8BVi4uH$;v8!jzF}MJHW72=E zPN~Z?8GF?Lh51`w0Nn1_M7wX*yx` zV;r#tIa?ecGL=eOe)9FOpw!|3m-g7t{&{{uXXO9xBwOlTj(Q7Fs zj4`B?raxG(*BM+@6-p_N$0GnDLRppr{O2RVYPABO>pGls0MvC&*L47d5C-`9a=HBa zy--SFj6p;&#t>uVe!t_r$9tcNCOr@lZnqmEl6THI_WM0e)BK-8Z&d$&Z|wPe&i?%Q z!DAx3-41JQCRa+mUL@xnRaH^fb(YtYO%iCWY1?*CnlbH@61?|0%Ioz?2!YLJgNTeu zc#1K`h}Ier$&oG=3sOpKx7(*4Oqyt|%`!p=IOhfxekp}l<_GxthlRZH=F0#8002ov JPDHLkV1k{ItRnyb literal 0 HcmV?d00001 diff --git a/drivers/bookmarklet/js/apps.js b/drivers/bookmarklet/js/apps.js index 9206648e5..0bbaae11a 100644 --- a/drivers/bookmarklet/js/apps.js +++ b/drivers/bookmarklet/js/apps.js @@ -35,7 +35,8 @@ 27: 'programming-languages', 28: 'operating-systems', 29: 'search-engines', - 30: 'web-mail' + 30: 'web-mail', + 31: 'cdn' }; w.apps = { @@ -255,6 +256,10 @@ script: /static\.getclicky\.com/, env: /^clicky$/ }, + 'CloudFlare': { + cats: [ 31 ], + headers: { 'Server': /cloudflare/i } + }, 'CMS Made Simple': { cats: [ 1 ], meta: { 'generator': /CMS Made Simple/i }, @@ -281,7 +286,9 @@ }, 'Concrete5': { cats: [ 1 ], + script: /concrete\/js\//, meta: { 'generator': /concrete5/i }, + env: /CCM_IMAGE_PATH/, implies: [ 'PHP' ] }, 'Connect': { @@ -453,7 +460,7 @@ cats: [ 1 ], meta: { 'generator': /DotNetNuke/i }, html: /]+SilverStripe/i + }, 'Site Meter': { cats: [ 10 ], script: /sitemeter.com\/js\/counter\.js\?site=/ @@ -1594,7 +1618,9 @@ }, 'XOOPS': { cats: [ 1 ], - meta: { 'generator': /XOOPS/i } + meta: { 'generator': /XOOPS/i }, + env: /^xoops/g, + implies: [ 'PHP' ] }, 'xtCommerce': { cats: [ 6 ], diff --git a/drivers/bookmarklet/js/wappalyzer.js b/drivers/bookmarklet/js/wappalyzer.js index ce3bba716..36ca60f96 100644 --- a/drivers/bookmarklet/js/wappalyzer.js +++ b/drivers/bookmarklet/js/wappalyzer.js @@ -242,7 +242,7 @@ var wappalyzer = wappalyzer || (function() { } } - if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 100 ) { driver('ping'); } + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 50 ) { driver('ping'); } apps = null; data = null; diff --git a/drivers/chrome/_locales/en/messages.json b/drivers/chrome/_locales/en/messages.json index f4f8b138c..79028e2ac 100644 --- a/drivers/chrome/_locales/en/messages.json +++ b/drivers/chrome/_locales/en/messages.json @@ -40,5 +40,6 @@ "categoryName27": { "message": "Programming Language" }, "categoryName28": { "message": "Operating System" }, "categoryName29": { "message": "Search Engine" }, - "categoryName30": { "message": "Web Mail" } + "categoryName30": { "message": "Web Mail" }, + "categoryName31": { "message": "CDN" } } diff --git a/drivers/chrome/images/icons/CloudFlare.png b/drivers/chrome/images/icons/CloudFlare.png new file mode 100644 index 0000000000000000000000000000000000000000..97af7859baab9b607a2d5debc29a24d41651dd5c GIT binary patch literal 678 zcmV;X0$KfuP)&|Jh6b0uX?BaaMI}jrdIklJ-Q?WC7-Z3UC&v_~l?^eX2O< zmxJm7fN1W%0%%w#dHaGW<89guOTZPB8LZSaaSA9kzZ{Go0BAkCrR0tRpzF(|TPq}e zcIQ9~nm9|^a`PIQs~XD~FyWVjO#lOseteB|_98v~;Ce_5ZZ?Ka3s%s`DQSmWwcEOC z)r|CxEpP5)5Ka~p056A_4B8H1U>hm4&{WX2i#80l;Vq?GUe$&kSh?eugR0plY1~AU z<_>b`;O5(CB52cKMNun*(sCdAx8Kj~vr&c`NM8h={u0LsZr;P~iE+9TB$px`Y2N8b zD;v|N=60>#Veri${Vm+{8%QGPmp-s1oSus$E03|YCbV3{2pBtqtFwMNnBQZd^$hl1 zH|fGLa1=A#gLmmV_G?J|stfAFNaGyN=Rr)>8#PU>tUvgTfpcLK$8ST^K{qlaYa3vn z;+9r1my1Z_8gk?W(tQ$J4`5+>Fc*hs_FUM0G@xv|e}vp1eha7g9a}q%L_Y5EBGTOt zNkqIjOIJA%*`5D%Z%F@|^{$lcKt%gP4x1XX{s6iD0@<5SBw2DS7|L?FJ&tgAe9dSuv_5;?+Cig1-)FU$-!9m|GvKu~+Un)ISz}YK zzRy;W-+B3BWtEasDIRzRytazd=UxFUUmC~0If71%k+CAimx#b%P{KPR0Z_Qj+Ff_O z`q=8sj1iSA%L(vt+c!=X1(24-=S<)ok+|_#k3XzokE5vd&du6#H9*_b_7e(xVXr?a z3}DWhq@kjp3@JuuS5Mi{u-~i(c<=TU1MD}2{^`0_n8BVi4uH$;v8!jzF}MJHW72=E zPN~Z?8GF?Lh51`w0Nn1_M7wX*yx` zV;r#tIa?ecGL=eOe)9FOpw!|3m-g7t{&{{uXXO9xBwOlTj(Q7Fs zj4`B?raxG(*BM+@6-p_N$0GnDLRppr{O2RVYPABO>pGls0MvC&*L47d5C-`9a=HBa zy--SFj6p;&#t>uVe!t_r$9tcNCOr@lZnqmEl6THI_WM0e)BK-8Z&d$&Z|wPe&i?%Q z!DAx3-41JQCRa+mUL@xnRaH^fb(YtYO%iCWY1?*CnlbH@61?|0%Ioz?2!YLJgNTeu zc#1K`h}Ier$&oG=3sOpKx7(*4Oqyt|%`!p=IOhfxekp}l<_GxthlRZH=F0#8002ov JPDHLkV1k{ItRnyb literal 0 HcmV?d00001 diff --git a/drivers/chrome/js/apps.js b/drivers/chrome/js/apps.js index 9206648e5..0bbaae11a 100644 --- a/drivers/chrome/js/apps.js +++ b/drivers/chrome/js/apps.js @@ -35,7 +35,8 @@ 27: 'programming-languages', 28: 'operating-systems', 29: 'search-engines', - 30: 'web-mail' + 30: 'web-mail', + 31: 'cdn' }; w.apps = { @@ -255,6 +256,10 @@ script: /static\.getclicky\.com/, env: /^clicky$/ }, + 'CloudFlare': { + cats: [ 31 ], + headers: { 'Server': /cloudflare/i } + }, 'CMS Made Simple': { cats: [ 1 ], meta: { 'generator': /CMS Made Simple/i }, @@ -281,7 +286,9 @@ }, 'Concrete5': { cats: [ 1 ], + script: /concrete\/js\//, meta: { 'generator': /concrete5/i }, + env: /CCM_IMAGE_PATH/, implies: [ 'PHP' ] }, 'Connect': { @@ -453,7 +460,7 @@ cats: [ 1 ], meta: { 'generator': /DotNetNuke/i }, html: /]+SilverStripe/i + }, 'Site Meter': { cats: [ 10 ], script: /sitemeter.com\/js\/counter\.js\?site=/ @@ -1594,7 +1618,9 @@ }, 'XOOPS': { cats: [ 1 ], - meta: { 'generator': /XOOPS/i } + meta: { 'generator': /XOOPS/i }, + env: /^xoops/g, + implies: [ 'PHP' ] }, 'xtCommerce': { cats: [ 6 ], diff --git a/drivers/chrome/js/driver.js b/drivers/chrome/js/driver.js index 7b211892c..668489833 100644 --- a/drivers/chrome/js/driver.js +++ b/drivers/chrome/js/driver.js @@ -187,8 +187,9 @@ 15, // Comment System 20, // Editor 10, // Analytics - 17, // Font Script + 31, // CDN 23, // Cache Tool + 17, // Font Script 24, // Rich Text Editor 5, // Widget 14, // Video Player diff --git a/drivers/chrome/js/wappalyzer.js b/drivers/chrome/js/wappalyzer.js index ce3bba716..36ca60f96 100644 --- a/drivers/chrome/js/wappalyzer.js +++ b/drivers/chrome/js/wappalyzer.js @@ -242,7 +242,7 @@ var wappalyzer = wappalyzer || (function() { } } - if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 100 ) { driver('ping'); } + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 50 ) { driver('ping'); } apps = null; data = null; diff --git a/drivers/firefox/content/js/apps.js b/drivers/firefox/content/js/apps.js index 9206648e5..0bbaae11a 100644 --- a/drivers/firefox/content/js/apps.js +++ b/drivers/firefox/content/js/apps.js @@ -35,7 +35,8 @@ 27: 'programming-languages', 28: 'operating-systems', 29: 'search-engines', - 30: 'web-mail' + 30: 'web-mail', + 31: 'cdn' }; w.apps = { @@ -255,6 +256,10 @@ script: /static\.getclicky\.com/, env: /^clicky$/ }, + 'CloudFlare': { + cats: [ 31 ], + headers: { 'Server': /cloudflare/i } + }, 'CMS Made Simple': { cats: [ 1 ], meta: { 'generator': /CMS Made Simple/i }, @@ -281,7 +286,9 @@ }, 'Concrete5': { cats: [ 1 ], + script: /concrete\/js\//, meta: { 'generator': /concrete5/i }, + env: /CCM_IMAGE_PATH/, implies: [ 'PHP' ] }, 'Connect': { @@ -453,7 +460,7 @@ cats: [ 1 ], meta: { 'generator': /DotNetNuke/i }, html: /]+SilverStripe/i + }, 'Site Meter': { cats: [ 10 ], script: /sitemeter.com\/js\/counter\.js\?site=/ @@ -1594,7 +1618,9 @@ }, 'XOOPS': { cats: [ 1 ], - meta: { 'generator': /XOOPS/i } + meta: { 'generator': /XOOPS/i }, + env: /^xoops/g, + implies: [ 'PHP' ] }, 'xtCommerce': { cats: [ 6 ], diff --git a/drivers/firefox/content/js/wappalyzer.js b/drivers/firefox/content/js/wappalyzer.js index ce3bba716..36ca60f96 100644 --- a/drivers/firefox/content/js/wappalyzer.js +++ b/drivers/firefox/content/js/wappalyzer.js @@ -242,7 +242,7 @@ var wappalyzer = wappalyzer || (function() { } } - if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 100 ) { driver('ping'); } + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 50 ) { driver('ping'); } apps = null; data = null; diff --git a/drivers/firefox/defaults/preferences/defaults.js b/drivers/firefox/defaults/preferences/defaults.js index 27411d167..266967266 100644 --- a/drivers/firefox/defaults/preferences/defaults.js +++ b/drivers/firefox/defaults/preferences/defaults.js @@ -33,4 +33,5 @@ pref('extensions.wappalyzer.cat26', true); pref('extensions.wappalyzer.cat27', true); pref('extensions.wappalyzer.cat28', true); pref('extensions.wappalyzer.cat29', true); - +pref('extensions.wappalyzer.cat30', true); +pref('extensions.wappalyzer.cat31', true); diff --git a/drivers/firefox/locale/de-DE/wappalyzer.dtd b/drivers/firefox/locale/de-DE/wappalyzer.dtd index d8021e326..408e5fd3c 100755 --- a/drivers/firefox/locale/de-DE/wappalyzer.dtd +++ b/drivers/firefox/locale/de-DE/wappalyzer.dtd @@ -46,3 +46,4 @@ + diff --git a/drivers/firefox/locale/de-DE/wappalyzer.properties b/drivers/firefox/locale/de-DE/wappalyzer.properties index 2952e90c6..e9ea9df9a 100755 --- a/drivers/firefox/locale/de-DE/wappalyzer.properties +++ b/drivers/firefox/locale/de-DE/wappalyzer.properties @@ -32,3 +32,4 @@ wappalyzer.cat27 = Programming Language wappalyzer.cat28 = Operating System wappalyzer.cat29 = Search Engine wappalyzer.cat30 = Web mail +wappalyzer.cat31 = CDN diff --git a/drivers/firefox/locale/en-US/wappalyzer.dtd b/drivers/firefox/locale/en-US/wappalyzer.dtd index 27af200f6..47e3f5b14 100755 --- a/drivers/firefox/locale/en-US/wappalyzer.dtd +++ b/drivers/firefox/locale/en-US/wappalyzer.dtd @@ -45,3 +45,4 @@ + diff --git a/drivers/firefox/locale/en-US/wappalyzer.properties b/drivers/firefox/locale/en-US/wappalyzer.properties index c3a5e462d..a537bdcf9 100755 --- a/drivers/firefox/locale/en-US/wappalyzer.properties +++ b/drivers/firefox/locale/en-US/wappalyzer.properties @@ -32,3 +32,4 @@ wappalyzer.cat27 = Programming Language wappalyzer.cat28 = Operating System wappalyzer.cat29 = Search Engine wappalyzer.cat30 = Web Mail +wappalyzer.cat31 = CDN diff --git a/drivers/firefox/locale/fr-FR/wappalyzer.dtd b/drivers/firefox/locale/fr-FR/wappalyzer.dtd index ec6fe5c76..c81afc93f 100644 --- a/drivers/firefox/locale/fr-FR/wappalyzer.dtd +++ b/drivers/firefox/locale/fr-FR/wappalyzer.dtd @@ -45,3 +45,4 @@ + diff --git a/drivers/firefox/locale/fr-FR/wappalyzer.properties b/drivers/firefox/locale/fr-FR/wappalyzer.properties index f137c2604..d4ab5ea70 100644 --- a/drivers/firefox/locale/fr-FR/wappalyzer.properties +++ b/drivers/firefox/locale/fr-FR/wappalyzer.properties @@ -32,3 +32,4 @@ wappalyzer.cat27 = Language de programmation wappalyzer.cat28 = Système d'exploitation wappalyzer.cat29 = Moteur de recherche wappalyzer.cat30 = Web Mail +wappalyzer.cat31 = CDN diff --git a/drivers/firefox/locale/nl-NL/wappalyzer.dtd b/drivers/firefox/locale/nl-NL/wappalyzer.dtd index 2fc624b6e..6f51023c5 100755 --- a/drivers/firefox/locale/nl-NL/wappalyzer.dtd +++ b/drivers/firefox/locale/nl-NL/wappalyzer.dtd @@ -44,3 +44,4 @@ + diff --git a/drivers/firefox/locale/nl-NL/wappalyzer.properties b/drivers/firefox/locale/nl-NL/wappalyzer.properties index 4b0df8ec1..17c70d143 100755 --- a/drivers/firefox/locale/nl-NL/wappalyzer.properties +++ b/drivers/firefox/locale/nl-NL/wappalyzer.properties @@ -32,3 +32,4 @@ wappalyzer.cat27 = Programmeer Taal wappalyzer.cat28 = Operating System wappalyzer.cat29 = Zoek Machine wappalyzer.cat30 = Web Mail +wappalyzer.cat31 = CDN diff --git a/drivers/firefox/skin/images/icons/CloudFlare.png b/drivers/firefox/skin/images/icons/CloudFlare.png new file mode 100644 index 0000000000000000000000000000000000000000..97af7859baab9b607a2d5debc29a24d41651dd5c GIT binary patch literal 678 zcmV;X0$KfuP)&|Jh6b0uX?BaaMI}jrdIklJ-Q?WC7-Z3UC&v_~l?^eX2O< zmxJm7fN1W%0%%w#dHaGW<89guOTZPB8LZSaaSA9kzZ{Go0BAkCrR0tRpzF(|TPq}e zcIQ9~nm9|^a`PIQs~XD~FyWVjO#lOseteB|_98v~;Ce_5ZZ?Ka3s%s`DQSmWwcEOC z)r|CxEpP5)5Ka~p056A_4B8H1U>hm4&{WX2i#80l;Vq?GUe$&kSh?eugR0plY1~AU z<_>b`;O5(CB52cKMNun*(sCdAx8Kj~vr&c`NM8h={u0LsZr;P~iE+9TB$px`Y2N8b zD;v|N=60>#Veri${Vm+{8%QGPmp-s1oSus$E03|YCbV3{2pBtqtFwMNnBQZd^$hl1 zH|fGLa1=A#gLmmV_G?J|stfAFNaGyN=Rr)>8#PU>tUvgTfpcLK$8ST^K{qlaYa3vn z;+9r1my1Z_8gk?W(tQ$J4`5+>Fc*hs_FUM0G@xv|e}vp1eha7g9a}q%L_Y5EBGTOt zNkqIjOIJA%*`5D%Z%F@|^{$lcKt%gP4x1XX{s6iD0@<5SBw2DS7|L?FJ&tgAe9dSuv_5;?+Cig1-)FU$-!9m|GvKu~+Un)ISz}YK zzRy;W-+B3BWtEasDIRzRytazd=UxFUUmC~0If71%k+CAimx#b%P{KPR0Z_Qj+Ff_O z`q=8sj1iSA%L(vt+c!=X1(24-=S<)ok+|_#k3XzokE5vd&du6#H9*_b_7e(xVXr?a z3}DWhq@kjp3@JuuS5Mi{u-~i(c<=TU1MD}2{^`0_n8BVi4uH$;v8!jzF}MJHW72=E zPN~Z?8GF?Lh51`w0Nn1_M7wX*yx` zV;r#tIa?ecGL=eOe)9FOpw!|3m-g7t{&{{uXXO9xBwOlTj(Q7Fs zj4`B?raxG(*BM+@6-p_N$0GnDLRppr{O2RVYPABO>pGls0MvC&*L47d5C-`9a=HBa zy--SFj6p;&#t>uVe!t_r$9tcNCOr@lZnqmEl6THI_WM0e)BK-8Z&d$&Z|wPe&i?%Q z!DAx3-41JQCRa+mUL@xnRaH^fb(YtYO%iCWY1?*CnlbH@61?|0%Ioz?2!YLJgNTeu zc#1K`h}Ier$&oG=3sOpKx7(*4Oqyt|%`!p=IOhfxekp}l<_GxthlRZH=F0#8002ov JPDHLkV1k{ItRnyb literal 0 HcmV?d00001 diff --git a/drivers/html/images/icons/CloudFlare.png b/drivers/html/images/icons/CloudFlare.png new file mode 100644 index 0000000000000000000000000000000000000000..97af7859baab9b607a2d5debc29a24d41651dd5c GIT binary patch literal 678 zcmV;X0$KfuP)&|Jh6b0uX?BaaMI}jrdIklJ-Q?WC7-Z3UC&v_~l?^eX2O< zmxJm7fN1W%0%%w#dHaGW<89guOTZPB8LZSaaSA9kzZ{Go0BAkCrR0tRpzF(|TPq}e zcIQ9~nm9|^a`PIQs~XD~FyWVjO#lOseteB|_98v~;Ce_5ZZ?Ka3s%s`DQSmWwcEOC z)r|CxEpP5)5Ka~p056A_4B8H1U>hm4&{WX2i#80l;Vq?GUe$&kSh?eugR0plY1~AU z<_>b`;O5(CB52cKMNun*(sCdAx8Kj~vr&c`NM8h={u0LsZr;P~iE+9TB$px`Y2N8b zD;v|N=60>#Veri${Vm+{8%QGPmp-s1oSus$E03|YCbV3{2pBtqtFwMNnBQZd^$hl1 zH|fGLa1=A#gLmmV_G?J|stfAFNaGyN=Rr)>8#PU>tUvgTfpcLK$8ST^K{qlaYa3vn z;+9r1my1Z_8gk?W(tQ$J4`5+>Fc*hs_FUM0G@xv|e}vp1eha7g9a}q%L_Y5EBGTOt zNkqIjOIJA%*`5D%Z%F@|^{$lcKt%gP4x1XX{s6iD0@<5SBw2DS7|L?FJ&tgAe9dSuv_5;?+Cig1-)FU$-!9m|GvKu~+Un)ISz}YK zzRy;W-+B3BWtEasDIRzRytazd=UxFUUmC~0If71%k+CAimx#b%P{KPR0Z_Qj+Ff_O z`q=8sj1iSA%L(vt+c!=X1(24-=S<)ok+|_#k3XzokE5vd&du6#H9*_b_7e(xVXr?a z3}DWhq@kjp3@JuuS5Mi{u-~i(c<=TU1MD}2{^`0_n8BVi4uH$;v8!jzF}MJHW72=E zPN~Z?8GF?Lh51`w0Nn1_M7wX*yx` zV;r#tIa?ecGL=eOe)9FOpw!|3m-g7t{&{{uXXO9xBwOlTj(Q7Fs zj4`B?raxG(*BM+@6-p_N$0GnDLRppr{O2RVYPABO>pGls0MvC&*L47d5C-`9a=HBa zy--SFj6p;&#t>uVe!t_r$9tcNCOr@lZnqmEl6THI_WM0e)BK-8Z&d$&Z|wPe&i?%Q z!DAx3-41JQCRa+mUL@xnRaH^fb(YtYO%iCWY1?*CnlbH@61?|0%Ioz?2!YLJgNTeu zc#1K`h}Ier$&oG=3sOpKx7(*4Oqyt|%`!p=IOhfxekp}l<_GxthlRZH=F0#8002ov JPDHLkV1k{ItRnyb literal 0 HcmV?d00001 diff --git a/drivers/html/js/apps.js b/drivers/html/js/apps.js index 9206648e5..0bbaae11a 100644 --- a/drivers/html/js/apps.js +++ b/drivers/html/js/apps.js @@ -35,7 +35,8 @@ 27: 'programming-languages', 28: 'operating-systems', 29: 'search-engines', - 30: 'web-mail' + 30: 'web-mail', + 31: 'cdn' }; w.apps = { @@ -255,6 +256,10 @@ script: /static\.getclicky\.com/, env: /^clicky$/ }, + 'CloudFlare': { + cats: [ 31 ], + headers: { 'Server': /cloudflare/i } + }, 'CMS Made Simple': { cats: [ 1 ], meta: { 'generator': /CMS Made Simple/i }, @@ -281,7 +286,9 @@ }, 'Concrete5': { cats: [ 1 ], + script: /concrete\/js\//, meta: { 'generator': /concrete5/i }, + env: /CCM_IMAGE_PATH/, implies: [ 'PHP' ] }, 'Connect': { @@ -453,7 +460,7 @@ cats: [ 1 ], meta: { 'generator': /DotNetNuke/i }, html: /]+SilverStripe/i + }, 'Site Meter': { cats: [ 10 ], script: /sitemeter.com\/js\/counter\.js\?site=/ @@ -1594,7 +1618,9 @@ }, 'XOOPS': { cats: [ 1 ], - meta: { 'generator': /XOOPS/i } + meta: { 'generator': /XOOPS/i }, + env: /^xoops/g, + implies: [ 'PHP' ] }, 'xtCommerce': { cats: [ 6 ], diff --git a/drivers/html/js/wappalyzer.js b/drivers/html/js/wappalyzer.js index ce3bba716..36ca60f96 100644 --- a/drivers/html/js/wappalyzer.js +++ b/drivers/html/js/wappalyzer.js @@ -242,7 +242,7 @@ var wappalyzer = wappalyzer || (function() { } } - if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 100 ) { driver('ping'); } + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 50 ) { driver('ping'); } apps = null; data = null; diff --git a/share/images/icons/CloudFlare.png b/share/images/icons/CloudFlare.png new file mode 100644 index 0000000000000000000000000000000000000000..97af7859baab9b607a2d5debc29a24d41651dd5c GIT binary patch literal 678 zcmV;X0$KfuP)&|Jh6b0uX?BaaMI}jrdIklJ-Q?WC7-Z3UC&v_~l?^eX2O< zmxJm7fN1W%0%%w#dHaGW<89guOTZPB8LZSaaSA9kzZ{Go0BAkCrR0tRpzF(|TPq}e zcIQ9~nm9|^a`PIQs~XD~FyWVjO#lOseteB|_98v~;Ce_5ZZ?Ka3s%s`DQSmWwcEOC z)r|CxEpP5)5Ka~p056A_4B8H1U>hm4&{WX2i#80l;Vq?GUe$&kSh?eugR0plY1~AU z<_>b`;O5(CB52cKMNun*(sCdAx8Kj~vr&c`NM8h={u0LsZr;P~iE+9TB$px`Y2N8b zD;v|N=60>#Veri${Vm+{8%QGPmp-s1oSus$E03|YCbV3{2pBtqtFwMNnBQZd^$hl1 zH|fGLa1=A#gLmmV_G?J|stfAFNaGyN=Rr)>8#PU>tUvgTfpcLK$8ST^K{qlaYa3vn z;+9r1my1Z_8gk?W(tQ$J4`5+>Fc*hs_FUM0G@xv|e}vp1eha7g9a}q%L_Y5EBGTOt zNkqIjOIJA%*`5D%Z%F@|^{$lcKt%gP4x1XX{s6iD0@<5SBw2DS7|L?FJ&tgAe9dSuv_5;?+Cig1-)FU$-!9m|GvKu~+Un)ISz}YK zzRy;W-+B3BWtEasDIRzRytazd=UxFUUmC~0If71%k+CAimx#b%P{KPR0Z_Qj+Ff_O z`q=8sj1iSA%L(vt+c!=X1(24-=S<)ok+|_#k3XzokE5vd&du6#H9*_b_7e(xVXr?a z3}DWhq@kjp3@JuuS5Mi{u-~i(c<=TU1MD}2{^`0_n8BVi4uH$;v8!jzF}MJHW72=E zPN~Z?8GF?Lh51`w0Nn1_M7wX*yx` zV;r#tIa?ecGL=eOe)9FOpw!|3m-g7t{&{{uXXO9xBwOlTj(Q7Fs zj4`B?raxG(*BM+@6-p_N$0GnDLRppr{O2RVYPABO>pGls0MvC&*L47d5C-`9a=HBa zy--SFj6p;&#t>uVe!t_r$9tcNCOr@lZnqmEl6THI_WM0e)BK-8Z&d$&Z|wPe&i?%Q z!DAx3-41JQCRa+mUL@xnRaH^fb(YtYO%iCWY1?*CnlbH@61?|0%Ioz?2!YLJgNTeu zc#1K`h}Ier$&oG=3sOpKx7(*4Oqyt|%`!p=IOhfxekp}l<_GxthlRZH=F0#8002ov JPDHLkV1k{ItRnyb literal 0 HcmV?d00001 diff --git a/share/js/apps.js b/share/js/apps.js index 9206648e5..0bbaae11a 100644 --- a/share/js/apps.js +++ b/share/js/apps.js @@ -35,7 +35,8 @@ 27: 'programming-languages', 28: 'operating-systems', 29: 'search-engines', - 30: 'web-mail' + 30: 'web-mail', + 31: 'cdn' }; w.apps = { @@ -255,6 +256,10 @@ script: /static\.getclicky\.com/, env: /^clicky$/ }, + 'CloudFlare': { + cats: [ 31 ], + headers: { 'Server': /cloudflare/i } + }, 'CMS Made Simple': { cats: [ 1 ], meta: { 'generator': /CMS Made Simple/i }, @@ -281,7 +286,9 @@ }, 'Concrete5': { cats: [ 1 ], + script: /concrete\/js\//, meta: { 'generator': /concrete5/i }, + env: /CCM_IMAGE_PATH/, implies: [ 'PHP' ] }, 'Connect': { @@ -453,7 +460,7 @@ cats: [ 1 ], meta: { 'generator': /DotNetNuke/i }, html: /]+SilverStripe/i + }, 'Site Meter': { cats: [ 10 ], script: /sitemeter.com\/js\/counter\.js\?site=/ @@ -1594,7 +1618,9 @@ }, 'XOOPS': { cats: [ 1 ], - meta: { 'generator': /XOOPS/i } + meta: { 'generator': /XOOPS/i }, + env: /^xoops/g, + implies: [ 'PHP' ] }, 'xtCommerce': { cats: [ 6 ], diff --git a/share/js/wappalyzer.js b/share/js/wappalyzer.js index ce3bba716..36ca60f96 100644 --- a/share/js/wappalyzer.js +++ b/share/js/wappalyzer.js @@ -242,7 +242,7 @@ var wappalyzer = wappalyzer || (function() { } } - if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 100 ) { driver('ping'); } + if ( w.ping.hostnames != null && Object.keys(w.ping.hostnames).length >= 50 ) { driver('ping'); } apps = null; data = null;