diff --git a/drivers/bookmarklet/images/icons/CloudFlare.png b/drivers/bookmarklet/images/icons/CloudFlare.png new file mode 100644 index 000000000..97af7859b Binary files /dev/null and b/drivers/bookmarklet/images/icons/CloudFlare.png differ diff --git a/drivers/bookmarklet/images/icons/ImpressCMS.png b/drivers/bookmarklet/images/icons/ImpressCMS.png new file mode 100644 index 000000000..bed579348 Binary files /dev/null and b/drivers/bookmarklet/images/icons/ImpressCMS.png differ diff --git a/drivers/bookmarklet/images/icons/SilverStripe.png b/drivers/bookmarklet/images/icons/SilverStripe.png new file mode 100644 index 000000000..df80d7a40 Binary files /dev/null and b/drivers/bookmarklet/images/icons/SilverStripe.png differ 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 000000000..97af7859b Binary files /dev/null and b/drivers/chrome/images/icons/CloudFlare.png differ diff --git a/drivers/chrome/images/icons/ImpressCMS.png b/drivers/chrome/images/icons/ImpressCMS.png new file mode 100644 index 000000000..bed579348 Binary files /dev/null and b/drivers/chrome/images/icons/ImpressCMS.png differ diff --git a/drivers/chrome/images/icons/SilverStripe.png b/drivers/chrome/images/icons/SilverStripe.png new file mode 100644 index 000000000..df80d7a40 Binary files /dev/null and b/drivers/chrome/images/icons/SilverStripe.png differ 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 000000000..97af7859b Binary files /dev/null and b/drivers/firefox/skin/images/icons/CloudFlare.png differ diff --git a/drivers/firefox/skin/images/icons/ImpressCMS.png b/drivers/firefox/skin/images/icons/ImpressCMS.png new file mode 100644 index 000000000..bed579348 Binary files /dev/null and b/drivers/firefox/skin/images/icons/ImpressCMS.png differ diff --git a/drivers/firefox/skin/images/icons/SilverStripe.png b/drivers/firefox/skin/images/icons/SilverStripe.png new file mode 100644 index 000000000..df80d7a40 Binary files /dev/null and b/drivers/firefox/skin/images/icons/SilverStripe.png differ diff --git a/drivers/html/images/icons/CloudFlare.png b/drivers/html/images/icons/CloudFlare.png new file mode 100644 index 000000000..97af7859b Binary files /dev/null and b/drivers/html/images/icons/CloudFlare.png differ diff --git a/drivers/html/images/icons/ImpressCMS.png b/drivers/html/images/icons/ImpressCMS.png new file mode 100644 index 000000000..bed579348 Binary files /dev/null and b/drivers/html/images/icons/ImpressCMS.png differ diff --git a/drivers/html/images/icons/SilverStripe.png b/drivers/html/images/icons/SilverStripe.png new file mode 100644 index 000000000..df80d7a40 Binary files /dev/null and b/drivers/html/images/icons/SilverStripe.png differ 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 000000000..97af7859b Binary files /dev/null and b/share/images/icons/CloudFlare.png differ diff --git a/share/images/icons/ImpressCMS.png b/share/images/icons/ImpressCMS.png new file mode 100644 index 000000000..bed579348 Binary files /dev/null and b/share/images/icons/ImpressCMS.png differ diff --git a/share/images/icons/SilverStripe.png b/share/images/icons/SilverStripe.png new file mode 100644 index 000000000..df80d7a40 Binary files /dev/null and b/share/images/icons/SilverStripe.png differ 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;