Imlied field can be string or array, confidence level can be added to implied field, new SSl icons

main
Elbert Alias 12 years ago
parent bbda93296a
commit 8a0a9983ea

@ -53,9 +53,9 @@ Copy `drivers/chrome/_locales/en`.
"url": ".+\\.application-name\\.com", "url": ".+\\.application-name\\.com",
"html": "<link[^>]application-name\\.css", "html": "<link[^>]application-name\\.css",
"meta": { "generator": [ "Application Name", "Alternative Application Name" ] }, "meta": { "generator": [ "Application Name", "Alternative Application Name" ] },
"script": "application-name-([0-9.]+)\\.js\\;confidence:100\\;version:\\1", "script": "application-name-([0-9.]+)\\.js\\;confidence:50\\;version:\\1",
"env": "ApplicationName", "env": "ApplicationName",
"implies": [ "PHP" ], "implies": "PHP\\;confidence:50",
} }
``` ```
@ -88,6 +88,8 @@ field | description
confidence | Indicates less reliable patterns that may cause false positives. The aim is to achieve a combined confidence of 100%. Defaults to 100% for unspecified fields. confidence | Indicates less reliable patterns that may cause false positives. The aim is to achieve a combined confidence of 100%. Defaults to 100% for unspecified fields.
version | Gets the version number from a pattern match using a special syntax. version | Gets the version number from a pattern match using a special syntax.
The confidence field can also be applied to the `implied` field.
#### Version syntax #### Version syntax

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

@ -81,7 +81,7 @@ var wappalyzer = (function() {
if ( matches ) { if ( matches ) {
matches.map(function(match, i) { matches.map(function(match, i) {
version = version.replace('\\' + i, match); version = version.replace('\\' + i, match ? match : '');
}); });
self.versions.push(version); self.versions.push(version);
@ -133,6 +133,8 @@ var wappalyzer = (function() {
attrs[attr[0]] = attr[1]; attrs[attr[0]] = attr[1];
} }
} else { } else {
attrs.string = attr;
try { try {
attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression
} catch (e) { } catch (e) {
@ -372,20 +374,27 @@ var wappalyzer = (function() {
confidence = apps[app].confidence; confidence = apps[app].confidence;
if ( w.apps[app] && w.apps[app].implies ) { if ( w.apps[app] && w.apps[app].implies ) {
// Cast strings to an array
if ( typeof w.apps[app].implies === 'string' ) {
w.apps[app].implies = [ w.apps[app].implies ];
}
w.apps[app].implies.map(function(implied) { w.apps[app].implies.map(function(implied) {
if ( !w.apps[implied] ) { implied = parse(implied)[0];
w.log('Implied application ' + implied + ' does not exist');
if ( !w.apps[implied.string] ) {
w.log('Implied application ' + implied.string + ' does not exist');
return; return;
} }
// Apply app confidence to implied app if ( !apps.hasOwnProperty(implied.string) ) {
if ( !apps.hasOwnProperty(implied) ) { apps[implied.string] = new Application(implied.string, true);
apps[implied] = new Application(implied, true);
} }
// Apply app confidence to implied app
for ( id in confidence ) { for ( id in confidence ) {
apps[implied].confidence[id + ' implied by ' + app] = confidence[id]; apps[implied.string].confidence[id + ' implied by ' + app] = confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 );
} }
}); });
} }

@ -43,12 +43,12 @@
"headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" }, "headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" },
"html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)", "html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)",
"script": "1c-bitrix", "script": "1c-bitrix",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"1und1": { "1und1": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/shop/catalog/browse\\?sessid=", "url": "/shop/catalog/browse\\?sessid=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"2z Project": { "2z Project": {
"cats": [ 1 ], "cats": [ 1 ],
@ -62,7 +62,7 @@
"Accessible Portal": { "Accessible Portal": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Accessible Portal" }, "meta": { "generator": "Accessible Portal" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AddThis": { "AddThis": {
"cats": [ 5 ], "cats": [ 5 ],
@ -73,7 +73,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"url": "/etc/designs/", "url": "/etc/designs/",
"html": "<div class=\\\"[^\\\"]*parbase", "html": "<div class=\\\"[^\\\"]*parbase",
"implies": [ "Java" ] "implies": "Java"
}, },
"Adobe GoLive": { "Adobe GoLive": {
"cats": [ 20 ], "cats": [ 20 ],
@ -82,7 +82,7 @@
"Advanced Web Stats": { "Advanced Web Stats": {
"cats": [ 10 ], "cats": [ 10 ],
"html": "aws\\.src = [^<]+caphyon-analytics", "html": "aws\\.src = [^<]+caphyon-analytics",
"implies": [ "Java" ] "implies": "Java"
}, },
"Alloy": { "Alloy": {
"cats": [ 12 ], "cats": [ 12 ],
@ -96,19 +96,19 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(Ametys|Anyware Technologies)" }, "meta": { "generator": "(Ametys|Anyware Technologies)" },
"script": "STools\\.js", "script": "STools\\.js",
"implies": [ "Java" ] "implies": "Java"
}, },
"Amiro.CMS": { "Amiro.CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Amiro" }, "meta": { "generator": "Amiro" },
"html": "system_js\\.php\\?script=", "html": "system_js\\.php\\?script=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AMPcms": { "AMPcms": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" }, "headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" },
"env": "^amp_js_init$", "env": "^amp_js_init$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AngularJS": { "AngularJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -155,7 +155,7 @@
"html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2", "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2",
"headers": { "X-Confluence-Request-Time": ".*" }, "headers": { "X-Confluence-Request-Time": ".*" },
"meta": { "confluence-request-time": ".*" }, "meta": { "confluence-request-time": ".*" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Atlassian Jira": { "Atlassian Jira": {
"cats": [ 13 ], "cats": [ 13 ],
@ -163,29 +163,29 @@
"script": "/jira/s/", "script": "/jira/s/",
"url": "/secure/Dashboard.jspa", "url": "/secure/Dashboard.jspa",
"html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4",
"implies": [ "Java" ] "implies": "Java"
}, },
"AWStats": { "AWStats": {
"cats": [ 10 ], "cats": [ 10 ],
"meta": { "generator": "AWStats" }, "meta": { "generator": "AWStats" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Backbone.js": { "Backbone.js": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "backbone.*\\.js", "script": "backbone.*\\.js",
"env": "^Backbone$", "env": "^Backbone$",
"implies": [ "Underscore.js" ] "implies": "Underscore.js"
}, },
"Banshee": { "Banshee": {
"cats": [ 1, 18 ], "cats": [ 1, 18 ],
"html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org", "html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"BIGACE": { "BIGACE": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BIGACE" }, "meta": { "generator": "BIGACE" },
"html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE", "html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigcommerce": { "Bigcommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -197,14 +197,14 @@
"BigDump": { "BigDump": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer", "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigware": { "Bigware": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php", "html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php",
"url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)", "url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)",
"headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" }, "headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Blip.tv": { "Blip.tv": {
"cats": [ 14 ], "cats": [ 14 ],
@ -218,17 +218,17 @@
"BrowserCMS": { "BrowserCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BrowserCMS" }, "meta": { "generator": "BrowserCMS" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Bugzilla": { "Bugzilla": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "href=\\\"enter_bug\\.cgi\\\">", "html": "href=\\\"enter_bug\\.cgi\\\">",
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Burning Board": { "Burning Board": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board", "html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Business Catalyst": { "Business Catalyst": {
"cats": [ 1 ], "cats": [ 1 ],
@ -239,14 +239,14 @@
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "cakephp=" }, "headers": { "Set-Cookie": "cakephp=" },
"meta": { "application-name": "CakePHP" }, "meta": { "application-name": "CakePHP" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cargo": { "Cargo": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "cargo_title": ".*" }, "meta": { "cargo_title": ".*" },
"script": "/cargo\\.", "script": "/cargo\\.",
"html": "<link [^>]+Cargo feed", "html": "<link [^>]+Cargo feed",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CentOS": { "CentOS": {
"cats": [ 28 ], "cats": [ 28 ],
@ -268,7 +268,7 @@
"cats": [ 21 ], "cats": [ 21 ],
"meta": { "generator": "Chamilo" }, "meta": { "generator": "Chamilo" },
"headers": { "X-Powered-By": "Chamilo" }, "headers": { "X-Powered-By": "Chamilo" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Chartbeat": { "Chartbeat": {
"cats": [ 10 ], "cats": [ 10 ],
@ -281,13 +281,13 @@
"CKEditor": { "CKEditor": {
"cats": [ 24 ], "cats": [ 24 ],
"env": "^CKEDITOR$", "env": "^CKEDITOR$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickHeat": { "ClickHeat": {
"cats": [ 10 ], "cats": [ 10 ],
"script": "clickheat.*\\.js", "script": "clickheat.*\\.js",
"env": "^clickHeatBrowser$", "env": "^clickHeatBrowser$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickTale": { "ClickTale": {
"cats": [ 10 ], "cats": [ 10 ],
@ -307,12 +307,12 @@
"CMS Made Simple": { "CMS Made Simple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMS Made Simple" }, "meta": { "generator": "CMS Made Simple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CMSimple": { "CMSimple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CO2Stats": { "CO2Stats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -321,7 +321,7 @@
"CodeIgniter": { "CodeIgniter": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Commerce Server": { "Commerce Server": {
"cats": [ 6 ], "cats": [ 6 ],
@ -338,22 +338,22 @@
"script": "concrete/js/", "script": "concrete/js/",
"meta": { "generator": "concrete5" }, "meta": { "generator": "concrete5" },
"env": "^CCM_IMAGE_PATH$", "env": "^CCM_IMAGE_PATH$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Connect": { "Connect": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "^Connect$" }, "headers": { "X-Powered-By": "^Connect$" },
"implies": [ "node.js" ] "implies": "node.js"
}, },
"Contao": { "Contao": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)", "html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contenido": { "Contenido": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Contenido" }, "meta": { "generator": "Contenido" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contens": { "Contens": {
"cats": [ 1 ], "cats": [ 1 ],
@ -367,7 +367,7 @@
"Coppermine": { "Coppermine": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--Coppermine Photo Gallery", "html": "<!--Coppermine Photo Gallery",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cosmoshop": { "Cosmoshop": {
"cats": [ 6 ], "cats": [ 6 ],
@ -376,7 +376,7 @@
"Cotonti": { "Cotonti": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Cotonti" }, "meta": { "generator": "Cotonti" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CouchDB": { "CouchDB": {
"cats": [ 22 ], "cats": [ 22 ],
@ -391,7 +391,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-Powered-By": "Dragonfly CMS" }, "headers": { "X-Powered-By": "Dragonfly CMS" },
"meta": { "generator": "CPG Dragonfly" }, "meta": { "generator": "CPG Dragonfly" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Crazy Egg": { "Crazy Egg": {
"cats": [ 10 ], "cats": [ 10 ],
@ -407,13 +407,13 @@
"cats": [ 6 ], "cats": [ 6 ],
"env": "^fn_compare_strings$", "env": "^fn_compare_strings$",
"html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)", "html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CubeCart": { "CubeCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)",
"meta": { "generator": "cubecart" }, "meta": { "generator": "cubecart" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cufon": { "Cufon": {
"cats": [ 17 ], "cats": [ 17 ],
@ -427,7 +427,7 @@
"Dancer": { "Dancer": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" }, "headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Danneo CMS": { "Danneo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -457,7 +457,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"env": "^Dede", "env": "^Dede",
"script": "dedeajax", "script": "dedeajax",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Demandware": { "Demandware": {
"cats": [ 6 ], "cats": [ 6 ],
@ -483,13 +483,13 @@
"Django": { "Django": {
"cats": [ 18 ], "cats": [ 18 ],
"html": "powered by <a[^>]+>Django", "html": "powered by <a[^>]+>Django",
"implies": [ "Python" ] "implies": "Python"
}, },
"Django CMS": { "Django CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "media/cms/js/csrf\\.js", "script": "media/cms/js/csrf\\.js",
"headers": { "Set-Cookie": "django" }, "headers": { "Set-Cookie": "django" },
"implies": [ "Django" ] "implies": "Django"
}, },
"Dojo": { "Dojo": {
"cats": [ 12 ], "cats": [ 12 ],
@ -507,7 +507,7 @@
"cats": [ 8 ], "cats": [ 8 ],
"meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, "meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" },
"headers": { "Set-Cookie": "DokuWiki=" }, "headers": { "Set-Cookie": "DokuWiki=" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"DotNetNuke": { "DotNetNuke": {
"cats": [ 1 ], "cats": [ 1 ],
@ -515,7 +515,7 @@
"headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" }, "headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" },
"html": "<!-- by DotNetNuke Corporation", "html": "<!-- by DotNetNuke Corporation",
"env": "^DotNetNuke$", "env": "^DotNetNuke$",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Doxygen": { "Doxygen": {
"cats": [ 4 ], "cats": [ 4 ],
@ -531,23 +531,23 @@
"html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/", "html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/",
"headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" },
"env": "^Drupal$", "env": "^Drupal$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Drupal Commerce": { "Drupal Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field", "html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Dynamicweb": { "Dynamicweb": {
"cats": [ 1, 6, 10 ], "cats": [ 1, 6, 10 ],
"meta": { "generator": "Dynamicweb" }, "meta": { "generator": "Dynamicweb" },
"headers": { "Set-Cookie": "Dynamicweb=" }, "headers": { "Set-Cookie": "Dynamicweb=" },
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"e107": { "e107": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "e107\\.js", "script": "e107\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"EdgeCast": { "EdgeCast": {
"cats": [ 31 ], "cats": [ 31 ],
@ -565,7 +565,7 @@
"EPrints": { "EPrints": {
"cats": [ 19 ], "cats": [ 19 ],
"meta": { "generator": "EPrints" }, "meta": { "generator": "EPrints" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Exhibit": { "Exhibit": {
"cats": [ 25 ], "cats": [ 25 ],
@ -580,7 +580,7 @@
"ExpressionEngine": { "ExpressionEngine": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ExtJS": { "ExtJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -591,7 +591,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish" }, "headers": { "X-Powered-By": "^eZ Publish" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Fact Finder": { "Fact Finder": {
"cats": [ 29 ], "cats": [ 29 ],
@ -642,7 +642,7 @@
"Gambio": { "Gambio": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->", "html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Gauges": { "Gauges": {
"cats": [ 10 ], "cats": [ 10 ],
@ -660,7 +660,7 @@
"GetSimple CMS": { "GetSimple CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "GetSimple" }, "meta": { "generator": "GetSimple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"GoAhead": { "GoAhead": {
"cats": [ 22 ], "cats": [ 22 ],
@ -706,7 +706,7 @@
"Google Web Toolkit": { "Google Web Toolkit": {
"cats": [ 18 ], "cats": [ 18 ],
"env": "^__gwt_", "env": "^__gwt_",
"implies": [ "Java" ] "implies": "Java"
}, },
"GoStats": { "GoStats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -758,7 +758,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"html": "(/sys_master/|/hybr/|/_ui/desktop/)", "html": "(/sys_master/|/hybr/|/_ui/desktop/)",
"headers": { "Set-Cookie": "_hybris" }, "headers": { "Set-Cookie": "_hybris" },
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM HTTP Server": { "IBM HTTP Server": {
"cats": [ 22 ], "cats": [ 22 ],
@ -768,29 +768,29 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "IBM-Web2-Location": ".*" }, "headers": { "IBM-Web2-Location": ".*" },
"url": "/wps/", "url": "/wps/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM WebSphere Commerce": { "IBM WebSphere Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/wcs/", "url": "/wcs/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IIS": { "IIS": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" }, "headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" },
"implies": [ "Windows Server" ] "implies": "Windows Server"
}, },
"ImpressCMS": { "ImpressCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "include/linkexternal\\.js", "script": "include/linkexternal\\.js",
"meta": { "generator": "ImpressCMS" }, "meta": { "generator": "ImpressCMS" },
"headers": { "X-Powered-By": "ImpressCMS" }, "headers": { "X-Powered-By": "ImpressCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ImpressPages": { "ImpressPages": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "ImpressPages" }, "meta": { "generator": "ImpressPages" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Indexhibit": { "Indexhibit": {
"cats": [ 1 ], "cats": [ 1 ],
@ -820,7 +820,7 @@
"JAlbum": { "JAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jalios": { "Jalios": {
"cats": [ 1 ], "cats": [ 1 ],
@ -838,17 +838,17 @@
"JavaServer Faces": { "JavaServer Faces": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"JavaServer Pages": { "JavaServer Pages": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Java Servlet": { "Java Servlet": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jirafe": { "Jirafe": {
"cats": [ 10, 32 ], "cats": [ 10, 32 ],
@ -871,7 +871,7 @@
"html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50", "html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50",
"headers": { "X-Content-Encoded-By": "Joomla" }, "headers": { "X-Content-Encoded-By": "Joomla" },
"env": "^jcomments$", "env": "^jcomments$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"jqPlot": { "jqPlot": {
"cats": [ 25 ], "cats": [ 25 ],
@ -891,7 +891,7 @@
"jQuery Mobile": { "jQuery Mobile": {
"cats": [ 26 ], "cats": [ 26 ],
"script": "jquery\\.mobile.*\\.js", "script": "jquery\\.mobile.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"jQuery Sparklines": { "jQuery Sparklines": {
"cats": [ 25 ], "cats": [ 25 ],
@ -900,7 +900,7 @@
"jQuery UI": { "jQuery UI": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "jquery-ui.*\\.js", "script": "jquery-ui.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"JS Charts": { "JS Charts": {
"cats": [ 25 ], "cats": [ 25 ],
@ -915,7 +915,7 @@
"cats": [ 19 ], "cats": [ 19 ],
"html": "<!-- JoomlaWorks \\\"K2\\\"", "html": "<!-- JoomlaWorks \\\"K2\\\"",
"env": "^K2RatingURL$", "env": "^K2RatingURL$",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"Kampyle": { "Kampyle": {
"cats": [ 10, 13 ], "cats": [ 10, 13 ],
@ -927,7 +927,7 @@
"cats": [ 18 ], "cats": [ 18 ],
"env": "^kendo$", "env": "^kendo$",
"html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]", "html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"Kentico CMS": { "Kentico CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -948,7 +948,7 @@
"Kohana": { "Kohana": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" }, "headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Kolibri CMS": { "Kolibri CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -957,7 +957,7 @@
"Komodo CMS": { "Komodo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^Komodo CMS" }, "meta": { "generator": "^Komodo CMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Koobi": { "Koobi": {
"cats": [ 1 ], "cats": [ 1 ],
@ -966,7 +966,7 @@
"LEPTON": { "LEPTON": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "LEPTON" }, "meta": { "generator": "LEPTON" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Liferay": { "Liferay": {
"cats": [ 1 ], "cats": [ 1 ],
@ -976,7 +976,7 @@
"LightMon Engine": { "LightMon Engine": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!-- Lightmon Engine Copyright Lightmon", "html": "<!-- Lightmon Engine Copyright Lightmon",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"lighttpd": { "lighttpd": {
"cats": [ 22 ], "cats": [ 22 ],
@ -1009,7 +1009,7 @@
"script": "(js/mage|skin/frontend/(default|enterprise))", "script": "(js/mage|skin/frontend/(default|enterprise))",
"headers": { "Set-Cookie": "frontend=\\;confidence:50" }, "headers": { "Set-Cookie": "frontend=\\;confidence:50" },
"env": "^(Mage|VarienForm)$", "env": "^(Mage|VarienForm)$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Mambo": { "Mambo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1081,12 +1081,12 @@
"html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/", "html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/",
"env": "^MODX_MEDIA_PATH$", "env": "^MODX_MEDIA_PATH$",
"headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"mod_fastcgi": { "mod_fastcgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_python": { "mod_python": {
"cats": [ 33 ], "cats": [ 33 ],
@ -1096,33 +1096,33 @@
"mod_rack": { "mod_rack": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Ruby", "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_rails": { "mod_rails": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_ssl": { "mod_ssl": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_wsgi": { "mod_wsgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Python", "Apache" ] "implies": [ "Python\\;confidence:50", "Apache" ]
}, },
"MoinMoin": { "MoinMoin": {
"cats": [ 8 ], "cats": [ 8 ],
"script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4",
"env": "^show_switch2gui$", "env": "^show_switch2gui$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Mojolicious": { "Mojolicious": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "x-powered-by": "mojolicious" }, "headers": { "x-powered-by": "mojolicious" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Mollom": { "Mollom": {
"cats": [ 16 ], "cats": [ 16 ],
@ -1136,7 +1136,7 @@
"Mongrel": { "Mongrel": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "Mongrel" }, "headers": { "Server": "Mongrel" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"MongoDB": { "MongoDB": {
"cats": [ 24 ] "cats": [ 24 ]
@ -1146,7 +1146,7 @@
"html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)", "html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)",
"headers": { "Set-Cookie": "MoodleSession" }, "headers": { "Set-Cookie": "MoodleSession" },
"env": "^moodle", "env": "^moodle",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Moogo": { "Moogo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1225,7 +1225,7 @@
"OpenCart": { "OpenCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart", "html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"openEngine": { "openEngine": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1235,12 +1235,12 @@
"cats": [ 19 ], "cats": [ 19 ],
"headers": { "Set-Cookie": "OpenGrok" }, "headers": { "Set-Cookie": "OpenGrok" },
"meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenGSE": { "OpenGSE": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "GSE" }, "headers": { "Server": "GSE" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenLayers": { "OpenLayers": {
"cats": [ 35 ], "cats": [ 35 ],
@ -1258,7 +1258,7 @@
"OpenText Web Solutions": { "OpenText Web Solutions": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!--[^>]+published by Open Text Web Solutions", "html": "<!--[^>]+published by Open Text Web Solutions",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Optimizely": { "Optimizely": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1320,7 +1320,7 @@
"phpAlbum": { "phpAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--phpalbum [\\.\\d\\s]+-->", "html": "<!--phpalbum [\\.\\d\\s]+-->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpBB": { "phpBB": {
"cats": [ 2 ], "cats": [ 2 ],
@ -1328,22 +1328,22 @@
"html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)", "html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)",
"env": "^(style_cookie_settings|phpbb_)", "env": "^(style_cookie_settings|phpbb_)",
"headers": { "Set-Cookie": "^phpbb" }, "headers": { "Set-Cookie": "^phpbb" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpCMS": { "phpCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"env": "^phpcms", "env": "^phpcms",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpDocumentor": { "phpDocumentor": {
"cats": [ 4 ], "cats": [ 4 ],
"html": "<!-- Generated by phpDocumentor", "html": "<!-- Generated by phpDocumentor",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"PHP-Fusion": { "PHP-Fusion": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "Powered by <a href=\\\"[^>]+php-fusion", "html": "Powered by <a href=\\\"[^>]+php-fusion",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpMyAdmin": { "phpMyAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
@ -1358,18 +1358,18 @@
"phpPgAdmin": { "phpPgAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)", "html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpSQLiteCMS": { "phpSQLiteCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^phpSQLiteCMS" }, "meta": { "generator": "^phpSQLiteCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpwind": { "phpwind": {
"cats": [ 1, 2 ], "cats": [ 1, 2 ],
"meta": { "generator": "^phpwind" }, "meta": { "generator": "^phpwind" },
"html": "Powered by <a href=\\\".+phpwind\\.net", "html": "Powered by <a href=\\\".+phpwind\\.net",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Piwik": { "Piwik": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1394,7 +1394,7 @@
"Plone": { "Plone": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Plone" }, "meta": { "generator": "Plone" },
"implies": [ "Python" ] "implies": "Python"
}, },
"Plura": { "Plura": {
"cats": [ 19 ], "cats": [ 19 ],
@ -1417,7 +1417,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "generator": "PrestaShop" }, "meta": { "generator": "PrestaShop" },
"html": "Powered by <a href=\\\"[^>]+PrestaShop", "html": "Powered by <a href=\\\"[^>]+PrestaShop",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Prototype": { "Prototype": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1432,7 +1432,7 @@
"punBB": { "punBB": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "Powered by <a href=\\\"[^>]+punbb", "html": "Powered by <a href=\\\"[^>]+punbb",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Python": { "Python": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1450,7 +1450,7 @@
"RackCache": { "RackCache": {
"cats": [ 23 ], "cats": [ 23 ],
"headers": { "X-Rack-Cache": ".+" }, "headers": { "X-Rack-Cache": ".+" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Raphael": { "Raphael": {
"cats": [ 25 ], "cats": [ 25 ],
@ -1461,7 +1461,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"html": "<html[^>]+xmlns:change=", "html": "<html[^>]+xmlns:change=",
"meta": { "generator": "RBS Change" }, "meta": { "generator": "RBS Change" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"RCMS": { "RCMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1482,13 +1482,13 @@
"html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)",
"url": "^(www\\.)?reddit\\.com", "url": "^(www\\.)?reddit\\.com",
"env": "^reddit$", "env": "^reddit$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Redmine": { "Redmine": {
"cats": [ 13 ], "cats": [ 13 ],
"meta": { "description": "Redmine" }, "meta": { "description": "Redmine" },
"html": "Powered by <a href=\\\"[^>]+Redmine", "html": "Powered by <a href=\\\"[^>]+Redmine",
"implies": [ "Ruby on Rails" ] "implies": "Ruby on Rails"
}, },
"Reinvigorate": { "Reinvigorate": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1503,7 +1503,7 @@
"cats": [ 30 ], "cats": [ 30 ],
"html": "<title>RoundCube", "html": "<title>RoundCube",
"env": "^(rcmail|rcube_|roundcube)", "env": "^(rcmail|rcube_|roundcube)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ruby": { "Ruby": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1514,7 +1514,7 @@
"script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50", "script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
"meta": { "csrf-param": "authenticity_token\\;confidence:50" }, "meta": { "csrf-param": "authenticity_token\\;confidence:50" },
"headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" }, "headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"S.Builder": { "S.Builder": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1528,7 +1528,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" }, "meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" },
"headers": { "X-Spip-Cache": ".*" }, "headers": { "X-Spip-Cache": ".*" },
"implies": [ "SPIP" ] "implies": "SPIP"
}, },
"script.aculo.us": { "script.aculo.us": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1565,7 +1565,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "application-name": "Shopware" }, "meta": { "application-name": "Shopware" },
"script": "shopware\\.js", "script": "shopware\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sIFR": { "sIFR": {
"cats": [ 17 ], "cats": [ 17 ],
@ -1597,7 +1597,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<script [^>]+\\s+var smf_", "html": "<script [^>]+\\s+var smf_",
"env": "^smf_", "env": "^smf_",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sNews": { "sNews": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1611,13 +1611,13 @@
"SOBI 2": { "SOBI 2": {
"cats": [ 19 ], "cats": [ 19 ],
"html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)", "html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SobiPro": { "SobiPro": {
"cats": [ 19 ], "cats": [ 19 ],
"env": "^SobiProUrl$", "env": "^SobiProUrl$",
"html": " <(script|link)[^>].*com_sobipro.*>", "html": " <(script|link)[^>].*com_sobipro.*>",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SoundManager": { "SoundManager": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1630,7 +1630,7 @@
"Sphinx": { "Sphinx": {
"cats": [ 4 ], "cats": [ 4 ],
"env": "^DOCUMENTATION_OPTIONS$", "env": "^DOCUMENTATION_OPTIONS$",
"implies": [ "Python" ] "implies": "Python"
}, },
"SPIP": { "SPIP": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1652,7 +1652,7 @@
"meta": { "generator": "Squiz Matrix" }, "meta": { "generator": "Squiz Matrix" },
"html": " Running (MySource|Squiz) Matrix", "html": " Running (MySource|Squiz) Matrix",
"headers": { "X-Powered-By": "Squiz Matrix" }, "headers": { "X-Powered-By": "Squiz Matrix" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"StatCounter": { "StatCounter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1693,7 +1693,7 @@
"meta": { "generator": "Swiftlet" }, "meta": { "generator": "Swiftlet" },
"html": "Powered by <a href=\\\"[^>]+Swiftlet", "html": "Powered by <a href=\\\"[^>]+Swiftlet",
"headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" }, "headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Textpattern CMS": { "Textpattern CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1730,7 +1730,7 @@
"Trac": { "Trac": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "<a id=\\\"tracpowered", "html": "<a id=\\\"tracpowered",
"implies": [ "Python" ] "implies": "Python"
}, },
"Tumblr": { "Tumblr": {
"cats": [ 11 ], "cats": [ 11 ],
@ -1764,12 +1764,12 @@
"meta": { "generator": "TYPO3" }, "meta": { "generator": "TYPO3" },
"html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)", "html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)",
"url": "/typo3/", "url": "/typo3/",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ubercart": { "Ubercart": {
"cats": [ 6 ], "cats": [ 6 ],
"script": "uc_cart/uc_cart_block\\.js", "script": "uc_cart/uc_cart_block\\.js",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Ubuntu": { "Ubuntu": {
"cats": [ 28 ], "cats": [ 28 ],
@ -1780,7 +1780,7 @@
"meta": { "generator": "umbraco" }, "meta": { "generator": "umbraco" },
"headers": { "X-Umbraco-Version": ".+" }, "headers": { "X-Umbraco-Version": ".+" },
"html": "powered by <a href=[^>]+umbraco", "html": "powered by <a href=[^>]+umbraco",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Underscore.js": { "Underscore.js": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1803,7 +1803,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<body id=\\\"(DiscussionsPage|vanilla)", "html": "<body id=\\\"(DiscussionsPage|vanilla)",
"headers": { "X-Powered-By": "Vanilla" }, "headers": { "X-Powered-By": "Vanilla" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Varnish": { "Varnish": {
"cats": [ 23 ], "cats": [ 23 ],
@ -1813,7 +1813,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"meta": { "generator": "vBulletin" }, "meta": { "generator": "vBulletin" },
"env": "^(vBulletin|vB_[^g])", "env": "^(vBulletin|vB_[^g])",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"VideoJS": { "VideoJS": {
"cats": [ 14 ], "cats": [ 14 ],
@ -1858,7 +1858,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"script": "vs350\\.js", "script": "vs350\\.js",
"html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>", "html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"W3Counter": { "W3Counter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1867,7 +1867,7 @@
"W3 Total Cache": { "W3 Total Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+W3 Total Cache", "html": "<!--[^>]+W3 Total Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Web Optimizer": { "Web Optimizer": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1892,7 +1892,7 @@
"WebsiteBaker": { "WebsiteBaker": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "WebsiteBaker" }, "meta": { "generator": "WebsiteBaker" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WebsPlanet": { "WebsPlanet": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1938,12 +1938,12 @@
"meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" },
"html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content", "html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content",
"env": "^wp_username$", "env": "^wp_username$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WordPress Super Cache": { "WordPress Super Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+WP-Super-Cache", "html": "<!--[^>]+WP-Super-Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Xajax": { "Xajax": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1970,7 +1970,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "XOOPS" }, "meta": { "generator": "XOOPS" },
"env": "^xoops", "env": "^xoops",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"xtCommerce": { "xtCommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -2023,13 +2023,13 @@
"Zinnia": { "Zinnia": {
"cats": [ 11 ], "cats": [ 11 ],
"meta": { "generator": "Zinnia" }, "meta": { "generator": "Zinnia" },
"implies": [ "Django" ] "implies": "Django"
}, },
"ZK": { "ZK": {
"cats": [ 18 ], "cats": [ 18 ],
"script": "zkau/", "script": "zkau/",
"html": "<!-- ZK [\\.\\d\\s]+-->", "html": "<!-- ZK [\\.\\d\\s]+-->",
"implies": [ "Java" ] "implies": "Java"
} }
} }
} }

@ -43,12 +43,12 @@
"headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" }, "headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" },
"html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)", "html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)",
"script": "1c-bitrix", "script": "1c-bitrix",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"1und1": { "1und1": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/shop/catalog/browse\\?sessid=", "url": "/shop/catalog/browse\\?sessid=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"2z Project": { "2z Project": {
"cats": [ 1 ], "cats": [ 1 ],
@ -62,7 +62,7 @@
"Accessible Portal": { "Accessible Portal": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Accessible Portal" }, "meta": { "generator": "Accessible Portal" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AddThis": { "AddThis": {
"cats": [ 5 ], "cats": [ 5 ],
@ -73,7 +73,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"url": "/etc/designs/", "url": "/etc/designs/",
"html": "<div class=\\\"[^\\\"]*parbase", "html": "<div class=\\\"[^\\\"]*parbase",
"implies": [ "Java" ] "implies": "Java"
}, },
"Adobe GoLive": { "Adobe GoLive": {
"cats": [ 20 ], "cats": [ 20 ],
@ -82,7 +82,7 @@
"Advanced Web Stats": { "Advanced Web Stats": {
"cats": [ 10 ], "cats": [ 10 ],
"html": "aws\\.src = [^<]+caphyon-analytics", "html": "aws\\.src = [^<]+caphyon-analytics",
"implies": [ "Java" ] "implies": "Java"
}, },
"Alloy": { "Alloy": {
"cats": [ 12 ], "cats": [ 12 ],
@ -96,19 +96,19 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(Ametys|Anyware Technologies)" }, "meta": { "generator": "(Ametys|Anyware Technologies)" },
"script": "STools\\.js", "script": "STools\\.js",
"implies": [ "Java" ] "implies": "Java"
}, },
"Amiro.CMS": { "Amiro.CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Amiro" }, "meta": { "generator": "Amiro" },
"html": "system_js\\.php\\?script=", "html": "system_js\\.php\\?script=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AMPcms": { "AMPcms": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" }, "headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" },
"env": "^amp_js_init$", "env": "^amp_js_init$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AngularJS": { "AngularJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -155,7 +155,7 @@
"html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2", "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2",
"headers": { "X-Confluence-Request-Time": ".*" }, "headers": { "X-Confluence-Request-Time": ".*" },
"meta": { "confluence-request-time": ".*" }, "meta": { "confluence-request-time": ".*" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Atlassian Jira": { "Atlassian Jira": {
"cats": [ 13 ], "cats": [ 13 ],
@ -163,29 +163,29 @@
"script": "/jira/s/", "script": "/jira/s/",
"url": "/secure/Dashboard.jspa", "url": "/secure/Dashboard.jspa",
"html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4",
"implies": [ "Java" ] "implies": "Java"
}, },
"AWStats": { "AWStats": {
"cats": [ 10 ], "cats": [ 10 ],
"meta": { "generator": "AWStats" }, "meta": { "generator": "AWStats" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Backbone.js": { "Backbone.js": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "backbone.*\\.js", "script": "backbone.*\\.js",
"env": "^Backbone$", "env": "^Backbone$",
"implies": [ "Underscore.js" ] "implies": "Underscore.js"
}, },
"Banshee": { "Banshee": {
"cats": [ 1, 18 ], "cats": [ 1, 18 ],
"html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org", "html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"BIGACE": { "BIGACE": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BIGACE" }, "meta": { "generator": "BIGACE" },
"html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE", "html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigcommerce": { "Bigcommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -197,14 +197,14 @@
"BigDump": { "BigDump": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer", "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigware": { "Bigware": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php", "html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php",
"url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)", "url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)",
"headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" }, "headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Blip.tv": { "Blip.tv": {
"cats": [ 14 ], "cats": [ 14 ],
@ -218,17 +218,17 @@
"BrowserCMS": { "BrowserCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BrowserCMS" }, "meta": { "generator": "BrowserCMS" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Bugzilla": { "Bugzilla": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "href=\\\"enter_bug\\.cgi\\\">", "html": "href=\\\"enter_bug\\.cgi\\\">",
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Burning Board": { "Burning Board": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board", "html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Business Catalyst": { "Business Catalyst": {
"cats": [ 1 ], "cats": [ 1 ],
@ -239,14 +239,14 @@
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "cakephp=" }, "headers": { "Set-Cookie": "cakephp=" },
"meta": { "application-name": "CakePHP" }, "meta": { "application-name": "CakePHP" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cargo": { "Cargo": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "cargo_title": ".*" }, "meta": { "cargo_title": ".*" },
"script": "/cargo\\.", "script": "/cargo\\.",
"html": "<link [^>]+Cargo feed", "html": "<link [^>]+Cargo feed",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CentOS": { "CentOS": {
"cats": [ 28 ], "cats": [ 28 ],
@ -268,7 +268,7 @@
"cats": [ 21 ], "cats": [ 21 ],
"meta": { "generator": "Chamilo" }, "meta": { "generator": "Chamilo" },
"headers": { "X-Powered-By": "Chamilo" }, "headers": { "X-Powered-By": "Chamilo" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Chartbeat": { "Chartbeat": {
"cats": [ 10 ], "cats": [ 10 ],
@ -281,13 +281,13 @@
"CKEditor": { "CKEditor": {
"cats": [ 24 ], "cats": [ 24 ],
"env": "^CKEDITOR$", "env": "^CKEDITOR$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickHeat": { "ClickHeat": {
"cats": [ 10 ], "cats": [ 10 ],
"script": "clickheat.*\\.js", "script": "clickheat.*\\.js",
"env": "^clickHeatBrowser$", "env": "^clickHeatBrowser$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickTale": { "ClickTale": {
"cats": [ 10 ], "cats": [ 10 ],
@ -307,12 +307,12 @@
"CMS Made Simple": { "CMS Made Simple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMS Made Simple" }, "meta": { "generator": "CMS Made Simple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CMSimple": { "CMSimple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CO2Stats": { "CO2Stats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -321,7 +321,7 @@
"CodeIgniter": { "CodeIgniter": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Commerce Server": { "Commerce Server": {
"cats": [ 6 ], "cats": [ 6 ],
@ -338,22 +338,22 @@
"script": "concrete/js/", "script": "concrete/js/",
"meta": { "generator": "concrete5" }, "meta": { "generator": "concrete5" },
"env": "^CCM_IMAGE_PATH$", "env": "^CCM_IMAGE_PATH$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Connect": { "Connect": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "^Connect$" }, "headers": { "X-Powered-By": "^Connect$" },
"implies": [ "node.js" ] "implies": "node.js"
}, },
"Contao": { "Contao": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)", "html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contenido": { "Contenido": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Contenido" }, "meta": { "generator": "Contenido" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contens": { "Contens": {
"cats": [ 1 ], "cats": [ 1 ],
@ -367,7 +367,7 @@
"Coppermine": { "Coppermine": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--Coppermine Photo Gallery", "html": "<!--Coppermine Photo Gallery",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cosmoshop": { "Cosmoshop": {
"cats": [ 6 ], "cats": [ 6 ],
@ -376,7 +376,7 @@
"Cotonti": { "Cotonti": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Cotonti" }, "meta": { "generator": "Cotonti" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CouchDB": { "CouchDB": {
"cats": [ 22 ], "cats": [ 22 ],
@ -391,7 +391,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-Powered-By": "Dragonfly CMS" }, "headers": { "X-Powered-By": "Dragonfly CMS" },
"meta": { "generator": "CPG Dragonfly" }, "meta": { "generator": "CPG Dragonfly" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Crazy Egg": { "Crazy Egg": {
"cats": [ 10 ], "cats": [ 10 ],
@ -407,13 +407,13 @@
"cats": [ 6 ], "cats": [ 6 ],
"env": "^fn_compare_strings$", "env": "^fn_compare_strings$",
"html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)", "html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CubeCart": { "CubeCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)",
"meta": { "generator": "cubecart" }, "meta": { "generator": "cubecart" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cufon": { "Cufon": {
"cats": [ 17 ], "cats": [ 17 ],
@ -427,7 +427,7 @@
"Dancer": { "Dancer": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" }, "headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Danneo CMS": { "Danneo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -457,7 +457,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"env": "^Dede", "env": "^Dede",
"script": "dedeajax", "script": "dedeajax",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Demandware": { "Demandware": {
"cats": [ 6 ], "cats": [ 6 ],
@ -483,13 +483,13 @@
"Django": { "Django": {
"cats": [ 18 ], "cats": [ 18 ],
"html": "powered by <a[^>]+>Django", "html": "powered by <a[^>]+>Django",
"implies": [ "Python" ] "implies": "Python"
}, },
"Django CMS": { "Django CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "media/cms/js/csrf\\.js", "script": "media/cms/js/csrf\\.js",
"headers": { "Set-Cookie": "django" }, "headers": { "Set-Cookie": "django" },
"implies": [ "Django" ] "implies": "Django"
}, },
"Dojo": { "Dojo": {
"cats": [ 12 ], "cats": [ 12 ],
@ -507,7 +507,7 @@
"cats": [ 8 ], "cats": [ 8 ],
"meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, "meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" },
"headers": { "Set-Cookie": "DokuWiki=" }, "headers": { "Set-Cookie": "DokuWiki=" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"DotNetNuke": { "DotNetNuke": {
"cats": [ 1 ], "cats": [ 1 ],
@ -515,7 +515,7 @@
"headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" }, "headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" },
"html": "<!-- by DotNetNuke Corporation", "html": "<!-- by DotNetNuke Corporation",
"env": "^DotNetNuke$", "env": "^DotNetNuke$",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Doxygen": { "Doxygen": {
"cats": [ 4 ], "cats": [ 4 ],
@ -531,23 +531,23 @@
"html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/", "html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/",
"headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" },
"env": "^Drupal$", "env": "^Drupal$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Drupal Commerce": { "Drupal Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field", "html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Dynamicweb": { "Dynamicweb": {
"cats": [ 1, 6, 10 ], "cats": [ 1, 6, 10 ],
"meta": { "generator": "Dynamicweb" }, "meta": { "generator": "Dynamicweb" },
"headers": { "Set-Cookie": "Dynamicweb=" }, "headers": { "Set-Cookie": "Dynamicweb=" },
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"e107": { "e107": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "e107\\.js", "script": "e107\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"EdgeCast": { "EdgeCast": {
"cats": [ 31 ], "cats": [ 31 ],
@ -565,7 +565,7 @@
"EPrints": { "EPrints": {
"cats": [ 19 ], "cats": [ 19 ],
"meta": { "generator": "EPrints" }, "meta": { "generator": "EPrints" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Exhibit": { "Exhibit": {
"cats": [ 25 ], "cats": [ 25 ],
@ -580,7 +580,7 @@
"ExpressionEngine": { "ExpressionEngine": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ExtJS": { "ExtJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -591,7 +591,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish" }, "headers": { "X-Powered-By": "^eZ Publish" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Fact Finder": { "Fact Finder": {
"cats": [ 29 ], "cats": [ 29 ],
@ -642,7 +642,7 @@
"Gambio": { "Gambio": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->", "html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Gauges": { "Gauges": {
"cats": [ 10 ], "cats": [ 10 ],
@ -660,7 +660,7 @@
"GetSimple CMS": { "GetSimple CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "GetSimple" }, "meta": { "generator": "GetSimple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"GoAhead": { "GoAhead": {
"cats": [ 22 ], "cats": [ 22 ],
@ -706,7 +706,7 @@
"Google Web Toolkit": { "Google Web Toolkit": {
"cats": [ 18 ], "cats": [ 18 ],
"env": "^__gwt_", "env": "^__gwt_",
"implies": [ "Java" ] "implies": "Java"
}, },
"GoStats": { "GoStats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -758,7 +758,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"html": "(/sys_master/|/hybr/|/_ui/desktop/)", "html": "(/sys_master/|/hybr/|/_ui/desktop/)",
"headers": { "Set-Cookie": "_hybris" }, "headers": { "Set-Cookie": "_hybris" },
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM HTTP Server": { "IBM HTTP Server": {
"cats": [ 22 ], "cats": [ 22 ],
@ -768,29 +768,29 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "IBM-Web2-Location": ".*" }, "headers": { "IBM-Web2-Location": ".*" },
"url": "/wps/", "url": "/wps/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM WebSphere Commerce": { "IBM WebSphere Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/wcs/", "url": "/wcs/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IIS": { "IIS": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" }, "headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" },
"implies": [ "Windows Server" ] "implies": "Windows Server"
}, },
"ImpressCMS": { "ImpressCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "include/linkexternal\\.js", "script": "include/linkexternal\\.js",
"meta": { "generator": "ImpressCMS" }, "meta": { "generator": "ImpressCMS" },
"headers": { "X-Powered-By": "ImpressCMS" }, "headers": { "X-Powered-By": "ImpressCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ImpressPages": { "ImpressPages": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "ImpressPages" }, "meta": { "generator": "ImpressPages" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Indexhibit": { "Indexhibit": {
"cats": [ 1 ], "cats": [ 1 ],
@ -820,7 +820,7 @@
"JAlbum": { "JAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jalios": { "Jalios": {
"cats": [ 1 ], "cats": [ 1 ],
@ -838,17 +838,17 @@
"JavaServer Faces": { "JavaServer Faces": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"JavaServer Pages": { "JavaServer Pages": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Java Servlet": { "Java Servlet": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jirafe": { "Jirafe": {
"cats": [ 10, 32 ], "cats": [ 10, 32 ],
@ -871,7 +871,7 @@
"html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50", "html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50",
"headers": { "X-Content-Encoded-By": "Joomla" }, "headers": { "X-Content-Encoded-By": "Joomla" },
"env": "^jcomments$", "env": "^jcomments$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"jqPlot": { "jqPlot": {
"cats": [ 25 ], "cats": [ 25 ],
@ -891,7 +891,7 @@
"jQuery Mobile": { "jQuery Mobile": {
"cats": [ 26 ], "cats": [ 26 ],
"script": "jquery\\.mobile.*\\.js", "script": "jquery\\.mobile.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"jQuery Sparklines": { "jQuery Sparklines": {
"cats": [ 25 ], "cats": [ 25 ],
@ -900,7 +900,7 @@
"jQuery UI": { "jQuery UI": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "jquery-ui.*\\.js", "script": "jquery-ui.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"JS Charts": { "JS Charts": {
"cats": [ 25 ], "cats": [ 25 ],
@ -915,7 +915,7 @@
"cats": [ 19 ], "cats": [ 19 ],
"html": "<!-- JoomlaWorks \\\"K2\\\"", "html": "<!-- JoomlaWorks \\\"K2\\\"",
"env": "^K2RatingURL$", "env": "^K2RatingURL$",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"Kampyle": { "Kampyle": {
"cats": [ 10, 13 ], "cats": [ 10, 13 ],
@ -927,7 +927,7 @@
"cats": [ 18 ], "cats": [ 18 ],
"env": "^kendo$", "env": "^kendo$",
"html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]", "html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"Kentico CMS": { "Kentico CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -948,7 +948,7 @@
"Kohana": { "Kohana": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" }, "headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Kolibri CMS": { "Kolibri CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -957,7 +957,7 @@
"Komodo CMS": { "Komodo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^Komodo CMS" }, "meta": { "generator": "^Komodo CMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Koobi": { "Koobi": {
"cats": [ 1 ], "cats": [ 1 ],
@ -966,7 +966,7 @@
"LEPTON": { "LEPTON": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "LEPTON" }, "meta": { "generator": "LEPTON" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Liferay": { "Liferay": {
"cats": [ 1 ], "cats": [ 1 ],
@ -976,7 +976,7 @@
"LightMon Engine": { "LightMon Engine": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!-- Lightmon Engine Copyright Lightmon", "html": "<!-- Lightmon Engine Copyright Lightmon",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"lighttpd": { "lighttpd": {
"cats": [ 22 ], "cats": [ 22 ],
@ -1009,7 +1009,7 @@
"script": "(js/mage|skin/frontend/(default|enterprise))", "script": "(js/mage|skin/frontend/(default|enterprise))",
"headers": { "Set-Cookie": "frontend=\\;confidence:50" }, "headers": { "Set-Cookie": "frontend=\\;confidence:50" },
"env": "^(Mage|VarienForm)$", "env": "^(Mage|VarienForm)$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Mambo": { "Mambo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1081,12 +1081,12 @@
"html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/", "html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/",
"env": "^MODX_MEDIA_PATH$", "env": "^MODX_MEDIA_PATH$",
"headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"mod_fastcgi": { "mod_fastcgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_python": { "mod_python": {
"cats": [ 33 ], "cats": [ 33 ],
@ -1096,33 +1096,33 @@
"mod_rack": { "mod_rack": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Ruby", "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_rails": { "mod_rails": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_ssl": { "mod_ssl": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_wsgi": { "mod_wsgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Python", "Apache" ] "implies": [ "Python\\;confidence:50", "Apache" ]
}, },
"MoinMoin": { "MoinMoin": {
"cats": [ 8 ], "cats": [ 8 ],
"script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4",
"env": "^show_switch2gui$", "env": "^show_switch2gui$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Mojolicious": { "Mojolicious": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "x-powered-by": "mojolicious" }, "headers": { "x-powered-by": "mojolicious" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Mollom": { "Mollom": {
"cats": [ 16 ], "cats": [ 16 ],
@ -1136,7 +1136,7 @@
"Mongrel": { "Mongrel": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "Mongrel" }, "headers": { "Server": "Mongrel" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"MongoDB": { "MongoDB": {
"cats": [ 24 ] "cats": [ 24 ]
@ -1146,7 +1146,7 @@
"html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)", "html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)",
"headers": { "Set-Cookie": "MoodleSession" }, "headers": { "Set-Cookie": "MoodleSession" },
"env": "^moodle", "env": "^moodle",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Moogo": { "Moogo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1225,7 +1225,7 @@
"OpenCart": { "OpenCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart", "html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"openEngine": { "openEngine": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1235,12 +1235,12 @@
"cats": [ 19 ], "cats": [ 19 ],
"headers": { "Set-Cookie": "OpenGrok" }, "headers": { "Set-Cookie": "OpenGrok" },
"meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenGSE": { "OpenGSE": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "GSE" }, "headers": { "Server": "GSE" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenLayers": { "OpenLayers": {
"cats": [ 35 ], "cats": [ 35 ],
@ -1258,7 +1258,7 @@
"OpenText Web Solutions": { "OpenText Web Solutions": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!--[^>]+published by Open Text Web Solutions", "html": "<!--[^>]+published by Open Text Web Solutions",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Optimizely": { "Optimizely": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1320,7 +1320,7 @@
"phpAlbum": { "phpAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--phpalbum [\\.\\d\\s]+-->", "html": "<!--phpalbum [\\.\\d\\s]+-->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpBB": { "phpBB": {
"cats": [ 2 ], "cats": [ 2 ],
@ -1328,22 +1328,22 @@
"html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)", "html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)",
"env": "^(style_cookie_settings|phpbb_)", "env": "^(style_cookie_settings|phpbb_)",
"headers": { "Set-Cookie": "^phpbb" }, "headers": { "Set-Cookie": "^phpbb" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpCMS": { "phpCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"env": "^phpcms", "env": "^phpcms",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpDocumentor": { "phpDocumentor": {
"cats": [ 4 ], "cats": [ 4 ],
"html": "<!-- Generated by phpDocumentor", "html": "<!-- Generated by phpDocumentor",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"PHP-Fusion": { "PHP-Fusion": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "Powered by <a href=\\\"[^>]+php-fusion", "html": "Powered by <a href=\\\"[^>]+php-fusion",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpMyAdmin": { "phpMyAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
@ -1358,18 +1358,18 @@
"phpPgAdmin": { "phpPgAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)", "html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpSQLiteCMS": { "phpSQLiteCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^phpSQLiteCMS" }, "meta": { "generator": "^phpSQLiteCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpwind": { "phpwind": {
"cats": [ 1, 2 ], "cats": [ 1, 2 ],
"meta": { "generator": "^phpwind" }, "meta": { "generator": "^phpwind" },
"html": "Powered by <a href=\\\".+phpwind\\.net", "html": "Powered by <a href=\\\".+phpwind\\.net",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Piwik": { "Piwik": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1394,7 +1394,7 @@
"Plone": { "Plone": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Plone" }, "meta": { "generator": "Plone" },
"implies": [ "Python" ] "implies": "Python"
}, },
"Plura": { "Plura": {
"cats": [ 19 ], "cats": [ 19 ],
@ -1417,7 +1417,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "generator": "PrestaShop" }, "meta": { "generator": "PrestaShop" },
"html": "Powered by <a href=\\\"[^>]+PrestaShop", "html": "Powered by <a href=\\\"[^>]+PrestaShop",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Prototype": { "Prototype": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1432,7 +1432,7 @@
"punBB": { "punBB": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "Powered by <a href=\\\"[^>]+punbb", "html": "Powered by <a href=\\\"[^>]+punbb",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Python": { "Python": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1450,7 +1450,7 @@
"RackCache": { "RackCache": {
"cats": [ 23 ], "cats": [ 23 ],
"headers": { "X-Rack-Cache": ".+" }, "headers": { "X-Rack-Cache": ".+" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Raphael": { "Raphael": {
"cats": [ 25 ], "cats": [ 25 ],
@ -1461,7 +1461,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"html": "<html[^>]+xmlns:change=", "html": "<html[^>]+xmlns:change=",
"meta": { "generator": "RBS Change" }, "meta": { "generator": "RBS Change" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"RCMS": { "RCMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1482,13 +1482,13 @@
"html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)",
"url": "^(www\\.)?reddit\\.com", "url": "^(www\\.)?reddit\\.com",
"env": "^reddit$", "env": "^reddit$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Redmine": { "Redmine": {
"cats": [ 13 ], "cats": [ 13 ],
"meta": { "description": "Redmine" }, "meta": { "description": "Redmine" },
"html": "Powered by <a href=\\\"[^>]+Redmine", "html": "Powered by <a href=\\\"[^>]+Redmine",
"implies": [ "Ruby on Rails" ] "implies": "Ruby on Rails"
}, },
"Reinvigorate": { "Reinvigorate": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1503,7 +1503,7 @@
"cats": [ 30 ], "cats": [ 30 ],
"html": "<title>RoundCube", "html": "<title>RoundCube",
"env": "^(rcmail|rcube_|roundcube)", "env": "^(rcmail|rcube_|roundcube)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ruby": { "Ruby": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1514,7 +1514,7 @@
"script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50", "script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
"meta": { "csrf-param": "authenticity_token\\;confidence:50" }, "meta": { "csrf-param": "authenticity_token\\;confidence:50" },
"headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" }, "headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"S.Builder": { "S.Builder": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1528,7 +1528,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" }, "meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" },
"headers": { "X-Spip-Cache": ".*" }, "headers": { "X-Spip-Cache": ".*" },
"implies": [ "SPIP" ] "implies": "SPIP"
}, },
"script.aculo.us": { "script.aculo.us": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1565,7 +1565,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "application-name": "Shopware" }, "meta": { "application-name": "Shopware" },
"script": "shopware\\.js", "script": "shopware\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sIFR": { "sIFR": {
"cats": [ 17 ], "cats": [ 17 ],
@ -1597,7 +1597,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<script [^>]+\\s+var smf_", "html": "<script [^>]+\\s+var smf_",
"env": "^smf_", "env": "^smf_",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sNews": { "sNews": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1611,13 +1611,13 @@
"SOBI 2": { "SOBI 2": {
"cats": [ 19 ], "cats": [ 19 ],
"html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)", "html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SobiPro": { "SobiPro": {
"cats": [ 19 ], "cats": [ 19 ],
"env": "^SobiProUrl$", "env": "^SobiProUrl$",
"html": " <(script|link)[^>].*com_sobipro.*>", "html": " <(script|link)[^>].*com_sobipro.*>",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SoundManager": { "SoundManager": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1630,7 +1630,7 @@
"Sphinx": { "Sphinx": {
"cats": [ 4 ], "cats": [ 4 ],
"env": "^DOCUMENTATION_OPTIONS$", "env": "^DOCUMENTATION_OPTIONS$",
"implies": [ "Python" ] "implies": "Python"
}, },
"SPIP": { "SPIP": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1652,7 +1652,7 @@
"meta": { "generator": "Squiz Matrix" }, "meta": { "generator": "Squiz Matrix" },
"html": " Running (MySource|Squiz) Matrix", "html": " Running (MySource|Squiz) Matrix",
"headers": { "X-Powered-By": "Squiz Matrix" }, "headers": { "X-Powered-By": "Squiz Matrix" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"StatCounter": { "StatCounter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1693,7 +1693,7 @@
"meta": { "generator": "Swiftlet" }, "meta": { "generator": "Swiftlet" },
"html": "Powered by <a href=\\\"[^>]+Swiftlet", "html": "Powered by <a href=\\\"[^>]+Swiftlet",
"headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" }, "headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Textpattern CMS": { "Textpattern CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1730,7 +1730,7 @@
"Trac": { "Trac": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "<a id=\\\"tracpowered", "html": "<a id=\\\"tracpowered",
"implies": [ "Python" ] "implies": "Python"
}, },
"Tumblr": { "Tumblr": {
"cats": [ 11 ], "cats": [ 11 ],
@ -1764,12 +1764,12 @@
"meta": { "generator": "TYPO3" }, "meta": { "generator": "TYPO3" },
"html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)", "html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)",
"url": "/typo3/", "url": "/typo3/",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ubercart": { "Ubercart": {
"cats": [ 6 ], "cats": [ 6 ],
"script": "uc_cart/uc_cart_block\\.js", "script": "uc_cart/uc_cart_block\\.js",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Ubuntu": { "Ubuntu": {
"cats": [ 28 ], "cats": [ 28 ],
@ -1780,7 +1780,7 @@
"meta": { "generator": "umbraco" }, "meta": { "generator": "umbraco" },
"headers": { "X-Umbraco-Version": ".+" }, "headers": { "X-Umbraco-Version": ".+" },
"html": "powered by <a href=[^>]+umbraco", "html": "powered by <a href=[^>]+umbraco",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Underscore.js": { "Underscore.js": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1803,7 +1803,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<body id=\\\"(DiscussionsPage|vanilla)", "html": "<body id=\\\"(DiscussionsPage|vanilla)",
"headers": { "X-Powered-By": "Vanilla" }, "headers": { "X-Powered-By": "Vanilla" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Varnish": { "Varnish": {
"cats": [ 23 ], "cats": [ 23 ],
@ -1813,7 +1813,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"meta": { "generator": "vBulletin" }, "meta": { "generator": "vBulletin" },
"env": "^(vBulletin|vB_[^g])", "env": "^(vBulletin|vB_[^g])",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"VideoJS": { "VideoJS": {
"cats": [ 14 ], "cats": [ 14 ],
@ -1858,7 +1858,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"script": "vs350\\.js", "script": "vs350\\.js",
"html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>", "html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"W3Counter": { "W3Counter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1867,7 +1867,7 @@
"W3 Total Cache": { "W3 Total Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+W3 Total Cache", "html": "<!--[^>]+W3 Total Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Web Optimizer": { "Web Optimizer": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1892,7 +1892,7 @@
"WebsiteBaker": { "WebsiteBaker": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "WebsiteBaker" }, "meta": { "generator": "WebsiteBaker" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WebsPlanet": { "WebsPlanet": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1938,12 +1938,12 @@
"meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" },
"html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content", "html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content",
"env": "^wp_username$", "env": "^wp_username$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WordPress Super Cache": { "WordPress Super Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+WP-Super-Cache", "html": "<!--[^>]+WP-Super-Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Xajax": { "Xajax": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1970,7 +1970,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "XOOPS" }, "meta": { "generator": "XOOPS" },
"env": "^xoops", "env": "^xoops",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"xtCommerce": { "xtCommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -2023,13 +2023,13 @@
"Zinnia": { "Zinnia": {
"cats": [ 11 ], "cats": [ 11 ],
"meta": { "generator": "Zinnia" }, "meta": { "generator": "Zinnia" },
"implies": [ "Django" ] "implies": "Django"
}, },
"ZK": { "ZK": {
"cats": [ 18 ], "cats": [ 18 ],
"script": "zkau/", "script": "zkau/",
"html": "<!-- ZK [\\.\\d\\s]+-->", "html": "<!-- ZK [\\.\\d\\s]+-->",
"implies": [ "Java" ] "implies": "Java"
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

@ -81,7 +81,7 @@ var wappalyzer = (function() {
if ( matches ) { if ( matches ) {
matches.map(function(match, i) { matches.map(function(match, i) {
version = version.replace('\\' + i, match); version = version.replace('\\' + i, match ? match : '');
}); });
self.versions.push(version); self.versions.push(version);
@ -133,6 +133,8 @@ var wappalyzer = (function() {
attrs[attr[0]] = attr[1]; attrs[attr[0]] = attr[1];
} }
} else { } else {
attrs.string = attr;
try { try {
attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression
} catch (e) { } catch (e) {
@ -372,20 +374,27 @@ var wappalyzer = (function() {
confidence = apps[app].confidence; confidence = apps[app].confidence;
if ( w.apps[app] && w.apps[app].implies ) { if ( w.apps[app] && w.apps[app].implies ) {
// Cast strings to an array
if ( typeof w.apps[app].implies === 'string' ) {
w.apps[app].implies = [ w.apps[app].implies ];
}
w.apps[app].implies.map(function(implied) { w.apps[app].implies.map(function(implied) {
if ( !w.apps[implied] ) { implied = parse(implied)[0];
w.log('Implied application ' + implied + ' does not exist');
if ( !w.apps[implied.string] ) {
w.log('Implied application ' + implied.string + ' does not exist');
return; return;
} }
// Apply app confidence to implied app if ( !apps.hasOwnProperty(implied.string) ) {
if ( !apps.hasOwnProperty(implied) ) { apps[implied.string] = new Application(implied.string, true);
apps[implied] = new Application(implied, true);
} }
// Apply app confidence to implied app
for ( id in confidence ) { for ( id in confidence ) {
apps[implied].confidence[id + ' implied by ' + app] = confidence[id]; apps[implied.string].confidence[id + ' implied by ' + app] = confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 );
} }
}); });
} }

@ -43,12 +43,12 @@
"headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" }, "headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" },
"html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)", "html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)",
"script": "1c-bitrix", "script": "1c-bitrix",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"1und1": { "1und1": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/shop/catalog/browse\\?sessid=", "url": "/shop/catalog/browse\\?sessid=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"2z Project": { "2z Project": {
"cats": [ 1 ], "cats": [ 1 ],
@ -62,7 +62,7 @@
"Accessible Portal": { "Accessible Portal": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Accessible Portal" }, "meta": { "generator": "Accessible Portal" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AddThis": { "AddThis": {
"cats": [ 5 ], "cats": [ 5 ],
@ -73,7 +73,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"url": "/etc/designs/", "url": "/etc/designs/",
"html": "<div class=\\\"[^\\\"]*parbase", "html": "<div class=\\\"[^\\\"]*parbase",
"implies": [ "Java" ] "implies": "Java"
}, },
"Adobe GoLive": { "Adobe GoLive": {
"cats": [ 20 ], "cats": [ 20 ],
@ -82,7 +82,7 @@
"Advanced Web Stats": { "Advanced Web Stats": {
"cats": [ 10 ], "cats": [ 10 ],
"html": "aws\\.src = [^<]+caphyon-analytics", "html": "aws\\.src = [^<]+caphyon-analytics",
"implies": [ "Java" ] "implies": "Java"
}, },
"Alloy": { "Alloy": {
"cats": [ 12 ], "cats": [ 12 ],
@ -96,19 +96,19 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(Ametys|Anyware Technologies)" }, "meta": { "generator": "(Ametys|Anyware Technologies)" },
"script": "STools\\.js", "script": "STools\\.js",
"implies": [ "Java" ] "implies": "Java"
}, },
"Amiro.CMS": { "Amiro.CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Amiro" }, "meta": { "generator": "Amiro" },
"html": "system_js\\.php\\?script=", "html": "system_js\\.php\\?script=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AMPcms": { "AMPcms": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" }, "headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" },
"env": "^amp_js_init$", "env": "^amp_js_init$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AngularJS": { "AngularJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -155,7 +155,7 @@
"html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2", "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2",
"headers": { "X-Confluence-Request-Time": ".*" }, "headers": { "X-Confluence-Request-Time": ".*" },
"meta": { "confluence-request-time": ".*" }, "meta": { "confluence-request-time": ".*" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Atlassian Jira": { "Atlassian Jira": {
"cats": [ 13 ], "cats": [ 13 ],
@ -163,29 +163,29 @@
"script": "/jira/s/", "script": "/jira/s/",
"url": "/secure/Dashboard.jspa", "url": "/secure/Dashboard.jspa",
"html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4",
"implies": [ "Java" ] "implies": "Java"
}, },
"AWStats": { "AWStats": {
"cats": [ 10 ], "cats": [ 10 ],
"meta": { "generator": "AWStats" }, "meta": { "generator": "AWStats" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Backbone.js": { "Backbone.js": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "backbone.*\\.js", "script": "backbone.*\\.js",
"env": "^Backbone$", "env": "^Backbone$",
"implies": [ "Underscore.js" ] "implies": "Underscore.js"
}, },
"Banshee": { "Banshee": {
"cats": [ 1, 18 ], "cats": [ 1, 18 ],
"html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org", "html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"BIGACE": { "BIGACE": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BIGACE" }, "meta": { "generator": "BIGACE" },
"html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE", "html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigcommerce": { "Bigcommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -197,14 +197,14 @@
"BigDump": { "BigDump": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer", "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigware": { "Bigware": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php", "html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php",
"url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)", "url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)",
"headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" }, "headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Blip.tv": { "Blip.tv": {
"cats": [ 14 ], "cats": [ 14 ],
@ -218,17 +218,17 @@
"BrowserCMS": { "BrowserCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BrowserCMS" }, "meta": { "generator": "BrowserCMS" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Bugzilla": { "Bugzilla": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "href=\\\"enter_bug\\.cgi\\\">", "html": "href=\\\"enter_bug\\.cgi\\\">",
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Burning Board": { "Burning Board": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board", "html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Business Catalyst": { "Business Catalyst": {
"cats": [ 1 ], "cats": [ 1 ],
@ -239,14 +239,14 @@
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "cakephp=" }, "headers": { "Set-Cookie": "cakephp=" },
"meta": { "application-name": "CakePHP" }, "meta": { "application-name": "CakePHP" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cargo": { "Cargo": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "cargo_title": ".*" }, "meta": { "cargo_title": ".*" },
"script": "/cargo\\.", "script": "/cargo\\.",
"html": "<link [^>]+Cargo feed", "html": "<link [^>]+Cargo feed",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CentOS": { "CentOS": {
"cats": [ 28 ], "cats": [ 28 ],
@ -268,7 +268,7 @@
"cats": [ 21 ], "cats": [ 21 ],
"meta": { "generator": "Chamilo" }, "meta": { "generator": "Chamilo" },
"headers": { "X-Powered-By": "Chamilo" }, "headers": { "X-Powered-By": "Chamilo" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Chartbeat": { "Chartbeat": {
"cats": [ 10 ], "cats": [ 10 ],
@ -281,13 +281,13 @@
"CKEditor": { "CKEditor": {
"cats": [ 24 ], "cats": [ 24 ],
"env": "^CKEDITOR$", "env": "^CKEDITOR$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickHeat": { "ClickHeat": {
"cats": [ 10 ], "cats": [ 10 ],
"script": "clickheat.*\\.js", "script": "clickheat.*\\.js",
"env": "^clickHeatBrowser$", "env": "^clickHeatBrowser$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickTale": { "ClickTale": {
"cats": [ 10 ], "cats": [ 10 ],
@ -307,12 +307,12 @@
"CMS Made Simple": { "CMS Made Simple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMS Made Simple" }, "meta": { "generator": "CMS Made Simple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CMSimple": { "CMSimple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CO2Stats": { "CO2Stats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -321,7 +321,7 @@
"CodeIgniter": { "CodeIgniter": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Commerce Server": { "Commerce Server": {
"cats": [ 6 ], "cats": [ 6 ],
@ -338,22 +338,22 @@
"script": "concrete/js/", "script": "concrete/js/",
"meta": { "generator": "concrete5" }, "meta": { "generator": "concrete5" },
"env": "^CCM_IMAGE_PATH$", "env": "^CCM_IMAGE_PATH$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Connect": { "Connect": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "^Connect$" }, "headers": { "X-Powered-By": "^Connect$" },
"implies": [ "node.js" ] "implies": "node.js"
}, },
"Contao": { "Contao": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)", "html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contenido": { "Contenido": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Contenido" }, "meta": { "generator": "Contenido" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contens": { "Contens": {
"cats": [ 1 ], "cats": [ 1 ],
@ -367,7 +367,7 @@
"Coppermine": { "Coppermine": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--Coppermine Photo Gallery", "html": "<!--Coppermine Photo Gallery",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cosmoshop": { "Cosmoshop": {
"cats": [ 6 ], "cats": [ 6 ],
@ -376,7 +376,7 @@
"Cotonti": { "Cotonti": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Cotonti" }, "meta": { "generator": "Cotonti" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CouchDB": { "CouchDB": {
"cats": [ 22 ], "cats": [ 22 ],
@ -391,7 +391,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-Powered-By": "Dragonfly CMS" }, "headers": { "X-Powered-By": "Dragonfly CMS" },
"meta": { "generator": "CPG Dragonfly" }, "meta": { "generator": "CPG Dragonfly" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Crazy Egg": { "Crazy Egg": {
"cats": [ 10 ], "cats": [ 10 ],
@ -407,13 +407,13 @@
"cats": [ 6 ], "cats": [ 6 ],
"env": "^fn_compare_strings$", "env": "^fn_compare_strings$",
"html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)", "html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CubeCart": { "CubeCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)",
"meta": { "generator": "cubecart" }, "meta": { "generator": "cubecart" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cufon": { "Cufon": {
"cats": [ 17 ], "cats": [ 17 ],
@ -427,7 +427,7 @@
"Dancer": { "Dancer": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" }, "headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Danneo CMS": { "Danneo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -457,7 +457,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"env": "^Dede", "env": "^Dede",
"script": "dedeajax", "script": "dedeajax",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Demandware": { "Demandware": {
"cats": [ 6 ], "cats": [ 6 ],
@ -483,13 +483,13 @@
"Django": { "Django": {
"cats": [ 18 ], "cats": [ 18 ],
"html": "powered by <a[^>]+>Django", "html": "powered by <a[^>]+>Django",
"implies": [ "Python" ] "implies": "Python"
}, },
"Django CMS": { "Django CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "media/cms/js/csrf\\.js", "script": "media/cms/js/csrf\\.js",
"headers": { "Set-Cookie": "django" }, "headers": { "Set-Cookie": "django" },
"implies": [ "Django" ] "implies": "Django"
}, },
"Dojo": { "Dojo": {
"cats": [ 12 ], "cats": [ 12 ],
@ -507,7 +507,7 @@
"cats": [ 8 ], "cats": [ 8 ],
"meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, "meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" },
"headers": { "Set-Cookie": "DokuWiki=" }, "headers": { "Set-Cookie": "DokuWiki=" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"DotNetNuke": { "DotNetNuke": {
"cats": [ 1 ], "cats": [ 1 ],
@ -515,7 +515,7 @@
"headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" }, "headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" },
"html": "<!-- by DotNetNuke Corporation", "html": "<!-- by DotNetNuke Corporation",
"env": "^DotNetNuke$", "env": "^DotNetNuke$",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Doxygen": { "Doxygen": {
"cats": [ 4 ], "cats": [ 4 ],
@ -531,23 +531,23 @@
"html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/", "html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/",
"headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" },
"env": "^Drupal$", "env": "^Drupal$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Drupal Commerce": { "Drupal Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field", "html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Dynamicweb": { "Dynamicweb": {
"cats": [ 1, 6, 10 ], "cats": [ 1, 6, 10 ],
"meta": { "generator": "Dynamicweb" }, "meta": { "generator": "Dynamicweb" },
"headers": { "Set-Cookie": "Dynamicweb=" }, "headers": { "Set-Cookie": "Dynamicweb=" },
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"e107": { "e107": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "e107\\.js", "script": "e107\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"EdgeCast": { "EdgeCast": {
"cats": [ 31 ], "cats": [ 31 ],
@ -565,7 +565,7 @@
"EPrints": { "EPrints": {
"cats": [ 19 ], "cats": [ 19 ],
"meta": { "generator": "EPrints" }, "meta": { "generator": "EPrints" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Exhibit": { "Exhibit": {
"cats": [ 25 ], "cats": [ 25 ],
@ -580,7 +580,7 @@
"ExpressionEngine": { "ExpressionEngine": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ExtJS": { "ExtJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -591,7 +591,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish" }, "headers": { "X-Powered-By": "^eZ Publish" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Fact Finder": { "Fact Finder": {
"cats": [ 29 ], "cats": [ 29 ],
@ -642,7 +642,7 @@
"Gambio": { "Gambio": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->", "html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Gauges": { "Gauges": {
"cats": [ 10 ], "cats": [ 10 ],
@ -660,7 +660,7 @@
"GetSimple CMS": { "GetSimple CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "GetSimple" }, "meta": { "generator": "GetSimple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"GoAhead": { "GoAhead": {
"cats": [ 22 ], "cats": [ 22 ],
@ -706,7 +706,7 @@
"Google Web Toolkit": { "Google Web Toolkit": {
"cats": [ 18 ], "cats": [ 18 ],
"env": "^__gwt_", "env": "^__gwt_",
"implies": [ "Java" ] "implies": "Java"
}, },
"GoStats": { "GoStats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -758,7 +758,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"html": "(/sys_master/|/hybr/|/_ui/desktop/)", "html": "(/sys_master/|/hybr/|/_ui/desktop/)",
"headers": { "Set-Cookie": "_hybris" }, "headers": { "Set-Cookie": "_hybris" },
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM HTTP Server": { "IBM HTTP Server": {
"cats": [ 22 ], "cats": [ 22 ],
@ -768,29 +768,29 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "IBM-Web2-Location": ".*" }, "headers": { "IBM-Web2-Location": ".*" },
"url": "/wps/", "url": "/wps/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM WebSphere Commerce": { "IBM WebSphere Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/wcs/", "url": "/wcs/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IIS": { "IIS": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" }, "headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" },
"implies": [ "Windows Server" ] "implies": "Windows Server"
}, },
"ImpressCMS": { "ImpressCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "include/linkexternal\\.js", "script": "include/linkexternal\\.js",
"meta": { "generator": "ImpressCMS" }, "meta": { "generator": "ImpressCMS" },
"headers": { "X-Powered-By": "ImpressCMS" }, "headers": { "X-Powered-By": "ImpressCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ImpressPages": { "ImpressPages": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "ImpressPages" }, "meta": { "generator": "ImpressPages" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Indexhibit": { "Indexhibit": {
"cats": [ 1 ], "cats": [ 1 ],
@ -820,7 +820,7 @@
"JAlbum": { "JAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jalios": { "Jalios": {
"cats": [ 1 ], "cats": [ 1 ],
@ -838,17 +838,17 @@
"JavaServer Faces": { "JavaServer Faces": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"JavaServer Pages": { "JavaServer Pages": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Java Servlet": { "Java Servlet": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jirafe": { "Jirafe": {
"cats": [ 10, 32 ], "cats": [ 10, 32 ],
@ -871,7 +871,7 @@
"html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50", "html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50",
"headers": { "X-Content-Encoded-By": "Joomla" }, "headers": { "X-Content-Encoded-By": "Joomla" },
"env": "^jcomments$", "env": "^jcomments$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"jqPlot": { "jqPlot": {
"cats": [ 25 ], "cats": [ 25 ],
@ -891,7 +891,7 @@
"jQuery Mobile": { "jQuery Mobile": {
"cats": [ 26 ], "cats": [ 26 ],
"script": "jquery\\.mobile.*\\.js", "script": "jquery\\.mobile.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"jQuery Sparklines": { "jQuery Sparklines": {
"cats": [ 25 ], "cats": [ 25 ],
@ -900,7 +900,7 @@
"jQuery UI": { "jQuery UI": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "jquery-ui.*\\.js", "script": "jquery-ui.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"JS Charts": { "JS Charts": {
"cats": [ 25 ], "cats": [ 25 ],
@ -915,7 +915,7 @@
"cats": [ 19 ], "cats": [ 19 ],
"html": "<!-- JoomlaWorks \\\"K2\\\"", "html": "<!-- JoomlaWorks \\\"K2\\\"",
"env": "^K2RatingURL$", "env": "^K2RatingURL$",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"Kampyle": { "Kampyle": {
"cats": [ 10, 13 ], "cats": [ 10, 13 ],
@ -927,7 +927,7 @@
"cats": [ 18 ], "cats": [ 18 ],
"env": "^kendo$", "env": "^kendo$",
"html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]", "html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"Kentico CMS": { "Kentico CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -948,7 +948,7 @@
"Kohana": { "Kohana": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" }, "headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Kolibri CMS": { "Kolibri CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -957,7 +957,7 @@
"Komodo CMS": { "Komodo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^Komodo CMS" }, "meta": { "generator": "^Komodo CMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Koobi": { "Koobi": {
"cats": [ 1 ], "cats": [ 1 ],
@ -966,7 +966,7 @@
"LEPTON": { "LEPTON": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "LEPTON" }, "meta": { "generator": "LEPTON" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Liferay": { "Liferay": {
"cats": [ 1 ], "cats": [ 1 ],
@ -976,7 +976,7 @@
"LightMon Engine": { "LightMon Engine": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!-- Lightmon Engine Copyright Lightmon", "html": "<!-- Lightmon Engine Copyright Lightmon",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"lighttpd": { "lighttpd": {
"cats": [ 22 ], "cats": [ 22 ],
@ -1009,7 +1009,7 @@
"script": "(js/mage|skin/frontend/(default|enterprise))", "script": "(js/mage|skin/frontend/(default|enterprise))",
"headers": { "Set-Cookie": "frontend=\\;confidence:50" }, "headers": { "Set-Cookie": "frontend=\\;confidence:50" },
"env": "^(Mage|VarienForm)$", "env": "^(Mage|VarienForm)$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Mambo": { "Mambo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1081,12 +1081,12 @@
"html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/", "html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/",
"env": "^MODX_MEDIA_PATH$", "env": "^MODX_MEDIA_PATH$",
"headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"mod_fastcgi": { "mod_fastcgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_python": { "mod_python": {
"cats": [ 33 ], "cats": [ 33 ],
@ -1096,33 +1096,33 @@
"mod_rack": { "mod_rack": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Ruby", "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_rails": { "mod_rails": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_ssl": { "mod_ssl": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_wsgi": { "mod_wsgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Python", "Apache" ] "implies": [ "Python\\;confidence:50", "Apache" ]
}, },
"MoinMoin": { "MoinMoin": {
"cats": [ 8 ], "cats": [ 8 ],
"script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4",
"env": "^show_switch2gui$", "env": "^show_switch2gui$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Mojolicious": { "Mojolicious": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "x-powered-by": "mojolicious" }, "headers": { "x-powered-by": "mojolicious" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Mollom": { "Mollom": {
"cats": [ 16 ], "cats": [ 16 ],
@ -1136,7 +1136,7 @@
"Mongrel": { "Mongrel": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "Mongrel" }, "headers": { "Server": "Mongrel" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"MongoDB": { "MongoDB": {
"cats": [ 24 ] "cats": [ 24 ]
@ -1146,7 +1146,7 @@
"html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)", "html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)",
"headers": { "Set-Cookie": "MoodleSession" }, "headers": { "Set-Cookie": "MoodleSession" },
"env": "^moodle", "env": "^moodle",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Moogo": { "Moogo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1225,7 +1225,7 @@
"OpenCart": { "OpenCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart", "html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"openEngine": { "openEngine": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1235,12 +1235,12 @@
"cats": [ 19 ], "cats": [ 19 ],
"headers": { "Set-Cookie": "OpenGrok" }, "headers": { "Set-Cookie": "OpenGrok" },
"meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenGSE": { "OpenGSE": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "GSE" }, "headers": { "Server": "GSE" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenLayers": { "OpenLayers": {
"cats": [ 35 ], "cats": [ 35 ],
@ -1258,7 +1258,7 @@
"OpenText Web Solutions": { "OpenText Web Solutions": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!--[^>]+published by Open Text Web Solutions", "html": "<!--[^>]+published by Open Text Web Solutions",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Optimizely": { "Optimizely": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1320,7 +1320,7 @@
"phpAlbum": { "phpAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--phpalbum [\\.\\d\\s]+-->", "html": "<!--phpalbum [\\.\\d\\s]+-->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpBB": { "phpBB": {
"cats": [ 2 ], "cats": [ 2 ],
@ -1328,22 +1328,22 @@
"html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)", "html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)",
"env": "^(style_cookie_settings|phpbb_)", "env": "^(style_cookie_settings|phpbb_)",
"headers": { "Set-Cookie": "^phpbb" }, "headers": { "Set-Cookie": "^phpbb" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpCMS": { "phpCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"env": "^phpcms", "env": "^phpcms",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpDocumentor": { "phpDocumentor": {
"cats": [ 4 ], "cats": [ 4 ],
"html": "<!-- Generated by phpDocumentor", "html": "<!-- Generated by phpDocumentor",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"PHP-Fusion": { "PHP-Fusion": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "Powered by <a href=\\\"[^>]+php-fusion", "html": "Powered by <a href=\\\"[^>]+php-fusion",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpMyAdmin": { "phpMyAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
@ -1358,18 +1358,18 @@
"phpPgAdmin": { "phpPgAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)", "html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpSQLiteCMS": { "phpSQLiteCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^phpSQLiteCMS" }, "meta": { "generator": "^phpSQLiteCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpwind": { "phpwind": {
"cats": [ 1, 2 ], "cats": [ 1, 2 ],
"meta": { "generator": "^phpwind" }, "meta": { "generator": "^phpwind" },
"html": "Powered by <a href=\\\".+phpwind\\.net", "html": "Powered by <a href=\\\".+phpwind\\.net",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Piwik": { "Piwik": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1394,7 +1394,7 @@
"Plone": { "Plone": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Plone" }, "meta": { "generator": "Plone" },
"implies": [ "Python" ] "implies": "Python"
}, },
"Plura": { "Plura": {
"cats": [ 19 ], "cats": [ 19 ],
@ -1417,7 +1417,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "generator": "PrestaShop" }, "meta": { "generator": "PrestaShop" },
"html": "Powered by <a href=\\\"[^>]+PrestaShop", "html": "Powered by <a href=\\\"[^>]+PrestaShop",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Prototype": { "Prototype": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1432,7 +1432,7 @@
"punBB": { "punBB": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "Powered by <a href=\\\"[^>]+punbb", "html": "Powered by <a href=\\\"[^>]+punbb",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Python": { "Python": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1450,7 +1450,7 @@
"RackCache": { "RackCache": {
"cats": [ 23 ], "cats": [ 23 ],
"headers": { "X-Rack-Cache": ".+" }, "headers": { "X-Rack-Cache": ".+" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Raphael": { "Raphael": {
"cats": [ 25 ], "cats": [ 25 ],
@ -1461,7 +1461,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"html": "<html[^>]+xmlns:change=", "html": "<html[^>]+xmlns:change=",
"meta": { "generator": "RBS Change" }, "meta": { "generator": "RBS Change" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"RCMS": { "RCMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1482,13 +1482,13 @@
"html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)",
"url": "^(www\\.)?reddit\\.com", "url": "^(www\\.)?reddit\\.com",
"env": "^reddit$", "env": "^reddit$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Redmine": { "Redmine": {
"cats": [ 13 ], "cats": [ 13 ],
"meta": { "description": "Redmine" }, "meta": { "description": "Redmine" },
"html": "Powered by <a href=\\\"[^>]+Redmine", "html": "Powered by <a href=\\\"[^>]+Redmine",
"implies": [ "Ruby on Rails" ] "implies": "Ruby on Rails"
}, },
"Reinvigorate": { "Reinvigorate": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1503,7 +1503,7 @@
"cats": [ 30 ], "cats": [ 30 ],
"html": "<title>RoundCube", "html": "<title>RoundCube",
"env": "^(rcmail|rcube_|roundcube)", "env": "^(rcmail|rcube_|roundcube)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ruby": { "Ruby": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1514,7 +1514,7 @@
"script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50", "script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
"meta": { "csrf-param": "authenticity_token\\;confidence:50" }, "meta": { "csrf-param": "authenticity_token\\;confidence:50" },
"headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" }, "headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"S.Builder": { "S.Builder": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1528,7 +1528,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" }, "meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" },
"headers": { "X-Spip-Cache": ".*" }, "headers": { "X-Spip-Cache": ".*" },
"implies": [ "SPIP" ] "implies": "SPIP"
}, },
"script.aculo.us": { "script.aculo.us": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1565,7 +1565,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "application-name": "Shopware" }, "meta": { "application-name": "Shopware" },
"script": "shopware\\.js", "script": "shopware\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sIFR": { "sIFR": {
"cats": [ 17 ], "cats": [ 17 ],
@ -1597,7 +1597,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<script [^>]+\\s+var smf_", "html": "<script [^>]+\\s+var smf_",
"env": "^smf_", "env": "^smf_",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sNews": { "sNews": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1611,13 +1611,13 @@
"SOBI 2": { "SOBI 2": {
"cats": [ 19 ], "cats": [ 19 ],
"html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)", "html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SobiPro": { "SobiPro": {
"cats": [ 19 ], "cats": [ 19 ],
"env": "^SobiProUrl$", "env": "^SobiProUrl$",
"html": " <(script|link)[^>].*com_sobipro.*>", "html": " <(script|link)[^>].*com_sobipro.*>",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SoundManager": { "SoundManager": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1630,7 +1630,7 @@
"Sphinx": { "Sphinx": {
"cats": [ 4 ], "cats": [ 4 ],
"env": "^DOCUMENTATION_OPTIONS$", "env": "^DOCUMENTATION_OPTIONS$",
"implies": [ "Python" ] "implies": "Python"
}, },
"SPIP": { "SPIP": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1652,7 +1652,7 @@
"meta": { "generator": "Squiz Matrix" }, "meta": { "generator": "Squiz Matrix" },
"html": " Running (MySource|Squiz) Matrix", "html": " Running (MySource|Squiz) Matrix",
"headers": { "X-Powered-By": "Squiz Matrix" }, "headers": { "X-Powered-By": "Squiz Matrix" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"StatCounter": { "StatCounter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1693,7 +1693,7 @@
"meta": { "generator": "Swiftlet" }, "meta": { "generator": "Swiftlet" },
"html": "Powered by <a href=\\\"[^>]+Swiftlet", "html": "Powered by <a href=\\\"[^>]+Swiftlet",
"headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" }, "headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Textpattern CMS": { "Textpattern CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1730,7 +1730,7 @@
"Trac": { "Trac": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "<a id=\\\"tracpowered", "html": "<a id=\\\"tracpowered",
"implies": [ "Python" ] "implies": "Python"
}, },
"Tumblr": { "Tumblr": {
"cats": [ 11 ], "cats": [ 11 ],
@ -1764,12 +1764,12 @@
"meta": { "generator": "TYPO3" }, "meta": { "generator": "TYPO3" },
"html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)", "html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)",
"url": "/typo3/", "url": "/typo3/",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ubercart": { "Ubercart": {
"cats": [ 6 ], "cats": [ 6 ],
"script": "uc_cart/uc_cart_block\\.js", "script": "uc_cart/uc_cart_block\\.js",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Ubuntu": { "Ubuntu": {
"cats": [ 28 ], "cats": [ 28 ],
@ -1780,7 +1780,7 @@
"meta": { "generator": "umbraco" }, "meta": { "generator": "umbraco" },
"headers": { "X-Umbraco-Version": ".+" }, "headers": { "X-Umbraco-Version": ".+" },
"html": "powered by <a href=[^>]+umbraco", "html": "powered by <a href=[^>]+umbraco",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Underscore.js": { "Underscore.js": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1803,7 +1803,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<body id=\\\"(DiscussionsPage|vanilla)", "html": "<body id=\\\"(DiscussionsPage|vanilla)",
"headers": { "X-Powered-By": "Vanilla" }, "headers": { "X-Powered-By": "Vanilla" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Varnish": { "Varnish": {
"cats": [ 23 ], "cats": [ 23 ],
@ -1813,7 +1813,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"meta": { "generator": "vBulletin" }, "meta": { "generator": "vBulletin" },
"env": "^(vBulletin|vB_[^g])", "env": "^(vBulletin|vB_[^g])",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"VideoJS": { "VideoJS": {
"cats": [ 14 ], "cats": [ 14 ],
@ -1858,7 +1858,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"script": "vs350\\.js", "script": "vs350\\.js",
"html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>", "html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"W3Counter": { "W3Counter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1867,7 +1867,7 @@
"W3 Total Cache": { "W3 Total Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+W3 Total Cache", "html": "<!--[^>]+W3 Total Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Web Optimizer": { "Web Optimizer": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1892,7 +1892,7 @@
"WebsiteBaker": { "WebsiteBaker": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "WebsiteBaker" }, "meta": { "generator": "WebsiteBaker" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WebsPlanet": { "WebsPlanet": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1938,12 +1938,12 @@
"meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" },
"html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content", "html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content",
"env": "^wp_username$", "env": "^wp_username$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WordPress Super Cache": { "WordPress Super Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+WP-Super-Cache", "html": "<!--[^>]+WP-Super-Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Xajax": { "Xajax": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1970,7 +1970,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "XOOPS" }, "meta": { "generator": "XOOPS" },
"env": "^xoops", "env": "^xoops",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"xtCommerce": { "xtCommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -2023,13 +2023,13 @@
"Zinnia": { "Zinnia": {
"cats": [ 11 ], "cats": [ 11 ],
"meta": { "generator": "Zinnia" }, "meta": { "generator": "Zinnia" },
"implies": [ "Django" ] "implies": "Django"
}, },
"ZK": { "ZK": {
"cats": [ 18 ], "cats": [ 18 ],
"script": "zkau/", "script": "zkau/",
"html": "<!-- ZK [\\.\\d\\s]+-->", "html": "<!-- ZK [\\.\\d\\s]+-->",
"implies": [ "Java" ] "implies": "Java"
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

@ -81,7 +81,7 @@ var wappalyzer = (function() {
if ( matches ) { if ( matches ) {
matches.map(function(match, i) { matches.map(function(match, i) {
version = version.replace('\\' + i, match); version = version.replace('\\' + i, match ? match : '');
}); });
self.versions.push(version); self.versions.push(version);
@ -133,6 +133,8 @@ var wappalyzer = (function() {
attrs[attr[0]] = attr[1]; attrs[attr[0]] = attr[1];
} }
} else { } else {
attrs.string = attr;
try { try {
attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression
} catch (e) { } catch (e) {
@ -372,20 +374,27 @@ var wappalyzer = (function() {
confidence = apps[app].confidence; confidence = apps[app].confidence;
if ( w.apps[app] && w.apps[app].implies ) { if ( w.apps[app] && w.apps[app].implies ) {
// Cast strings to an array
if ( typeof w.apps[app].implies === 'string' ) {
w.apps[app].implies = [ w.apps[app].implies ];
}
w.apps[app].implies.map(function(implied) { w.apps[app].implies.map(function(implied) {
if ( !w.apps[implied] ) { implied = parse(implied)[0];
w.log('Implied application ' + implied + ' does not exist');
if ( !w.apps[implied.string] ) {
w.log('Implied application ' + implied.string + ' does not exist');
return; return;
} }
// Apply app confidence to implied app if ( !apps.hasOwnProperty(implied.string) ) {
if ( !apps.hasOwnProperty(implied) ) { apps[implied.string] = new Application(implied.string, true);
apps[implied] = new Application(implied, true);
} }
// Apply app confidence to implied app
for ( id in confidence ) { for ( id in confidence ) {
apps[implied].confidence[id + ' implied by ' + app] = confidence[id]; apps[implied.string].confidence[id + ' implied by ' + app] = confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 );
} }
}); });
} }

@ -43,12 +43,12 @@
"headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" }, "headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" },
"html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)", "html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)",
"script": "1c-bitrix", "script": "1c-bitrix",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"1und1": { "1und1": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/shop/catalog/browse\\?sessid=", "url": "/shop/catalog/browse\\?sessid=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"2z Project": { "2z Project": {
"cats": [ 1 ], "cats": [ 1 ],
@ -62,7 +62,7 @@
"Accessible Portal": { "Accessible Portal": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Accessible Portal" }, "meta": { "generator": "Accessible Portal" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AddThis": { "AddThis": {
"cats": [ 5 ], "cats": [ 5 ],
@ -73,7 +73,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"url": "/etc/designs/", "url": "/etc/designs/",
"html": "<div class=\\\"[^\\\"]*parbase", "html": "<div class=\\\"[^\\\"]*parbase",
"implies": [ "Java" ] "implies": "Java"
}, },
"Adobe GoLive": { "Adobe GoLive": {
"cats": [ 20 ], "cats": [ 20 ],
@ -82,7 +82,7 @@
"Advanced Web Stats": { "Advanced Web Stats": {
"cats": [ 10 ], "cats": [ 10 ],
"html": "aws\\.src = [^<]+caphyon-analytics", "html": "aws\\.src = [^<]+caphyon-analytics",
"implies": [ "Java" ] "implies": "Java"
}, },
"Alloy": { "Alloy": {
"cats": [ 12 ], "cats": [ 12 ],
@ -96,19 +96,19 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(Ametys|Anyware Technologies)" }, "meta": { "generator": "(Ametys|Anyware Technologies)" },
"script": "STools\\.js", "script": "STools\\.js",
"implies": [ "Java" ] "implies": "Java"
}, },
"Amiro.CMS": { "Amiro.CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Amiro" }, "meta": { "generator": "Amiro" },
"html": "system_js\\.php\\?script=", "html": "system_js\\.php\\?script=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AMPcms": { "AMPcms": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" }, "headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" },
"env": "^amp_js_init$", "env": "^amp_js_init$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AngularJS": { "AngularJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -155,7 +155,7 @@
"html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2", "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2",
"headers": { "X-Confluence-Request-Time": ".*" }, "headers": { "X-Confluence-Request-Time": ".*" },
"meta": { "confluence-request-time": ".*" }, "meta": { "confluence-request-time": ".*" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Atlassian Jira": { "Atlassian Jira": {
"cats": [ 13 ], "cats": [ 13 ],
@ -163,29 +163,29 @@
"script": "/jira/s/", "script": "/jira/s/",
"url": "/secure/Dashboard.jspa", "url": "/secure/Dashboard.jspa",
"html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4",
"implies": [ "Java" ] "implies": "Java"
}, },
"AWStats": { "AWStats": {
"cats": [ 10 ], "cats": [ 10 ],
"meta": { "generator": "AWStats" }, "meta": { "generator": "AWStats" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Backbone.js": { "Backbone.js": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "backbone.*\\.js", "script": "backbone.*\\.js",
"env": "^Backbone$", "env": "^Backbone$",
"implies": [ "Underscore.js" ] "implies": "Underscore.js"
}, },
"Banshee": { "Banshee": {
"cats": [ 1, 18 ], "cats": [ 1, 18 ],
"html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org", "html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"BIGACE": { "BIGACE": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BIGACE" }, "meta": { "generator": "BIGACE" },
"html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE", "html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigcommerce": { "Bigcommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -197,14 +197,14 @@
"BigDump": { "BigDump": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer", "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigware": { "Bigware": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php", "html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php",
"url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)", "url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)",
"headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" }, "headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Blip.tv": { "Blip.tv": {
"cats": [ 14 ], "cats": [ 14 ],
@ -218,17 +218,17 @@
"BrowserCMS": { "BrowserCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BrowserCMS" }, "meta": { "generator": "BrowserCMS" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Bugzilla": { "Bugzilla": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "href=\\\"enter_bug\\.cgi\\\">", "html": "href=\\\"enter_bug\\.cgi\\\">",
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Burning Board": { "Burning Board": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board", "html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Business Catalyst": { "Business Catalyst": {
"cats": [ 1 ], "cats": [ 1 ],
@ -239,14 +239,14 @@
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "cakephp=" }, "headers": { "Set-Cookie": "cakephp=" },
"meta": { "application-name": "CakePHP" }, "meta": { "application-name": "CakePHP" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cargo": { "Cargo": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "cargo_title": ".*" }, "meta": { "cargo_title": ".*" },
"script": "/cargo\\.", "script": "/cargo\\.",
"html": "<link [^>]+Cargo feed", "html": "<link [^>]+Cargo feed",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CentOS": { "CentOS": {
"cats": [ 28 ], "cats": [ 28 ],
@ -268,7 +268,7 @@
"cats": [ 21 ], "cats": [ 21 ],
"meta": { "generator": "Chamilo" }, "meta": { "generator": "Chamilo" },
"headers": { "X-Powered-By": "Chamilo" }, "headers": { "X-Powered-By": "Chamilo" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Chartbeat": { "Chartbeat": {
"cats": [ 10 ], "cats": [ 10 ],
@ -281,13 +281,13 @@
"CKEditor": { "CKEditor": {
"cats": [ 24 ], "cats": [ 24 ],
"env": "^CKEDITOR$", "env": "^CKEDITOR$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickHeat": { "ClickHeat": {
"cats": [ 10 ], "cats": [ 10 ],
"script": "clickheat.*\\.js", "script": "clickheat.*\\.js",
"env": "^clickHeatBrowser$", "env": "^clickHeatBrowser$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickTale": { "ClickTale": {
"cats": [ 10 ], "cats": [ 10 ],
@ -307,12 +307,12 @@
"CMS Made Simple": { "CMS Made Simple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMS Made Simple" }, "meta": { "generator": "CMS Made Simple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CMSimple": { "CMSimple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CO2Stats": { "CO2Stats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -321,7 +321,7 @@
"CodeIgniter": { "CodeIgniter": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Commerce Server": { "Commerce Server": {
"cats": [ 6 ], "cats": [ 6 ],
@ -338,22 +338,22 @@
"script": "concrete/js/", "script": "concrete/js/",
"meta": { "generator": "concrete5" }, "meta": { "generator": "concrete5" },
"env": "^CCM_IMAGE_PATH$", "env": "^CCM_IMAGE_PATH$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Connect": { "Connect": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "^Connect$" }, "headers": { "X-Powered-By": "^Connect$" },
"implies": [ "node.js" ] "implies": "node.js"
}, },
"Contao": { "Contao": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)", "html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contenido": { "Contenido": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Contenido" }, "meta": { "generator": "Contenido" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contens": { "Contens": {
"cats": [ 1 ], "cats": [ 1 ],
@ -367,7 +367,7 @@
"Coppermine": { "Coppermine": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--Coppermine Photo Gallery", "html": "<!--Coppermine Photo Gallery",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cosmoshop": { "Cosmoshop": {
"cats": [ 6 ], "cats": [ 6 ],
@ -376,7 +376,7 @@
"Cotonti": { "Cotonti": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Cotonti" }, "meta": { "generator": "Cotonti" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CouchDB": { "CouchDB": {
"cats": [ 22 ], "cats": [ 22 ],
@ -391,7 +391,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-Powered-By": "Dragonfly CMS" }, "headers": { "X-Powered-By": "Dragonfly CMS" },
"meta": { "generator": "CPG Dragonfly" }, "meta": { "generator": "CPG Dragonfly" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Crazy Egg": { "Crazy Egg": {
"cats": [ 10 ], "cats": [ 10 ],
@ -407,13 +407,13 @@
"cats": [ 6 ], "cats": [ 6 ],
"env": "^fn_compare_strings$", "env": "^fn_compare_strings$",
"html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)", "html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CubeCart": { "CubeCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)",
"meta": { "generator": "cubecart" }, "meta": { "generator": "cubecart" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cufon": { "Cufon": {
"cats": [ 17 ], "cats": [ 17 ],
@ -427,7 +427,7 @@
"Dancer": { "Dancer": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" }, "headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Danneo CMS": { "Danneo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -457,7 +457,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"env": "^Dede", "env": "^Dede",
"script": "dedeajax", "script": "dedeajax",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Demandware": { "Demandware": {
"cats": [ 6 ], "cats": [ 6 ],
@ -483,13 +483,13 @@
"Django": { "Django": {
"cats": [ 18 ], "cats": [ 18 ],
"html": "powered by <a[^>]+>Django", "html": "powered by <a[^>]+>Django",
"implies": [ "Python" ] "implies": "Python"
}, },
"Django CMS": { "Django CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "media/cms/js/csrf\\.js", "script": "media/cms/js/csrf\\.js",
"headers": { "Set-Cookie": "django" }, "headers": { "Set-Cookie": "django" },
"implies": [ "Django" ] "implies": "Django"
}, },
"Dojo": { "Dojo": {
"cats": [ 12 ], "cats": [ 12 ],
@ -507,7 +507,7 @@
"cats": [ 8 ], "cats": [ 8 ],
"meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, "meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" },
"headers": { "Set-Cookie": "DokuWiki=" }, "headers": { "Set-Cookie": "DokuWiki=" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"DotNetNuke": { "DotNetNuke": {
"cats": [ 1 ], "cats": [ 1 ],
@ -515,7 +515,7 @@
"headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" }, "headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" },
"html": "<!-- by DotNetNuke Corporation", "html": "<!-- by DotNetNuke Corporation",
"env": "^DotNetNuke$", "env": "^DotNetNuke$",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Doxygen": { "Doxygen": {
"cats": [ 4 ], "cats": [ 4 ],
@ -531,23 +531,23 @@
"html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/", "html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/",
"headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" },
"env": "^Drupal$", "env": "^Drupal$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Drupal Commerce": { "Drupal Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field", "html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Dynamicweb": { "Dynamicweb": {
"cats": [ 1, 6, 10 ], "cats": [ 1, 6, 10 ],
"meta": { "generator": "Dynamicweb" }, "meta": { "generator": "Dynamicweb" },
"headers": { "Set-Cookie": "Dynamicweb=" }, "headers": { "Set-Cookie": "Dynamicweb=" },
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"e107": { "e107": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "e107\\.js", "script": "e107\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"EdgeCast": { "EdgeCast": {
"cats": [ 31 ], "cats": [ 31 ],
@ -565,7 +565,7 @@
"EPrints": { "EPrints": {
"cats": [ 19 ], "cats": [ 19 ],
"meta": { "generator": "EPrints" }, "meta": { "generator": "EPrints" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Exhibit": { "Exhibit": {
"cats": [ 25 ], "cats": [ 25 ],
@ -580,7 +580,7 @@
"ExpressionEngine": { "ExpressionEngine": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ExtJS": { "ExtJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -591,7 +591,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish" }, "headers": { "X-Powered-By": "^eZ Publish" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Fact Finder": { "Fact Finder": {
"cats": [ 29 ], "cats": [ 29 ],
@ -642,7 +642,7 @@
"Gambio": { "Gambio": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->", "html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Gauges": { "Gauges": {
"cats": [ 10 ], "cats": [ 10 ],
@ -660,7 +660,7 @@
"GetSimple CMS": { "GetSimple CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "GetSimple" }, "meta": { "generator": "GetSimple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"GoAhead": { "GoAhead": {
"cats": [ 22 ], "cats": [ 22 ],
@ -706,7 +706,7 @@
"Google Web Toolkit": { "Google Web Toolkit": {
"cats": [ 18 ], "cats": [ 18 ],
"env": "^__gwt_", "env": "^__gwt_",
"implies": [ "Java" ] "implies": "Java"
}, },
"GoStats": { "GoStats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -758,7 +758,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"html": "(/sys_master/|/hybr/|/_ui/desktop/)", "html": "(/sys_master/|/hybr/|/_ui/desktop/)",
"headers": { "Set-Cookie": "_hybris" }, "headers": { "Set-Cookie": "_hybris" },
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM HTTP Server": { "IBM HTTP Server": {
"cats": [ 22 ], "cats": [ 22 ],
@ -768,29 +768,29 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "IBM-Web2-Location": ".*" }, "headers": { "IBM-Web2-Location": ".*" },
"url": "/wps/", "url": "/wps/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM WebSphere Commerce": { "IBM WebSphere Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/wcs/", "url": "/wcs/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IIS": { "IIS": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" }, "headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" },
"implies": [ "Windows Server" ] "implies": "Windows Server"
}, },
"ImpressCMS": { "ImpressCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "include/linkexternal\\.js", "script": "include/linkexternal\\.js",
"meta": { "generator": "ImpressCMS" }, "meta": { "generator": "ImpressCMS" },
"headers": { "X-Powered-By": "ImpressCMS" }, "headers": { "X-Powered-By": "ImpressCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ImpressPages": { "ImpressPages": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "ImpressPages" }, "meta": { "generator": "ImpressPages" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Indexhibit": { "Indexhibit": {
"cats": [ 1 ], "cats": [ 1 ],
@ -820,7 +820,7 @@
"JAlbum": { "JAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jalios": { "Jalios": {
"cats": [ 1 ], "cats": [ 1 ],
@ -838,17 +838,17 @@
"JavaServer Faces": { "JavaServer Faces": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"JavaServer Pages": { "JavaServer Pages": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Java Servlet": { "Java Servlet": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jirafe": { "Jirafe": {
"cats": [ 10, 32 ], "cats": [ 10, 32 ],
@ -871,7 +871,7 @@
"html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50", "html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50",
"headers": { "X-Content-Encoded-By": "Joomla" }, "headers": { "X-Content-Encoded-By": "Joomla" },
"env": "^jcomments$", "env": "^jcomments$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"jqPlot": { "jqPlot": {
"cats": [ 25 ], "cats": [ 25 ],
@ -891,7 +891,7 @@
"jQuery Mobile": { "jQuery Mobile": {
"cats": [ 26 ], "cats": [ 26 ],
"script": "jquery\\.mobile.*\\.js", "script": "jquery\\.mobile.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"jQuery Sparklines": { "jQuery Sparklines": {
"cats": [ 25 ], "cats": [ 25 ],
@ -900,7 +900,7 @@
"jQuery UI": { "jQuery UI": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "jquery-ui.*\\.js", "script": "jquery-ui.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"JS Charts": { "JS Charts": {
"cats": [ 25 ], "cats": [ 25 ],
@ -915,7 +915,7 @@
"cats": [ 19 ], "cats": [ 19 ],
"html": "<!-- JoomlaWorks \\\"K2\\\"", "html": "<!-- JoomlaWorks \\\"K2\\\"",
"env": "^K2RatingURL$", "env": "^K2RatingURL$",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"Kampyle": { "Kampyle": {
"cats": [ 10, 13 ], "cats": [ 10, 13 ],
@ -927,7 +927,7 @@
"cats": [ 18 ], "cats": [ 18 ],
"env": "^kendo$", "env": "^kendo$",
"html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]", "html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"Kentico CMS": { "Kentico CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -948,7 +948,7 @@
"Kohana": { "Kohana": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" }, "headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Kolibri CMS": { "Kolibri CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -957,7 +957,7 @@
"Komodo CMS": { "Komodo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^Komodo CMS" }, "meta": { "generator": "^Komodo CMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Koobi": { "Koobi": {
"cats": [ 1 ], "cats": [ 1 ],
@ -966,7 +966,7 @@
"LEPTON": { "LEPTON": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "LEPTON" }, "meta": { "generator": "LEPTON" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Liferay": { "Liferay": {
"cats": [ 1 ], "cats": [ 1 ],
@ -976,7 +976,7 @@
"LightMon Engine": { "LightMon Engine": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!-- Lightmon Engine Copyright Lightmon", "html": "<!-- Lightmon Engine Copyright Lightmon",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"lighttpd": { "lighttpd": {
"cats": [ 22 ], "cats": [ 22 ],
@ -1009,7 +1009,7 @@
"script": "(js/mage|skin/frontend/(default|enterprise))", "script": "(js/mage|skin/frontend/(default|enterprise))",
"headers": { "Set-Cookie": "frontend=\\;confidence:50" }, "headers": { "Set-Cookie": "frontend=\\;confidence:50" },
"env": "^(Mage|VarienForm)$", "env": "^(Mage|VarienForm)$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Mambo": { "Mambo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1081,12 +1081,12 @@
"html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/", "html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/",
"env": "^MODX_MEDIA_PATH$", "env": "^MODX_MEDIA_PATH$",
"headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"mod_fastcgi": { "mod_fastcgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_python": { "mod_python": {
"cats": [ 33 ], "cats": [ 33 ],
@ -1096,33 +1096,33 @@
"mod_rack": { "mod_rack": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Ruby", "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_rails": { "mod_rails": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_ssl": { "mod_ssl": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_wsgi": { "mod_wsgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Python", "Apache" ] "implies": [ "Python\\;confidence:50", "Apache" ]
}, },
"MoinMoin": { "MoinMoin": {
"cats": [ 8 ], "cats": [ 8 ],
"script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4",
"env": "^show_switch2gui$", "env": "^show_switch2gui$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Mojolicious": { "Mojolicious": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "x-powered-by": "mojolicious" }, "headers": { "x-powered-by": "mojolicious" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Mollom": { "Mollom": {
"cats": [ 16 ], "cats": [ 16 ],
@ -1136,7 +1136,7 @@
"Mongrel": { "Mongrel": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "Mongrel" }, "headers": { "Server": "Mongrel" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"MongoDB": { "MongoDB": {
"cats": [ 24 ] "cats": [ 24 ]
@ -1146,7 +1146,7 @@
"html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)", "html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)",
"headers": { "Set-Cookie": "MoodleSession" }, "headers": { "Set-Cookie": "MoodleSession" },
"env": "^moodle", "env": "^moodle",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Moogo": { "Moogo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1225,7 +1225,7 @@
"OpenCart": { "OpenCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart", "html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"openEngine": { "openEngine": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1235,12 +1235,12 @@
"cats": [ 19 ], "cats": [ 19 ],
"headers": { "Set-Cookie": "OpenGrok" }, "headers": { "Set-Cookie": "OpenGrok" },
"meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenGSE": { "OpenGSE": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "GSE" }, "headers": { "Server": "GSE" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenLayers": { "OpenLayers": {
"cats": [ 35 ], "cats": [ 35 ],
@ -1258,7 +1258,7 @@
"OpenText Web Solutions": { "OpenText Web Solutions": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!--[^>]+published by Open Text Web Solutions", "html": "<!--[^>]+published by Open Text Web Solutions",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Optimizely": { "Optimizely": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1320,7 +1320,7 @@
"phpAlbum": { "phpAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--phpalbum [\\.\\d\\s]+-->", "html": "<!--phpalbum [\\.\\d\\s]+-->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpBB": { "phpBB": {
"cats": [ 2 ], "cats": [ 2 ],
@ -1328,22 +1328,22 @@
"html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)", "html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)",
"env": "^(style_cookie_settings|phpbb_)", "env": "^(style_cookie_settings|phpbb_)",
"headers": { "Set-Cookie": "^phpbb" }, "headers": { "Set-Cookie": "^phpbb" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpCMS": { "phpCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"env": "^phpcms", "env": "^phpcms",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpDocumentor": { "phpDocumentor": {
"cats": [ 4 ], "cats": [ 4 ],
"html": "<!-- Generated by phpDocumentor", "html": "<!-- Generated by phpDocumentor",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"PHP-Fusion": { "PHP-Fusion": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "Powered by <a href=\\\"[^>]+php-fusion", "html": "Powered by <a href=\\\"[^>]+php-fusion",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpMyAdmin": { "phpMyAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
@ -1358,18 +1358,18 @@
"phpPgAdmin": { "phpPgAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)", "html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpSQLiteCMS": { "phpSQLiteCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^phpSQLiteCMS" }, "meta": { "generator": "^phpSQLiteCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpwind": { "phpwind": {
"cats": [ 1, 2 ], "cats": [ 1, 2 ],
"meta": { "generator": "^phpwind" }, "meta": { "generator": "^phpwind" },
"html": "Powered by <a href=\\\".+phpwind\\.net", "html": "Powered by <a href=\\\".+phpwind\\.net",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Piwik": { "Piwik": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1394,7 +1394,7 @@
"Plone": { "Plone": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Plone" }, "meta": { "generator": "Plone" },
"implies": [ "Python" ] "implies": "Python"
}, },
"Plura": { "Plura": {
"cats": [ 19 ], "cats": [ 19 ],
@ -1417,7 +1417,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "generator": "PrestaShop" }, "meta": { "generator": "PrestaShop" },
"html": "Powered by <a href=\\\"[^>]+PrestaShop", "html": "Powered by <a href=\\\"[^>]+PrestaShop",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Prototype": { "Prototype": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1432,7 +1432,7 @@
"punBB": { "punBB": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "Powered by <a href=\\\"[^>]+punbb", "html": "Powered by <a href=\\\"[^>]+punbb",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Python": { "Python": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1450,7 +1450,7 @@
"RackCache": { "RackCache": {
"cats": [ 23 ], "cats": [ 23 ],
"headers": { "X-Rack-Cache": ".+" }, "headers": { "X-Rack-Cache": ".+" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Raphael": { "Raphael": {
"cats": [ 25 ], "cats": [ 25 ],
@ -1461,7 +1461,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"html": "<html[^>]+xmlns:change=", "html": "<html[^>]+xmlns:change=",
"meta": { "generator": "RBS Change" }, "meta": { "generator": "RBS Change" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"RCMS": { "RCMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1482,13 +1482,13 @@
"html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)",
"url": "^(www\\.)?reddit\\.com", "url": "^(www\\.)?reddit\\.com",
"env": "^reddit$", "env": "^reddit$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Redmine": { "Redmine": {
"cats": [ 13 ], "cats": [ 13 ],
"meta": { "description": "Redmine" }, "meta": { "description": "Redmine" },
"html": "Powered by <a href=\\\"[^>]+Redmine", "html": "Powered by <a href=\\\"[^>]+Redmine",
"implies": [ "Ruby on Rails" ] "implies": "Ruby on Rails"
}, },
"Reinvigorate": { "Reinvigorate": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1503,7 +1503,7 @@
"cats": [ 30 ], "cats": [ 30 ],
"html": "<title>RoundCube", "html": "<title>RoundCube",
"env": "^(rcmail|rcube_|roundcube)", "env": "^(rcmail|rcube_|roundcube)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ruby": { "Ruby": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1514,7 +1514,7 @@
"script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50", "script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
"meta": { "csrf-param": "authenticity_token\\;confidence:50" }, "meta": { "csrf-param": "authenticity_token\\;confidence:50" },
"headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" }, "headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"S.Builder": { "S.Builder": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1528,7 +1528,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" }, "meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" },
"headers": { "X-Spip-Cache": ".*" }, "headers": { "X-Spip-Cache": ".*" },
"implies": [ "SPIP" ] "implies": "SPIP"
}, },
"script.aculo.us": { "script.aculo.us": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1565,7 +1565,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "application-name": "Shopware" }, "meta": { "application-name": "Shopware" },
"script": "shopware\\.js", "script": "shopware\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sIFR": { "sIFR": {
"cats": [ 17 ], "cats": [ 17 ],
@ -1597,7 +1597,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<script [^>]+\\s+var smf_", "html": "<script [^>]+\\s+var smf_",
"env": "^smf_", "env": "^smf_",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sNews": { "sNews": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1611,13 +1611,13 @@
"SOBI 2": { "SOBI 2": {
"cats": [ 19 ], "cats": [ 19 ],
"html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)", "html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SobiPro": { "SobiPro": {
"cats": [ 19 ], "cats": [ 19 ],
"env": "^SobiProUrl$", "env": "^SobiProUrl$",
"html": " <(script|link)[^>].*com_sobipro.*>", "html": " <(script|link)[^>].*com_sobipro.*>",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SoundManager": { "SoundManager": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1630,7 +1630,7 @@
"Sphinx": { "Sphinx": {
"cats": [ 4 ], "cats": [ 4 ],
"env": "^DOCUMENTATION_OPTIONS$", "env": "^DOCUMENTATION_OPTIONS$",
"implies": [ "Python" ] "implies": "Python"
}, },
"SPIP": { "SPIP": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1652,7 +1652,7 @@
"meta": { "generator": "Squiz Matrix" }, "meta": { "generator": "Squiz Matrix" },
"html": " Running (MySource|Squiz) Matrix", "html": " Running (MySource|Squiz) Matrix",
"headers": { "X-Powered-By": "Squiz Matrix" }, "headers": { "X-Powered-By": "Squiz Matrix" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"StatCounter": { "StatCounter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1693,7 +1693,7 @@
"meta": { "generator": "Swiftlet" }, "meta": { "generator": "Swiftlet" },
"html": "Powered by <a href=\\\"[^>]+Swiftlet", "html": "Powered by <a href=\\\"[^>]+Swiftlet",
"headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" }, "headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Textpattern CMS": { "Textpattern CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1730,7 +1730,7 @@
"Trac": { "Trac": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "<a id=\\\"tracpowered", "html": "<a id=\\\"tracpowered",
"implies": [ "Python" ] "implies": "Python"
}, },
"Tumblr": { "Tumblr": {
"cats": [ 11 ], "cats": [ 11 ],
@ -1764,12 +1764,12 @@
"meta": { "generator": "TYPO3" }, "meta": { "generator": "TYPO3" },
"html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)", "html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)",
"url": "/typo3/", "url": "/typo3/",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ubercart": { "Ubercart": {
"cats": [ 6 ], "cats": [ 6 ],
"script": "uc_cart/uc_cart_block\\.js", "script": "uc_cart/uc_cart_block\\.js",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Ubuntu": { "Ubuntu": {
"cats": [ 28 ], "cats": [ 28 ],
@ -1780,7 +1780,7 @@
"meta": { "generator": "umbraco" }, "meta": { "generator": "umbraco" },
"headers": { "X-Umbraco-Version": ".+" }, "headers": { "X-Umbraco-Version": ".+" },
"html": "powered by <a href=[^>]+umbraco", "html": "powered by <a href=[^>]+umbraco",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Underscore.js": { "Underscore.js": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1803,7 +1803,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<body id=\\\"(DiscussionsPage|vanilla)", "html": "<body id=\\\"(DiscussionsPage|vanilla)",
"headers": { "X-Powered-By": "Vanilla" }, "headers": { "X-Powered-By": "Vanilla" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Varnish": { "Varnish": {
"cats": [ 23 ], "cats": [ 23 ],
@ -1813,7 +1813,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"meta": { "generator": "vBulletin" }, "meta": { "generator": "vBulletin" },
"env": "^(vBulletin|vB_[^g])", "env": "^(vBulletin|vB_[^g])",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"VideoJS": { "VideoJS": {
"cats": [ 14 ], "cats": [ 14 ],
@ -1858,7 +1858,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"script": "vs350\\.js", "script": "vs350\\.js",
"html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>", "html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"W3Counter": { "W3Counter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1867,7 +1867,7 @@
"W3 Total Cache": { "W3 Total Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+W3 Total Cache", "html": "<!--[^>]+W3 Total Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Web Optimizer": { "Web Optimizer": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1892,7 +1892,7 @@
"WebsiteBaker": { "WebsiteBaker": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "WebsiteBaker" }, "meta": { "generator": "WebsiteBaker" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WebsPlanet": { "WebsPlanet": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1938,12 +1938,12 @@
"meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" },
"html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content", "html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content",
"env": "^wp_username$", "env": "^wp_username$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WordPress Super Cache": { "WordPress Super Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+WP-Super-Cache", "html": "<!--[^>]+WP-Super-Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Xajax": { "Xajax": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1970,7 +1970,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "XOOPS" }, "meta": { "generator": "XOOPS" },
"env": "^xoops", "env": "^xoops",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"xtCommerce": { "xtCommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -2023,13 +2023,13 @@
"Zinnia": { "Zinnia": {
"cats": [ 11 ], "cats": [ 11 ],
"meta": { "generator": "Zinnia" }, "meta": { "generator": "Zinnia" },
"implies": [ "Django" ] "implies": "Django"
}, },
"ZK": { "ZK": {
"cats": [ 18 ], "cats": [ 18 ],
"script": "zkau/", "script": "zkau/",
"html": "<!-- ZK [\\.\\d\\s]+-->", "html": "<!-- ZK [\\.\\d\\s]+-->",
"implies": [ "Java" ] "implies": "Java"
} }
} }
} }

@ -81,7 +81,7 @@ var wappalyzer = (function() {
if ( matches ) { if ( matches ) {
matches.map(function(match, i) { matches.map(function(match, i) {
version = version.replace('\\' + i, match); version = version.replace('\\' + i, match ? match : '');
}); });
self.versions.push(version); self.versions.push(version);
@ -133,6 +133,8 @@ var wappalyzer = (function() {
attrs[attr[0]] = attr[1]; attrs[attr[0]] = attr[1];
} }
} else { } else {
attrs.string = attr;
try { try {
attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression
} catch (e) { } catch (e) {
@ -372,20 +374,27 @@ var wappalyzer = (function() {
confidence = apps[app].confidence; confidence = apps[app].confidence;
if ( w.apps[app] && w.apps[app].implies ) { if ( w.apps[app] && w.apps[app].implies ) {
// Cast strings to an array
if ( typeof w.apps[app].implies === 'string' ) {
w.apps[app].implies = [ w.apps[app].implies ];
}
w.apps[app].implies.map(function(implied) { w.apps[app].implies.map(function(implied) {
if ( !w.apps[implied] ) { implied = parse(implied)[0];
w.log('Implied application ' + implied + ' does not exist');
if ( !w.apps[implied.string] ) {
w.log('Implied application ' + implied.string + ' does not exist');
return; return;
} }
// Apply app confidence to implied app if ( !apps.hasOwnProperty(implied.string) ) {
if ( !apps.hasOwnProperty(implied) ) { apps[implied.string] = new Application(implied.string, true);
apps[implied] = new Application(implied, true);
} }
// Apply app confidence to implied app
for ( id in confidence ) { for ( id in confidence ) {
apps[implied].confidence[id + ' implied by ' + app] = confidence[id]; apps[implied.string].confidence[id + ' implied by ' + app] = confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 );
} }
}); });
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

@ -43,12 +43,12 @@
"headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" }, "headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" },
"html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)", "html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)",
"script": "1c-bitrix", "script": "1c-bitrix",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"1und1": { "1und1": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/shop/catalog/browse\\?sessid=", "url": "/shop/catalog/browse\\?sessid=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"2z Project": { "2z Project": {
"cats": [ 1 ], "cats": [ 1 ],
@ -62,7 +62,7 @@
"Accessible Portal": { "Accessible Portal": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Accessible Portal" }, "meta": { "generator": "Accessible Portal" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AddThis": { "AddThis": {
"cats": [ 5 ], "cats": [ 5 ],
@ -73,7 +73,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"url": "/etc/designs/", "url": "/etc/designs/",
"html": "<div class=\\\"[^\\\"]*parbase", "html": "<div class=\\\"[^\\\"]*parbase",
"implies": [ "Java" ] "implies": "Java"
}, },
"Adobe GoLive": { "Adobe GoLive": {
"cats": [ 20 ], "cats": [ 20 ],
@ -82,7 +82,7 @@
"Advanced Web Stats": { "Advanced Web Stats": {
"cats": [ 10 ], "cats": [ 10 ],
"html": "aws\\.src = [^<]+caphyon-analytics", "html": "aws\\.src = [^<]+caphyon-analytics",
"implies": [ "Java" ] "implies": "Java"
}, },
"Alloy": { "Alloy": {
"cats": [ 12 ], "cats": [ 12 ],
@ -96,19 +96,19 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(Ametys|Anyware Technologies)" }, "meta": { "generator": "(Ametys|Anyware Technologies)" },
"script": "STools\\.js", "script": "STools\\.js",
"implies": [ "Java" ] "implies": "Java"
}, },
"Amiro.CMS": { "Amiro.CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Amiro" }, "meta": { "generator": "Amiro" },
"html": "system_js\\.php\\?script=", "html": "system_js\\.php\\?script=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AMPcms": { "AMPcms": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" }, "headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" },
"env": "^amp_js_init$", "env": "^amp_js_init$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AngularJS": { "AngularJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -155,7 +155,7 @@
"html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2", "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2",
"headers": { "X-Confluence-Request-Time": ".*" }, "headers": { "X-Confluence-Request-Time": ".*" },
"meta": { "confluence-request-time": ".*" }, "meta": { "confluence-request-time": ".*" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Atlassian Jira": { "Atlassian Jira": {
"cats": [ 13 ], "cats": [ 13 ],
@ -163,29 +163,29 @@
"script": "/jira/s/", "script": "/jira/s/",
"url": "/secure/Dashboard.jspa", "url": "/secure/Dashboard.jspa",
"html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4",
"implies": [ "Java" ] "implies": "Java"
}, },
"AWStats": { "AWStats": {
"cats": [ 10 ], "cats": [ 10 ],
"meta": { "generator": "AWStats" }, "meta": { "generator": "AWStats" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Backbone.js": { "Backbone.js": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "backbone.*\\.js", "script": "backbone.*\\.js",
"env": "^Backbone$", "env": "^Backbone$",
"implies": [ "Underscore.js" ] "implies": "Underscore.js"
}, },
"Banshee": { "Banshee": {
"cats": [ 1, 18 ], "cats": [ 1, 18 ],
"html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org", "html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"BIGACE": { "BIGACE": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BIGACE" }, "meta": { "generator": "BIGACE" },
"html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE", "html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigcommerce": { "Bigcommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -197,14 +197,14 @@
"BigDump": { "BigDump": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer", "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigware": { "Bigware": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php", "html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php",
"url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)", "url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)",
"headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" }, "headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Blip.tv": { "Blip.tv": {
"cats": [ 14 ], "cats": [ 14 ],
@ -218,17 +218,17 @@
"BrowserCMS": { "BrowserCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BrowserCMS" }, "meta": { "generator": "BrowserCMS" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Bugzilla": { "Bugzilla": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "href=\\\"enter_bug\\.cgi\\\">", "html": "href=\\\"enter_bug\\.cgi\\\">",
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Burning Board": { "Burning Board": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board", "html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Business Catalyst": { "Business Catalyst": {
"cats": [ 1 ], "cats": [ 1 ],
@ -239,14 +239,14 @@
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "cakephp=" }, "headers": { "Set-Cookie": "cakephp=" },
"meta": { "application-name": "CakePHP" }, "meta": { "application-name": "CakePHP" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cargo": { "Cargo": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "cargo_title": ".*" }, "meta": { "cargo_title": ".*" },
"script": "/cargo\\.", "script": "/cargo\\.",
"html": "<link [^>]+Cargo feed", "html": "<link [^>]+Cargo feed",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CentOS": { "CentOS": {
"cats": [ 28 ], "cats": [ 28 ],
@ -268,7 +268,7 @@
"cats": [ 21 ], "cats": [ 21 ],
"meta": { "generator": "Chamilo" }, "meta": { "generator": "Chamilo" },
"headers": { "X-Powered-By": "Chamilo" }, "headers": { "X-Powered-By": "Chamilo" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Chartbeat": { "Chartbeat": {
"cats": [ 10 ], "cats": [ 10 ],
@ -281,13 +281,13 @@
"CKEditor": { "CKEditor": {
"cats": [ 24 ], "cats": [ 24 ],
"env": "^CKEDITOR$", "env": "^CKEDITOR$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickHeat": { "ClickHeat": {
"cats": [ 10 ], "cats": [ 10 ],
"script": "clickheat.*\\.js", "script": "clickheat.*\\.js",
"env": "^clickHeatBrowser$", "env": "^clickHeatBrowser$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickTale": { "ClickTale": {
"cats": [ 10 ], "cats": [ 10 ],
@ -307,12 +307,12 @@
"CMS Made Simple": { "CMS Made Simple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMS Made Simple" }, "meta": { "generator": "CMS Made Simple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CMSimple": { "CMSimple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CO2Stats": { "CO2Stats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -321,7 +321,7 @@
"CodeIgniter": { "CodeIgniter": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Commerce Server": { "Commerce Server": {
"cats": [ 6 ], "cats": [ 6 ],
@ -338,22 +338,22 @@
"script": "concrete/js/", "script": "concrete/js/",
"meta": { "generator": "concrete5" }, "meta": { "generator": "concrete5" },
"env": "^CCM_IMAGE_PATH$", "env": "^CCM_IMAGE_PATH$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Connect": { "Connect": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "^Connect$" }, "headers": { "X-Powered-By": "^Connect$" },
"implies": [ "node.js" ] "implies": "node.js"
}, },
"Contao": { "Contao": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)", "html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contenido": { "Contenido": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Contenido" }, "meta": { "generator": "Contenido" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contens": { "Contens": {
"cats": [ 1 ], "cats": [ 1 ],
@ -367,7 +367,7 @@
"Coppermine": { "Coppermine": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--Coppermine Photo Gallery", "html": "<!--Coppermine Photo Gallery",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cosmoshop": { "Cosmoshop": {
"cats": [ 6 ], "cats": [ 6 ],
@ -376,7 +376,7 @@
"Cotonti": { "Cotonti": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Cotonti" }, "meta": { "generator": "Cotonti" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CouchDB": { "CouchDB": {
"cats": [ 22 ], "cats": [ 22 ],
@ -391,7 +391,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-Powered-By": "Dragonfly CMS" }, "headers": { "X-Powered-By": "Dragonfly CMS" },
"meta": { "generator": "CPG Dragonfly" }, "meta": { "generator": "CPG Dragonfly" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Crazy Egg": { "Crazy Egg": {
"cats": [ 10 ], "cats": [ 10 ],
@ -407,13 +407,13 @@
"cats": [ 6 ], "cats": [ 6 ],
"env": "^fn_compare_strings$", "env": "^fn_compare_strings$",
"html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)", "html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CubeCart": { "CubeCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)",
"meta": { "generator": "cubecart" }, "meta": { "generator": "cubecart" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cufon": { "Cufon": {
"cats": [ 17 ], "cats": [ 17 ],
@ -427,7 +427,7 @@
"Dancer": { "Dancer": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" }, "headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Danneo CMS": { "Danneo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -457,7 +457,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"env": "^Dede", "env": "^Dede",
"script": "dedeajax", "script": "dedeajax",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Demandware": { "Demandware": {
"cats": [ 6 ], "cats": [ 6 ],
@ -483,13 +483,13 @@
"Django": { "Django": {
"cats": [ 18 ], "cats": [ 18 ],
"html": "powered by <a[^>]+>Django", "html": "powered by <a[^>]+>Django",
"implies": [ "Python" ] "implies": "Python"
}, },
"Django CMS": { "Django CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "media/cms/js/csrf\\.js", "script": "media/cms/js/csrf\\.js",
"headers": { "Set-Cookie": "django" }, "headers": { "Set-Cookie": "django" },
"implies": [ "Django" ] "implies": "Django"
}, },
"Dojo": { "Dojo": {
"cats": [ 12 ], "cats": [ 12 ],
@ -507,7 +507,7 @@
"cats": [ 8 ], "cats": [ 8 ],
"meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, "meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" },
"headers": { "Set-Cookie": "DokuWiki=" }, "headers": { "Set-Cookie": "DokuWiki=" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"DotNetNuke": { "DotNetNuke": {
"cats": [ 1 ], "cats": [ 1 ],
@ -515,7 +515,7 @@
"headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" }, "headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" },
"html": "<!-- by DotNetNuke Corporation", "html": "<!-- by DotNetNuke Corporation",
"env": "^DotNetNuke$", "env": "^DotNetNuke$",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Doxygen": { "Doxygen": {
"cats": [ 4 ], "cats": [ 4 ],
@ -531,23 +531,23 @@
"html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/", "html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/",
"headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" },
"env": "^Drupal$", "env": "^Drupal$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Drupal Commerce": { "Drupal Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field", "html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Dynamicweb": { "Dynamicweb": {
"cats": [ 1, 6, 10 ], "cats": [ 1, 6, 10 ],
"meta": { "generator": "Dynamicweb" }, "meta": { "generator": "Dynamicweb" },
"headers": { "Set-Cookie": "Dynamicweb=" }, "headers": { "Set-Cookie": "Dynamicweb=" },
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"e107": { "e107": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "e107\\.js", "script": "e107\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"EdgeCast": { "EdgeCast": {
"cats": [ 31 ], "cats": [ 31 ],
@ -565,7 +565,7 @@
"EPrints": { "EPrints": {
"cats": [ 19 ], "cats": [ 19 ],
"meta": { "generator": "EPrints" }, "meta": { "generator": "EPrints" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Exhibit": { "Exhibit": {
"cats": [ 25 ], "cats": [ 25 ],
@ -580,7 +580,7 @@
"ExpressionEngine": { "ExpressionEngine": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ExtJS": { "ExtJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -591,7 +591,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish" }, "headers": { "X-Powered-By": "^eZ Publish" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Fact Finder": { "Fact Finder": {
"cats": [ 29 ], "cats": [ 29 ],
@ -642,7 +642,7 @@
"Gambio": { "Gambio": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->", "html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Gauges": { "Gauges": {
"cats": [ 10 ], "cats": [ 10 ],
@ -660,7 +660,7 @@
"GetSimple CMS": { "GetSimple CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "GetSimple" }, "meta": { "generator": "GetSimple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"GoAhead": { "GoAhead": {
"cats": [ 22 ], "cats": [ 22 ],
@ -706,7 +706,7 @@
"Google Web Toolkit": { "Google Web Toolkit": {
"cats": [ 18 ], "cats": [ 18 ],
"env": "^__gwt_", "env": "^__gwt_",
"implies": [ "Java" ] "implies": "Java"
}, },
"GoStats": { "GoStats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -758,7 +758,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"html": "(/sys_master/|/hybr/|/_ui/desktop/)", "html": "(/sys_master/|/hybr/|/_ui/desktop/)",
"headers": { "Set-Cookie": "_hybris" }, "headers": { "Set-Cookie": "_hybris" },
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM HTTP Server": { "IBM HTTP Server": {
"cats": [ 22 ], "cats": [ 22 ],
@ -768,29 +768,29 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "IBM-Web2-Location": ".*" }, "headers": { "IBM-Web2-Location": ".*" },
"url": "/wps/", "url": "/wps/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM WebSphere Commerce": { "IBM WebSphere Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/wcs/", "url": "/wcs/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IIS": { "IIS": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" }, "headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" },
"implies": [ "Windows Server" ] "implies": "Windows Server"
}, },
"ImpressCMS": { "ImpressCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "include/linkexternal\\.js", "script": "include/linkexternal\\.js",
"meta": { "generator": "ImpressCMS" }, "meta": { "generator": "ImpressCMS" },
"headers": { "X-Powered-By": "ImpressCMS" }, "headers": { "X-Powered-By": "ImpressCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ImpressPages": { "ImpressPages": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "ImpressPages" }, "meta": { "generator": "ImpressPages" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Indexhibit": { "Indexhibit": {
"cats": [ 1 ], "cats": [ 1 ],
@ -820,7 +820,7 @@
"JAlbum": { "JAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jalios": { "Jalios": {
"cats": [ 1 ], "cats": [ 1 ],
@ -838,17 +838,17 @@
"JavaServer Faces": { "JavaServer Faces": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"JavaServer Pages": { "JavaServer Pages": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Java Servlet": { "Java Servlet": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jirafe": { "Jirafe": {
"cats": [ 10, 32 ], "cats": [ 10, 32 ],
@ -871,7 +871,7 @@
"html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50", "html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50",
"headers": { "X-Content-Encoded-By": "Joomla" }, "headers": { "X-Content-Encoded-By": "Joomla" },
"env": "^jcomments$", "env": "^jcomments$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"jqPlot": { "jqPlot": {
"cats": [ 25 ], "cats": [ 25 ],
@ -891,7 +891,7 @@
"jQuery Mobile": { "jQuery Mobile": {
"cats": [ 26 ], "cats": [ 26 ],
"script": "jquery\\.mobile.*\\.js", "script": "jquery\\.mobile.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"jQuery Sparklines": { "jQuery Sparklines": {
"cats": [ 25 ], "cats": [ 25 ],
@ -900,7 +900,7 @@
"jQuery UI": { "jQuery UI": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "jquery-ui.*\\.js", "script": "jquery-ui.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"JS Charts": { "JS Charts": {
"cats": [ 25 ], "cats": [ 25 ],
@ -915,7 +915,7 @@
"cats": [ 19 ], "cats": [ 19 ],
"html": "<!-- JoomlaWorks \\\"K2\\\"", "html": "<!-- JoomlaWorks \\\"K2\\\"",
"env": "^K2RatingURL$", "env": "^K2RatingURL$",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"Kampyle": { "Kampyle": {
"cats": [ 10, 13 ], "cats": [ 10, 13 ],
@ -927,7 +927,7 @@
"cats": [ 18 ], "cats": [ 18 ],
"env": "^kendo$", "env": "^kendo$",
"html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]", "html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"Kentico CMS": { "Kentico CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -948,7 +948,7 @@
"Kohana": { "Kohana": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" }, "headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Kolibri CMS": { "Kolibri CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -957,7 +957,7 @@
"Komodo CMS": { "Komodo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^Komodo CMS" }, "meta": { "generator": "^Komodo CMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Koobi": { "Koobi": {
"cats": [ 1 ], "cats": [ 1 ],
@ -966,7 +966,7 @@
"LEPTON": { "LEPTON": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "LEPTON" }, "meta": { "generator": "LEPTON" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Liferay": { "Liferay": {
"cats": [ 1 ], "cats": [ 1 ],
@ -976,7 +976,7 @@
"LightMon Engine": { "LightMon Engine": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!-- Lightmon Engine Copyright Lightmon", "html": "<!-- Lightmon Engine Copyright Lightmon",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"lighttpd": { "lighttpd": {
"cats": [ 22 ], "cats": [ 22 ],
@ -1009,7 +1009,7 @@
"script": "(js/mage|skin/frontend/(default|enterprise))", "script": "(js/mage|skin/frontend/(default|enterprise))",
"headers": { "Set-Cookie": "frontend=\\;confidence:50" }, "headers": { "Set-Cookie": "frontend=\\;confidence:50" },
"env": "^(Mage|VarienForm)$", "env": "^(Mage|VarienForm)$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Mambo": { "Mambo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1081,12 +1081,12 @@
"html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/", "html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/",
"env": "^MODX_MEDIA_PATH$", "env": "^MODX_MEDIA_PATH$",
"headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"mod_fastcgi": { "mod_fastcgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_python": { "mod_python": {
"cats": [ 33 ], "cats": [ 33 ],
@ -1096,33 +1096,33 @@
"mod_rack": { "mod_rack": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Ruby", "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_rails": { "mod_rails": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_ssl": { "mod_ssl": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_wsgi": { "mod_wsgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Python", "Apache" ] "implies": [ "Python\\;confidence:50", "Apache" ]
}, },
"MoinMoin": { "MoinMoin": {
"cats": [ 8 ], "cats": [ 8 ],
"script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4",
"env": "^show_switch2gui$", "env": "^show_switch2gui$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Mojolicious": { "Mojolicious": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "x-powered-by": "mojolicious" }, "headers": { "x-powered-by": "mojolicious" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Mollom": { "Mollom": {
"cats": [ 16 ], "cats": [ 16 ],
@ -1136,7 +1136,7 @@
"Mongrel": { "Mongrel": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "Mongrel" }, "headers": { "Server": "Mongrel" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"MongoDB": { "MongoDB": {
"cats": [ 24 ] "cats": [ 24 ]
@ -1146,7 +1146,7 @@
"html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)", "html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)",
"headers": { "Set-Cookie": "MoodleSession" }, "headers": { "Set-Cookie": "MoodleSession" },
"env": "^moodle", "env": "^moodle",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Moogo": { "Moogo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1225,7 +1225,7 @@
"OpenCart": { "OpenCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart", "html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"openEngine": { "openEngine": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1235,12 +1235,12 @@
"cats": [ 19 ], "cats": [ 19 ],
"headers": { "Set-Cookie": "OpenGrok" }, "headers": { "Set-Cookie": "OpenGrok" },
"meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenGSE": { "OpenGSE": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "GSE" }, "headers": { "Server": "GSE" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenLayers": { "OpenLayers": {
"cats": [ 35 ], "cats": [ 35 ],
@ -1258,7 +1258,7 @@
"OpenText Web Solutions": { "OpenText Web Solutions": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!--[^>]+published by Open Text Web Solutions", "html": "<!--[^>]+published by Open Text Web Solutions",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Optimizely": { "Optimizely": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1320,7 +1320,7 @@
"phpAlbum": { "phpAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--phpalbum [\\.\\d\\s]+-->", "html": "<!--phpalbum [\\.\\d\\s]+-->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpBB": { "phpBB": {
"cats": [ 2 ], "cats": [ 2 ],
@ -1328,22 +1328,22 @@
"html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)", "html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)",
"env": "^(style_cookie_settings|phpbb_)", "env": "^(style_cookie_settings|phpbb_)",
"headers": { "Set-Cookie": "^phpbb" }, "headers": { "Set-Cookie": "^phpbb" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpCMS": { "phpCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"env": "^phpcms", "env": "^phpcms",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpDocumentor": { "phpDocumentor": {
"cats": [ 4 ], "cats": [ 4 ],
"html": "<!-- Generated by phpDocumentor", "html": "<!-- Generated by phpDocumentor",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"PHP-Fusion": { "PHP-Fusion": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "Powered by <a href=\\\"[^>]+php-fusion", "html": "Powered by <a href=\\\"[^>]+php-fusion",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpMyAdmin": { "phpMyAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
@ -1358,18 +1358,18 @@
"phpPgAdmin": { "phpPgAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)", "html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpSQLiteCMS": { "phpSQLiteCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^phpSQLiteCMS" }, "meta": { "generator": "^phpSQLiteCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpwind": { "phpwind": {
"cats": [ 1, 2 ], "cats": [ 1, 2 ],
"meta": { "generator": "^phpwind" }, "meta": { "generator": "^phpwind" },
"html": "Powered by <a href=\\\".+phpwind\\.net", "html": "Powered by <a href=\\\".+phpwind\\.net",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Piwik": { "Piwik": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1394,7 +1394,7 @@
"Plone": { "Plone": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Plone" }, "meta": { "generator": "Plone" },
"implies": [ "Python" ] "implies": "Python"
}, },
"Plura": { "Plura": {
"cats": [ 19 ], "cats": [ 19 ],
@ -1417,7 +1417,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "generator": "PrestaShop" }, "meta": { "generator": "PrestaShop" },
"html": "Powered by <a href=\\\"[^>]+PrestaShop", "html": "Powered by <a href=\\\"[^>]+PrestaShop",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Prototype": { "Prototype": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1432,7 +1432,7 @@
"punBB": { "punBB": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "Powered by <a href=\\\"[^>]+punbb", "html": "Powered by <a href=\\\"[^>]+punbb",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Python": { "Python": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1450,7 +1450,7 @@
"RackCache": { "RackCache": {
"cats": [ 23 ], "cats": [ 23 ],
"headers": { "X-Rack-Cache": ".+" }, "headers": { "X-Rack-Cache": ".+" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Raphael": { "Raphael": {
"cats": [ 25 ], "cats": [ 25 ],
@ -1461,7 +1461,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"html": "<html[^>]+xmlns:change=", "html": "<html[^>]+xmlns:change=",
"meta": { "generator": "RBS Change" }, "meta": { "generator": "RBS Change" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"RCMS": { "RCMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1482,13 +1482,13 @@
"html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)",
"url": "^(www\\.)?reddit\\.com", "url": "^(www\\.)?reddit\\.com",
"env": "^reddit$", "env": "^reddit$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Redmine": { "Redmine": {
"cats": [ 13 ], "cats": [ 13 ],
"meta": { "description": "Redmine" }, "meta": { "description": "Redmine" },
"html": "Powered by <a href=\\\"[^>]+Redmine", "html": "Powered by <a href=\\\"[^>]+Redmine",
"implies": [ "Ruby on Rails" ] "implies": "Ruby on Rails"
}, },
"Reinvigorate": { "Reinvigorate": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1503,7 +1503,7 @@
"cats": [ 30 ], "cats": [ 30 ],
"html": "<title>RoundCube", "html": "<title>RoundCube",
"env": "^(rcmail|rcube_|roundcube)", "env": "^(rcmail|rcube_|roundcube)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ruby": { "Ruby": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1514,7 +1514,7 @@
"script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50", "script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
"meta": { "csrf-param": "authenticity_token\\;confidence:50" }, "meta": { "csrf-param": "authenticity_token\\;confidence:50" },
"headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" }, "headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"S.Builder": { "S.Builder": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1528,7 +1528,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" }, "meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" },
"headers": { "X-Spip-Cache": ".*" }, "headers": { "X-Spip-Cache": ".*" },
"implies": [ "SPIP" ] "implies": "SPIP"
}, },
"script.aculo.us": { "script.aculo.us": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1565,7 +1565,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "application-name": "Shopware" }, "meta": { "application-name": "Shopware" },
"script": "shopware\\.js", "script": "shopware\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sIFR": { "sIFR": {
"cats": [ 17 ], "cats": [ 17 ],
@ -1597,7 +1597,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<script [^>]+\\s+var smf_", "html": "<script [^>]+\\s+var smf_",
"env": "^smf_", "env": "^smf_",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sNews": { "sNews": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1611,13 +1611,13 @@
"SOBI 2": { "SOBI 2": {
"cats": [ 19 ], "cats": [ 19 ],
"html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)", "html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SobiPro": { "SobiPro": {
"cats": [ 19 ], "cats": [ 19 ],
"env": "^SobiProUrl$", "env": "^SobiProUrl$",
"html": " <(script|link)[^>].*com_sobipro.*>", "html": " <(script|link)[^>].*com_sobipro.*>",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SoundManager": { "SoundManager": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1630,7 +1630,7 @@
"Sphinx": { "Sphinx": {
"cats": [ 4 ], "cats": [ 4 ],
"env": "^DOCUMENTATION_OPTIONS$", "env": "^DOCUMENTATION_OPTIONS$",
"implies": [ "Python" ] "implies": "Python"
}, },
"SPIP": { "SPIP": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1652,7 +1652,7 @@
"meta": { "generator": "Squiz Matrix" }, "meta": { "generator": "Squiz Matrix" },
"html": " Running (MySource|Squiz) Matrix", "html": " Running (MySource|Squiz) Matrix",
"headers": { "X-Powered-By": "Squiz Matrix" }, "headers": { "X-Powered-By": "Squiz Matrix" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"StatCounter": { "StatCounter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1693,7 +1693,7 @@
"meta": { "generator": "Swiftlet" }, "meta": { "generator": "Swiftlet" },
"html": "Powered by <a href=\\\"[^>]+Swiftlet", "html": "Powered by <a href=\\\"[^>]+Swiftlet",
"headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" }, "headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Textpattern CMS": { "Textpattern CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1730,7 +1730,7 @@
"Trac": { "Trac": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "<a id=\\\"tracpowered", "html": "<a id=\\\"tracpowered",
"implies": [ "Python" ] "implies": "Python"
}, },
"Tumblr": { "Tumblr": {
"cats": [ 11 ], "cats": [ 11 ],
@ -1764,12 +1764,12 @@
"meta": { "generator": "TYPO3" }, "meta": { "generator": "TYPO3" },
"html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)", "html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)",
"url": "/typo3/", "url": "/typo3/",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ubercart": { "Ubercart": {
"cats": [ 6 ], "cats": [ 6 ],
"script": "uc_cart/uc_cart_block\\.js", "script": "uc_cart/uc_cart_block\\.js",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Ubuntu": { "Ubuntu": {
"cats": [ 28 ], "cats": [ 28 ],
@ -1780,7 +1780,7 @@
"meta": { "generator": "umbraco" }, "meta": { "generator": "umbraco" },
"headers": { "X-Umbraco-Version": ".+" }, "headers": { "X-Umbraco-Version": ".+" },
"html": "powered by <a href=[^>]+umbraco", "html": "powered by <a href=[^>]+umbraco",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Underscore.js": { "Underscore.js": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1803,7 +1803,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<body id=\\\"(DiscussionsPage|vanilla)", "html": "<body id=\\\"(DiscussionsPage|vanilla)",
"headers": { "X-Powered-By": "Vanilla" }, "headers": { "X-Powered-By": "Vanilla" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Varnish": { "Varnish": {
"cats": [ 23 ], "cats": [ 23 ],
@ -1813,7 +1813,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"meta": { "generator": "vBulletin" }, "meta": { "generator": "vBulletin" },
"env": "^(vBulletin|vB_[^g])", "env": "^(vBulletin|vB_[^g])",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"VideoJS": { "VideoJS": {
"cats": [ 14 ], "cats": [ 14 ],
@ -1858,7 +1858,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"script": "vs350\\.js", "script": "vs350\\.js",
"html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>", "html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"W3Counter": { "W3Counter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1867,7 +1867,7 @@
"W3 Total Cache": { "W3 Total Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+W3 Total Cache", "html": "<!--[^>]+W3 Total Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Web Optimizer": { "Web Optimizer": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1892,7 +1892,7 @@
"WebsiteBaker": { "WebsiteBaker": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "WebsiteBaker" }, "meta": { "generator": "WebsiteBaker" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WebsPlanet": { "WebsPlanet": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1938,12 +1938,12 @@
"meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" },
"html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content", "html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content",
"env": "^wp_username$", "env": "^wp_username$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WordPress Super Cache": { "WordPress Super Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+WP-Super-Cache", "html": "<!--[^>]+WP-Super-Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Xajax": { "Xajax": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1970,7 +1970,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "XOOPS" }, "meta": { "generator": "XOOPS" },
"env": "^xoops", "env": "^xoops",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"xtCommerce": { "xtCommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -2023,13 +2023,13 @@
"Zinnia": { "Zinnia": {
"cats": [ 11 ], "cats": [ 11 ],
"meta": { "generator": "Zinnia" }, "meta": { "generator": "Zinnia" },
"implies": [ "Django" ] "implies": "Django"
}, },
"ZK": { "ZK": {
"cats": [ 18 ], "cats": [ 18 ],
"script": "zkau/", "script": "zkau/",
"html": "<!-- ZK [\\.\\d\\s]+-->", "html": "<!-- ZK [\\.\\d\\s]+-->",
"implies": [ "Java" ] "implies": "Java"
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

@ -81,7 +81,7 @@ var wappalyzer = (function() {
if ( matches ) { if ( matches ) {
matches.map(function(match, i) { matches.map(function(match, i) {
version = version.replace('\\' + i, match); version = version.replace('\\' + i, match ? match : '');
}); });
self.versions.push(version); self.versions.push(version);
@ -133,6 +133,8 @@ var wappalyzer = (function() {
attrs[attr[0]] = attr[1]; attrs[attr[0]] = attr[1];
} }
} else { } else {
attrs.string = attr;
try { try {
attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression
} catch (e) { } catch (e) {
@ -372,20 +374,27 @@ var wappalyzer = (function() {
confidence = apps[app].confidence; confidence = apps[app].confidence;
if ( w.apps[app] && w.apps[app].implies ) { if ( w.apps[app] && w.apps[app].implies ) {
// Cast strings to an array
if ( typeof w.apps[app].implies === 'string' ) {
w.apps[app].implies = [ w.apps[app].implies ];
}
w.apps[app].implies.map(function(implied) { w.apps[app].implies.map(function(implied) {
if ( !w.apps[implied] ) { implied = parse(implied)[0];
w.log('Implied application ' + implied + ' does not exist');
if ( !w.apps[implied.string] ) {
w.log('Implied application ' + implied.string + ' does not exist');
return; return;
} }
// Apply app confidence to implied app if ( !apps.hasOwnProperty(implied.string) ) {
if ( !apps.hasOwnProperty(implied) ) { apps[implied.string] = new Application(implied.string, true);
apps[implied] = new Application(implied, true);
} }
// Apply app confidence to implied app
for ( id in confidence ) { for ( id in confidence ) {
apps[implied].confidence[id + ' implied by ' + app] = confidence[id]; apps[implied.string].confidence[id + ' implied by ' + app] = confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 );
} }
}); });
} }

@ -43,12 +43,12 @@
"headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" }, "headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" },
"html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)", "html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)",
"script": "1c-bitrix", "script": "1c-bitrix",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"1und1": { "1und1": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/shop/catalog/browse\\?sessid=", "url": "/shop/catalog/browse\\?sessid=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"2z Project": { "2z Project": {
"cats": [ 1 ], "cats": [ 1 ],
@ -62,7 +62,7 @@
"Accessible Portal": { "Accessible Portal": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Accessible Portal" }, "meta": { "generator": "Accessible Portal" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AddThis": { "AddThis": {
"cats": [ 5 ], "cats": [ 5 ],
@ -73,7 +73,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"url": "/etc/designs/", "url": "/etc/designs/",
"html": "<div class=\\\"[^\\\"]*parbase", "html": "<div class=\\\"[^\\\"]*parbase",
"implies": [ "Java" ] "implies": "Java"
}, },
"Adobe GoLive": { "Adobe GoLive": {
"cats": [ 20 ], "cats": [ 20 ],
@ -82,7 +82,7 @@
"Advanced Web Stats": { "Advanced Web Stats": {
"cats": [ 10 ], "cats": [ 10 ],
"html": "aws\\.src = [^<]+caphyon-analytics", "html": "aws\\.src = [^<]+caphyon-analytics",
"implies": [ "Java" ] "implies": "Java"
}, },
"Alloy": { "Alloy": {
"cats": [ 12 ], "cats": [ 12 ],
@ -96,19 +96,19 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(Ametys|Anyware Technologies)" }, "meta": { "generator": "(Ametys|Anyware Technologies)" },
"script": "STools\\.js", "script": "STools\\.js",
"implies": [ "Java" ] "implies": "Java"
}, },
"Amiro.CMS": { "Amiro.CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Amiro" }, "meta": { "generator": "Amiro" },
"html": "system_js\\.php\\?script=", "html": "system_js\\.php\\?script=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AMPcms": { "AMPcms": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" }, "headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" },
"env": "^amp_js_init$", "env": "^amp_js_init$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AngularJS": { "AngularJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -155,7 +155,7 @@
"html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2", "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2",
"headers": { "X-Confluence-Request-Time": ".*" }, "headers": { "X-Confluence-Request-Time": ".*" },
"meta": { "confluence-request-time": ".*" }, "meta": { "confluence-request-time": ".*" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Atlassian Jira": { "Atlassian Jira": {
"cats": [ 13 ], "cats": [ 13 ],
@ -163,29 +163,29 @@
"script": "/jira/s/", "script": "/jira/s/",
"url": "/secure/Dashboard.jspa", "url": "/secure/Dashboard.jspa",
"html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4",
"implies": [ "Java" ] "implies": "Java"
}, },
"AWStats": { "AWStats": {
"cats": [ 10 ], "cats": [ 10 ],
"meta": { "generator": "AWStats" }, "meta": { "generator": "AWStats" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Backbone.js": { "Backbone.js": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "backbone.*\\.js", "script": "backbone.*\\.js",
"env": "^Backbone$", "env": "^Backbone$",
"implies": [ "Underscore.js" ] "implies": "Underscore.js"
}, },
"Banshee": { "Banshee": {
"cats": [ 1, 18 ], "cats": [ 1, 18 ],
"html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org", "html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"BIGACE": { "BIGACE": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BIGACE" }, "meta": { "generator": "BIGACE" },
"html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE", "html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigcommerce": { "Bigcommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -197,14 +197,14 @@
"BigDump": { "BigDump": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer", "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigware": { "Bigware": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php", "html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php",
"url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)", "url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)",
"headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" }, "headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Blip.tv": { "Blip.tv": {
"cats": [ 14 ], "cats": [ 14 ],
@ -218,17 +218,17 @@
"BrowserCMS": { "BrowserCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BrowserCMS" }, "meta": { "generator": "BrowserCMS" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Bugzilla": { "Bugzilla": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "href=\\\"enter_bug\\.cgi\\\">", "html": "href=\\\"enter_bug\\.cgi\\\">",
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Burning Board": { "Burning Board": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board", "html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Business Catalyst": { "Business Catalyst": {
"cats": [ 1 ], "cats": [ 1 ],
@ -239,14 +239,14 @@
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "cakephp=" }, "headers": { "Set-Cookie": "cakephp=" },
"meta": { "application-name": "CakePHP" }, "meta": { "application-name": "CakePHP" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cargo": { "Cargo": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "cargo_title": ".*" }, "meta": { "cargo_title": ".*" },
"script": "/cargo\\.", "script": "/cargo\\.",
"html": "<link [^>]+Cargo feed", "html": "<link [^>]+Cargo feed",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CentOS": { "CentOS": {
"cats": [ 28 ], "cats": [ 28 ],
@ -268,7 +268,7 @@
"cats": [ 21 ], "cats": [ 21 ],
"meta": { "generator": "Chamilo" }, "meta": { "generator": "Chamilo" },
"headers": { "X-Powered-By": "Chamilo" }, "headers": { "X-Powered-By": "Chamilo" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Chartbeat": { "Chartbeat": {
"cats": [ 10 ], "cats": [ 10 ],
@ -281,13 +281,13 @@
"CKEditor": { "CKEditor": {
"cats": [ 24 ], "cats": [ 24 ],
"env": "^CKEDITOR$", "env": "^CKEDITOR$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickHeat": { "ClickHeat": {
"cats": [ 10 ], "cats": [ 10 ],
"script": "clickheat.*\\.js", "script": "clickheat.*\\.js",
"env": "^clickHeatBrowser$", "env": "^clickHeatBrowser$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickTale": { "ClickTale": {
"cats": [ 10 ], "cats": [ 10 ],
@ -307,12 +307,12 @@
"CMS Made Simple": { "CMS Made Simple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMS Made Simple" }, "meta": { "generator": "CMS Made Simple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CMSimple": { "CMSimple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CO2Stats": { "CO2Stats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -321,7 +321,7 @@
"CodeIgniter": { "CodeIgniter": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Commerce Server": { "Commerce Server": {
"cats": [ 6 ], "cats": [ 6 ],
@ -338,22 +338,22 @@
"script": "concrete/js/", "script": "concrete/js/",
"meta": { "generator": "concrete5" }, "meta": { "generator": "concrete5" },
"env": "^CCM_IMAGE_PATH$", "env": "^CCM_IMAGE_PATH$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Connect": { "Connect": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "^Connect$" }, "headers": { "X-Powered-By": "^Connect$" },
"implies": [ "node.js" ] "implies": "node.js"
}, },
"Contao": { "Contao": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)", "html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contenido": { "Contenido": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Contenido" }, "meta": { "generator": "Contenido" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contens": { "Contens": {
"cats": [ 1 ], "cats": [ 1 ],
@ -367,7 +367,7 @@
"Coppermine": { "Coppermine": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--Coppermine Photo Gallery", "html": "<!--Coppermine Photo Gallery",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cosmoshop": { "Cosmoshop": {
"cats": [ 6 ], "cats": [ 6 ],
@ -376,7 +376,7 @@
"Cotonti": { "Cotonti": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Cotonti" }, "meta": { "generator": "Cotonti" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CouchDB": { "CouchDB": {
"cats": [ 22 ], "cats": [ 22 ],
@ -391,7 +391,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-Powered-By": "Dragonfly CMS" }, "headers": { "X-Powered-By": "Dragonfly CMS" },
"meta": { "generator": "CPG Dragonfly" }, "meta": { "generator": "CPG Dragonfly" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Crazy Egg": { "Crazy Egg": {
"cats": [ 10 ], "cats": [ 10 ],
@ -407,13 +407,13 @@
"cats": [ 6 ], "cats": [ 6 ],
"env": "^fn_compare_strings$", "env": "^fn_compare_strings$",
"html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)", "html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CubeCart": { "CubeCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)",
"meta": { "generator": "cubecart" }, "meta": { "generator": "cubecart" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cufon": { "Cufon": {
"cats": [ 17 ], "cats": [ 17 ],
@ -427,7 +427,7 @@
"Dancer": { "Dancer": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" }, "headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Danneo CMS": { "Danneo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -457,7 +457,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"env": "^Dede", "env": "^Dede",
"script": "dedeajax", "script": "dedeajax",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Demandware": { "Demandware": {
"cats": [ 6 ], "cats": [ 6 ],
@ -483,13 +483,13 @@
"Django": { "Django": {
"cats": [ 18 ], "cats": [ 18 ],
"html": "powered by <a[^>]+>Django", "html": "powered by <a[^>]+>Django",
"implies": [ "Python" ] "implies": "Python"
}, },
"Django CMS": { "Django CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "media/cms/js/csrf\\.js", "script": "media/cms/js/csrf\\.js",
"headers": { "Set-Cookie": "django" }, "headers": { "Set-Cookie": "django" },
"implies": [ "Django" ] "implies": "Django"
}, },
"Dojo": { "Dojo": {
"cats": [ 12 ], "cats": [ 12 ],
@ -507,7 +507,7 @@
"cats": [ 8 ], "cats": [ 8 ],
"meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, "meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" },
"headers": { "Set-Cookie": "DokuWiki=" }, "headers": { "Set-Cookie": "DokuWiki=" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"DotNetNuke": { "DotNetNuke": {
"cats": [ 1 ], "cats": [ 1 ],
@ -515,7 +515,7 @@
"headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" }, "headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" },
"html": "<!-- by DotNetNuke Corporation", "html": "<!-- by DotNetNuke Corporation",
"env": "^DotNetNuke$", "env": "^DotNetNuke$",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Doxygen": { "Doxygen": {
"cats": [ 4 ], "cats": [ 4 ],
@ -531,23 +531,23 @@
"html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/", "html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/",
"headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" },
"env": "^Drupal$", "env": "^Drupal$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Drupal Commerce": { "Drupal Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field", "html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Dynamicweb": { "Dynamicweb": {
"cats": [ 1, 6, 10 ], "cats": [ 1, 6, 10 ],
"meta": { "generator": "Dynamicweb" }, "meta": { "generator": "Dynamicweb" },
"headers": { "Set-Cookie": "Dynamicweb=" }, "headers": { "Set-Cookie": "Dynamicweb=" },
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"e107": { "e107": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "e107\\.js", "script": "e107\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"EdgeCast": { "EdgeCast": {
"cats": [ 31 ], "cats": [ 31 ],
@ -565,7 +565,7 @@
"EPrints": { "EPrints": {
"cats": [ 19 ], "cats": [ 19 ],
"meta": { "generator": "EPrints" }, "meta": { "generator": "EPrints" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Exhibit": { "Exhibit": {
"cats": [ 25 ], "cats": [ 25 ],
@ -580,7 +580,7 @@
"ExpressionEngine": { "ExpressionEngine": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ExtJS": { "ExtJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -591,7 +591,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish" }, "headers": { "X-Powered-By": "^eZ Publish" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Fact Finder": { "Fact Finder": {
"cats": [ 29 ], "cats": [ 29 ],
@ -642,7 +642,7 @@
"Gambio": { "Gambio": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->", "html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Gauges": { "Gauges": {
"cats": [ 10 ], "cats": [ 10 ],
@ -660,7 +660,7 @@
"GetSimple CMS": { "GetSimple CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "GetSimple" }, "meta": { "generator": "GetSimple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"GoAhead": { "GoAhead": {
"cats": [ 22 ], "cats": [ 22 ],
@ -706,7 +706,7 @@
"Google Web Toolkit": { "Google Web Toolkit": {
"cats": [ 18 ], "cats": [ 18 ],
"env": "^__gwt_", "env": "^__gwt_",
"implies": [ "Java" ] "implies": "Java"
}, },
"GoStats": { "GoStats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -758,7 +758,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"html": "(/sys_master/|/hybr/|/_ui/desktop/)", "html": "(/sys_master/|/hybr/|/_ui/desktop/)",
"headers": { "Set-Cookie": "_hybris" }, "headers": { "Set-Cookie": "_hybris" },
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM HTTP Server": { "IBM HTTP Server": {
"cats": [ 22 ], "cats": [ 22 ],
@ -768,29 +768,29 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "IBM-Web2-Location": ".*" }, "headers": { "IBM-Web2-Location": ".*" },
"url": "/wps/", "url": "/wps/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM WebSphere Commerce": { "IBM WebSphere Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/wcs/", "url": "/wcs/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IIS": { "IIS": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" }, "headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" },
"implies": [ "Windows Server" ] "implies": "Windows Server"
}, },
"ImpressCMS": { "ImpressCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "include/linkexternal\\.js", "script": "include/linkexternal\\.js",
"meta": { "generator": "ImpressCMS" }, "meta": { "generator": "ImpressCMS" },
"headers": { "X-Powered-By": "ImpressCMS" }, "headers": { "X-Powered-By": "ImpressCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ImpressPages": { "ImpressPages": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "ImpressPages" }, "meta": { "generator": "ImpressPages" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Indexhibit": { "Indexhibit": {
"cats": [ 1 ], "cats": [ 1 ],
@ -820,7 +820,7 @@
"JAlbum": { "JAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jalios": { "Jalios": {
"cats": [ 1 ], "cats": [ 1 ],
@ -838,17 +838,17 @@
"JavaServer Faces": { "JavaServer Faces": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"JavaServer Pages": { "JavaServer Pages": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Java Servlet": { "Java Servlet": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jirafe": { "Jirafe": {
"cats": [ 10, 32 ], "cats": [ 10, 32 ],
@ -871,7 +871,7 @@
"html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50", "html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50",
"headers": { "X-Content-Encoded-By": "Joomla" }, "headers": { "X-Content-Encoded-By": "Joomla" },
"env": "^jcomments$", "env": "^jcomments$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"jqPlot": { "jqPlot": {
"cats": [ 25 ], "cats": [ 25 ],
@ -891,7 +891,7 @@
"jQuery Mobile": { "jQuery Mobile": {
"cats": [ 26 ], "cats": [ 26 ],
"script": "jquery\\.mobile.*\\.js", "script": "jquery\\.mobile.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"jQuery Sparklines": { "jQuery Sparklines": {
"cats": [ 25 ], "cats": [ 25 ],
@ -900,7 +900,7 @@
"jQuery UI": { "jQuery UI": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "jquery-ui.*\\.js", "script": "jquery-ui.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"JS Charts": { "JS Charts": {
"cats": [ 25 ], "cats": [ 25 ],
@ -915,7 +915,7 @@
"cats": [ 19 ], "cats": [ 19 ],
"html": "<!-- JoomlaWorks \\\"K2\\\"", "html": "<!-- JoomlaWorks \\\"K2\\\"",
"env": "^K2RatingURL$", "env": "^K2RatingURL$",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"Kampyle": { "Kampyle": {
"cats": [ 10, 13 ], "cats": [ 10, 13 ],
@ -927,7 +927,7 @@
"cats": [ 18 ], "cats": [ 18 ],
"env": "^kendo$", "env": "^kendo$",
"html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]", "html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"Kentico CMS": { "Kentico CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -948,7 +948,7 @@
"Kohana": { "Kohana": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" }, "headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Kolibri CMS": { "Kolibri CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -957,7 +957,7 @@
"Komodo CMS": { "Komodo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^Komodo CMS" }, "meta": { "generator": "^Komodo CMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Koobi": { "Koobi": {
"cats": [ 1 ], "cats": [ 1 ],
@ -966,7 +966,7 @@
"LEPTON": { "LEPTON": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "LEPTON" }, "meta": { "generator": "LEPTON" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Liferay": { "Liferay": {
"cats": [ 1 ], "cats": [ 1 ],
@ -976,7 +976,7 @@
"LightMon Engine": { "LightMon Engine": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!-- Lightmon Engine Copyright Lightmon", "html": "<!-- Lightmon Engine Copyright Lightmon",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"lighttpd": { "lighttpd": {
"cats": [ 22 ], "cats": [ 22 ],
@ -1009,7 +1009,7 @@
"script": "(js/mage|skin/frontend/(default|enterprise))", "script": "(js/mage|skin/frontend/(default|enterprise))",
"headers": { "Set-Cookie": "frontend=\\;confidence:50" }, "headers": { "Set-Cookie": "frontend=\\;confidence:50" },
"env": "^(Mage|VarienForm)$", "env": "^(Mage|VarienForm)$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Mambo": { "Mambo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1081,12 +1081,12 @@
"html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/", "html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/",
"env": "^MODX_MEDIA_PATH$", "env": "^MODX_MEDIA_PATH$",
"headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"mod_fastcgi": { "mod_fastcgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_python": { "mod_python": {
"cats": [ 33 ], "cats": [ 33 ],
@ -1096,33 +1096,33 @@
"mod_rack": { "mod_rack": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Ruby", "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_rails": { "mod_rails": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_ssl": { "mod_ssl": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_wsgi": { "mod_wsgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Python", "Apache" ] "implies": [ "Python\\;confidence:50", "Apache" ]
}, },
"MoinMoin": { "MoinMoin": {
"cats": [ 8 ], "cats": [ 8 ],
"script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4",
"env": "^show_switch2gui$", "env": "^show_switch2gui$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Mojolicious": { "Mojolicious": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "x-powered-by": "mojolicious" }, "headers": { "x-powered-by": "mojolicious" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Mollom": { "Mollom": {
"cats": [ 16 ], "cats": [ 16 ],
@ -1136,7 +1136,7 @@
"Mongrel": { "Mongrel": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "Mongrel" }, "headers": { "Server": "Mongrel" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"MongoDB": { "MongoDB": {
"cats": [ 24 ] "cats": [ 24 ]
@ -1146,7 +1146,7 @@
"html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)", "html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)",
"headers": { "Set-Cookie": "MoodleSession" }, "headers": { "Set-Cookie": "MoodleSession" },
"env": "^moodle", "env": "^moodle",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Moogo": { "Moogo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1225,7 +1225,7 @@
"OpenCart": { "OpenCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart", "html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"openEngine": { "openEngine": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1235,12 +1235,12 @@
"cats": [ 19 ], "cats": [ 19 ],
"headers": { "Set-Cookie": "OpenGrok" }, "headers": { "Set-Cookie": "OpenGrok" },
"meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenGSE": { "OpenGSE": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "GSE" }, "headers": { "Server": "GSE" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenLayers": { "OpenLayers": {
"cats": [ 35 ], "cats": [ 35 ],
@ -1258,7 +1258,7 @@
"OpenText Web Solutions": { "OpenText Web Solutions": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!--[^>]+published by Open Text Web Solutions", "html": "<!--[^>]+published by Open Text Web Solutions",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Optimizely": { "Optimizely": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1320,7 +1320,7 @@
"phpAlbum": { "phpAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--phpalbum [\\.\\d\\s]+-->", "html": "<!--phpalbum [\\.\\d\\s]+-->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpBB": { "phpBB": {
"cats": [ 2 ], "cats": [ 2 ],
@ -1328,22 +1328,22 @@
"html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)", "html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)",
"env": "^(style_cookie_settings|phpbb_)", "env": "^(style_cookie_settings|phpbb_)",
"headers": { "Set-Cookie": "^phpbb" }, "headers": { "Set-Cookie": "^phpbb" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpCMS": { "phpCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"env": "^phpcms", "env": "^phpcms",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpDocumentor": { "phpDocumentor": {
"cats": [ 4 ], "cats": [ 4 ],
"html": "<!-- Generated by phpDocumentor", "html": "<!-- Generated by phpDocumentor",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"PHP-Fusion": { "PHP-Fusion": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "Powered by <a href=\\\"[^>]+php-fusion", "html": "Powered by <a href=\\\"[^>]+php-fusion",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpMyAdmin": { "phpMyAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
@ -1358,18 +1358,18 @@
"phpPgAdmin": { "phpPgAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)", "html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpSQLiteCMS": { "phpSQLiteCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^phpSQLiteCMS" }, "meta": { "generator": "^phpSQLiteCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpwind": { "phpwind": {
"cats": [ 1, 2 ], "cats": [ 1, 2 ],
"meta": { "generator": "^phpwind" }, "meta": { "generator": "^phpwind" },
"html": "Powered by <a href=\\\".+phpwind\\.net", "html": "Powered by <a href=\\\".+phpwind\\.net",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Piwik": { "Piwik": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1394,7 +1394,7 @@
"Plone": { "Plone": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Plone" }, "meta": { "generator": "Plone" },
"implies": [ "Python" ] "implies": "Python"
}, },
"Plura": { "Plura": {
"cats": [ 19 ], "cats": [ 19 ],
@ -1417,7 +1417,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "generator": "PrestaShop" }, "meta": { "generator": "PrestaShop" },
"html": "Powered by <a href=\\\"[^>]+PrestaShop", "html": "Powered by <a href=\\\"[^>]+PrestaShop",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Prototype": { "Prototype": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1432,7 +1432,7 @@
"punBB": { "punBB": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "Powered by <a href=\\\"[^>]+punbb", "html": "Powered by <a href=\\\"[^>]+punbb",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Python": { "Python": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1450,7 +1450,7 @@
"RackCache": { "RackCache": {
"cats": [ 23 ], "cats": [ 23 ],
"headers": { "X-Rack-Cache": ".+" }, "headers": { "X-Rack-Cache": ".+" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Raphael": { "Raphael": {
"cats": [ 25 ], "cats": [ 25 ],
@ -1461,7 +1461,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"html": "<html[^>]+xmlns:change=", "html": "<html[^>]+xmlns:change=",
"meta": { "generator": "RBS Change" }, "meta": { "generator": "RBS Change" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"RCMS": { "RCMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1482,13 +1482,13 @@
"html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)",
"url": "^(www\\.)?reddit\\.com", "url": "^(www\\.)?reddit\\.com",
"env": "^reddit$", "env": "^reddit$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Redmine": { "Redmine": {
"cats": [ 13 ], "cats": [ 13 ],
"meta": { "description": "Redmine" }, "meta": { "description": "Redmine" },
"html": "Powered by <a href=\\\"[^>]+Redmine", "html": "Powered by <a href=\\\"[^>]+Redmine",
"implies": [ "Ruby on Rails" ] "implies": "Ruby on Rails"
}, },
"Reinvigorate": { "Reinvigorate": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1503,7 +1503,7 @@
"cats": [ 30 ], "cats": [ 30 ],
"html": "<title>RoundCube", "html": "<title>RoundCube",
"env": "^(rcmail|rcube_|roundcube)", "env": "^(rcmail|rcube_|roundcube)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ruby": { "Ruby": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1514,7 +1514,7 @@
"script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50", "script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
"meta": { "csrf-param": "authenticity_token\\;confidence:50" }, "meta": { "csrf-param": "authenticity_token\\;confidence:50" },
"headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" }, "headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"S.Builder": { "S.Builder": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1528,7 +1528,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" }, "meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" },
"headers": { "X-Spip-Cache": ".*" }, "headers": { "X-Spip-Cache": ".*" },
"implies": [ "SPIP" ] "implies": "SPIP"
}, },
"script.aculo.us": { "script.aculo.us": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1565,7 +1565,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "application-name": "Shopware" }, "meta": { "application-name": "Shopware" },
"script": "shopware\\.js", "script": "shopware\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sIFR": { "sIFR": {
"cats": [ 17 ], "cats": [ 17 ],
@ -1597,7 +1597,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<script [^>]+\\s+var smf_", "html": "<script [^>]+\\s+var smf_",
"env": "^smf_", "env": "^smf_",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sNews": { "sNews": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1611,13 +1611,13 @@
"SOBI 2": { "SOBI 2": {
"cats": [ 19 ], "cats": [ 19 ],
"html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)", "html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SobiPro": { "SobiPro": {
"cats": [ 19 ], "cats": [ 19 ],
"env": "^SobiProUrl$", "env": "^SobiProUrl$",
"html": " <(script|link)[^>].*com_sobipro.*>", "html": " <(script|link)[^>].*com_sobipro.*>",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SoundManager": { "SoundManager": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1630,7 +1630,7 @@
"Sphinx": { "Sphinx": {
"cats": [ 4 ], "cats": [ 4 ],
"env": "^DOCUMENTATION_OPTIONS$", "env": "^DOCUMENTATION_OPTIONS$",
"implies": [ "Python" ] "implies": "Python"
}, },
"SPIP": { "SPIP": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1652,7 +1652,7 @@
"meta": { "generator": "Squiz Matrix" }, "meta": { "generator": "Squiz Matrix" },
"html": " Running (MySource|Squiz) Matrix", "html": " Running (MySource|Squiz) Matrix",
"headers": { "X-Powered-By": "Squiz Matrix" }, "headers": { "X-Powered-By": "Squiz Matrix" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"StatCounter": { "StatCounter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1693,7 +1693,7 @@
"meta": { "generator": "Swiftlet" }, "meta": { "generator": "Swiftlet" },
"html": "Powered by <a href=\\\"[^>]+Swiftlet", "html": "Powered by <a href=\\\"[^>]+Swiftlet",
"headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" }, "headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Textpattern CMS": { "Textpattern CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1730,7 +1730,7 @@
"Trac": { "Trac": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "<a id=\\\"tracpowered", "html": "<a id=\\\"tracpowered",
"implies": [ "Python" ] "implies": "Python"
}, },
"Tumblr": { "Tumblr": {
"cats": [ 11 ], "cats": [ 11 ],
@ -1764,12 +1764,12 @@
"meta": { "generator": "TYPO3" }, "meta": { "generator": "TYPO3" },
"html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)", "html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)",
"url": "/typo3/", "url": "/typo3/",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ubercart": { "Ubercart": {
"cats": [ 6 ], "cats": [ 6 ],
"script": "uc_cart/uc_cart_block\\.js", "script": "uc_cart/uc_cart_block\\.js",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Ubuntu": { "Ubuntu": {
"cats": [ 28 ], "cats": [ 28 ],
@ -1780,7 +1780,7 @@
"meta": { "generator": "umbraco" }, "meta": { "generator": "umbraco" },
"headers": { "X-Umbraco-Version": ".+" }, "headers": { "X-Umbraco-Version": ".+" },
"html": "powered by <a href=[^>]+umbraco", "html": "powered by <a href=[^>]+umbraco",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Underscore.js": { "Underscore.js": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1803,7 +1803,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<body id=\\\"(DiscussionsPage|vanilla)", "html": "<body id=\\\"(DiscussionsPage|vanilla)",
"headers": { "X-Powered-By": "Vanilla" }, "headers": { "X-Powered-By": "Vanilla" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Varnish": { "Varnish": {
"cats": [ 23 ], "cats": [ 23 ],
@ -1813,7 +1813,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"meta": { "generator": "vBulletin" }, "meta": { "generator": "vBulletin" },
"env": "^(vBulletin|vB_[^g])", "env": "^(vBulletin|vB_[^g])",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"VideoJS": { "VideoJS": {
"cats": [ 14 ], "cats": [ 14 ],
@ -1858,7 +1858,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"script": "vs350\\.js", "script": "vs350\\.js",
"html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>", "html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"W3Counter": { "W3Counter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1867,7 +1867,7 @@
"W3 Total Cache": { "W3 Total Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+W3 Total Cache", "html": "<!--[^>]+W3 Total Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Web Optimizer": { "Web Optimizer": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1892,7 +1892,7 @@
"WebsiteBaker": { "WebsiteBaker": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "WebsiteBaker" }, "meta": { "generator": "WebsiteBaker" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WebsPlanet": { "WebsPlanet": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1938,12 +1938,12 @@
"meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" },
"html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content", "html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content",
"env": "^wp_username$", "env": "^wp_username$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WordPress Super Cache": { "WordPress Super Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+WP-Super-Cache", "html": "<!--[^>]+WP-Super-Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Xajax": { "Xajax": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1970,7 +1970,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "XOOPS" }, "meta": { "generator": "XOOPS" },
"env": "^xoops", "env": "^xoops",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"xtCommerce": { "xtCommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -2023,13 +2023,13 @@
"Zinnia": { "Zinnia": {
"cats": [ 11 ], "cats": [ 11 ],
"meta": { "generator": "Zinnia" }, "meta": { "generator": "Zinnia" },
"implies": [ "Django" ] "implies": "Django"
}, },
"ZK": { "ZK": {
"cats": [ 18 ], "cats": [ 18 ],
"script": "zkau/", "script": "zkau/",
"html": "<!-- ZK [\\.\\d\\s]+-->", "html": "<!-- ZK [\\.\\d\\s]+-->",
"implies": [ "Java" ] "implies": "Java"
} }
} }
} }

@ -81,7 +81,7 @@ var wappalyzer = (function() {
if ( matches ) { if ( matches ) {
matches.map(function(match, i) { matches.map(function(match, i) {
version = version.replace('\\' + i, match); version = version.replace('\\' + i, match ? match : '');
}); });
self.versions.push(version); self.versions.push(version);
@ -133,6 +133,8 @@ var wappalyzer = (function() {
attrs[attr[0]] = attr[1]; attrs[attr[0]] = attr[1];
} }
} else { } else {
attrs.string = attr;
try { try {
attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression
} catch (e) { } catch (e) {
@ -372,20 +374,27 @@ var wappalyzer = (function() {
confidence = apps[app].confidence; confidence = apps[app].confidence;
if ( w.apps[app] && w.apps[app].implies ) { if ( w.apps[app] && w.apps[app].implies ) {
// Cast strings to an array
if ( typeof w.apps[app].implies === 'string' ) {
w.apps[app].implies = [ w.apps[app].implies ];
}
w.apps[app].implies.map(function(implied) { w.apps[app].implies.map(function(implied) {
if ( !w.apps[implied] ) { implied = parse(implied)[0];
w.log('Implied application ' + implied + ' does not exist');
if ( !w.apps[implied.string] ) {
w.log('Implied application ' + implied.string + ' does not exist');
return; return;
} }
// Apply app confidence to implied app if ( !apps.hasOwnProperty(implied.string) ) {
if ( !apps.hasOwnProperty(implied) ) { apps[implied.string] = new Application(implied.string, true);
apps[implied] = new Application(implied, true);
} }
// Apply app confidence to implied app
for ( id in confidence ) { for ( id in confidence ) {
apps[implied].confidence[id + ' implied by ' + app] = confidence[id]; apps[implied.string].confidence[id + ' implied by ' + app] = confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 );
} }
}); });
} }

@ -43,12 +43,12 @@
"headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" }, "headers": { "X-Powered-CMS": "Bitrix Site Manager", "Set-Cookie": "BITRIX_" },
"html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)", "html": "<link[^>]+components/bitrix|(src|href)=\\\"/bitrix/(js|templates)",
"script": "1c-bitrix", "script": "1c-bitrix",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"1und1": { "1und1": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/shop/catalog/browse\\?sessid=", "url": "/shop/catalog/browse\\?sessid=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"2z Project": { "2z Project": {
"cats": [ 1 ], "cats": [ 1 ],
@ -62,7 +62,7 @@
"Accessible Portal": { "Accessible Portal": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Accessible Portal" }, "meta": { "generator": "Accessible Portal" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AddThis": { "AddThis": {
"cats": [ 5 ], "cats": [ 5 ],
@ -73,7 +73,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"url": "/etc/designs/", "url": "/etc/designs/",
"html": "<div class=\\\"[^\\\"]*parbase", "html": "<div class=\\\"[^\\\"]*parbase",
"implies": [ "Java" ] "implies": "Java"
}, },
"Adobe GoLive": { "Adobe GoLive": {
"cats": [ 20 ], "cats": [ 20 ],
@ -82,7 +82,7 @@
"Advanced Web Stats": { "Advanced Web Stats": {
"cats": [ 10 ], "cats": [ 10 ],
"html": "aws\\.src = [^<]+caphyon-analytics", "html": "aws\\.src = [^<]+caphyon-analytics",
"implies": [ "Java" ] "implies": "Java"
}, },
"Alloy": { "Alloy": {
"cats": [ 12 ], "cats": [ 12 ],
@ -96,19 +96,19 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(Ametys|Anyware Technologies)" }, "meta": { "generator": "(Ametys|Anyware Technologies)" },
"script": "STools\\.js", "script": "STools\\.js",
"implies": [ "Java" ] "implies": "Java"
}, },
"Amiro.CMS": { "Amiro.CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Amiro" }, "meta": { "generator": "Amiro" },
"html": "system_js\\.php\\?script=", "html": "system_js\\.php\\?script=",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AMPcms": { "AMPcms": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" }, "headers": { "X-AMP-Version": ".*", "Set-Cookie": "AMP=" },
"env": "^amp_js_init$", "env": "^amp_js_init$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"AngularJS": { "AngularJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -155,7 +155,7 @@
"html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2", "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence([^>]+>Atlassian Confluence</a> ([\\d\\.]+))?\\;version:\\2",
"headers": { "X-Confluence-Request-Time": ".*" }, "headers": { "X-Confluence-Request-Time": ".*" },
"meta": { "confluence-request-time": ".*" }, "meta": { "confluence-request-time": ".*" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Atlassian Jira": { "Atlassian Jira": {
"cats": [ 13 ], "cats": [ 13 ],
@ -163,29 +163,29 @@
"script": "/jira/s/", "script": "/jira/s/",
"url": "/secure/Dashboard.jspa", "url": "/secure/Dashboard.jspa",
"html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4",
"implies": [ "Java" ] "implies": "Java"
}, },
"AWStats": { "AWStats": {
"cats": [ 10 ], "cats": [ 10 ],
"meta": { "generator": "AWStats" }, "meta": { "generator": "AWStats" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Backbone.js": { "Backbone.js": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "backbone.*\\.js", "script": "backbone.*\\.js",
"env": "^Backbone$", "env": "^Backbone$",
"implies": [ "Underscore.js" ] "implies": "Underscore.js"
}, },
"Banshee": { "Banshee": {
"cats": [ 1, 18 ], "cats": [ 1, 18 ],
"html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org", "html": "Built upon the <a href=\\\"[^>]+banshee-php\\.org",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"BIGACE": { "BIGACE": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BIGACE" }, "meta": { "generator": "BIGACE" },
"html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE", "html": "Powered by <a href=\\\"[^>]+BIGACE|<!--\\s+Site is running BIGACE",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigcommerce": { "Bigcommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -197,14 +197,14 @@
"BigDump": { "BigDump": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer", "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Bigware": { "Bigware": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php", "html": "Diese <a href=.+bigware\\.de|<a href=.+/main_bigware_\\d+\\.php",
"url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)", "url": "(\\?|&)bigWAdminID=[a-z\\d]+(&|$)",
"headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" }, "headers": { "Set-Cookie": "bigwareCsid|bigWAdminID" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Blip.tv": { "Blip.tv": {
"cats": [ 14 ], "cats": [ 14 ],
@ -218,17 +218,17 @@
"BrowserCMS": { "BrowserCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "BrowserCMS" }, "meta": { "generator": "BrowserCMS" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Bugzilla": { "Bugzilla": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "href=\\\"enter_bug\\.cgi\\\">", "html": "href=\\\"enter_bug\\.cgi\\\">",
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Burning Board": { "Burning Board": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board", "html": "<a href=\\\"[^>]+woltlab\\.com.+Burning Board",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Business Catalyst": { "Business Catalyst": {
"cats": [ 1 ], "cats": [ 1 ],
@ -239,14 +239,14 @@
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "cakephp=" }, "headers": { "Set-Cookie": "cakephp=" },
"meta": { "application-name": "CakePHP" }, "meta": { "application-name": "CakePHP" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cargo": { "Cargo": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "cargo_title": ".*" }, "meta": { "cargo_title": ".*" },
"script": "/cargo\\.", "script": "/cargo\\.",
"html": "<link [^>]+Cargo feed", "html": "<link [^>]+Cargo feed",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CentOS": { "CentOS": {
"cats": [ 28 ], "cats": [ 28 ],
@ -268,7 +268,7 @@
"cats": [ 21 ], "cats": [ 21 ],
"meta": { "generator": "Chamilo" }, "meta": { "generator": "Chamilo" },
"headers": { "X-Powered-By": "Chamilo" }, "headers": { "X-Powered-By": "Chamilo" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Chartbeat": { "Chartbeat": {
"cats": [ 10 ], "cats": [ 10 ],
@ -281,13 +281,13 @@
"CKEditor": { "CKEditor": {
"cats": [ 24 ], "cats": [ 24 ],
"env": "^CKEDITOR$", "env": "^CKEDITOR$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickHeat": { "ClickHeat": {
"cats": [ 10 ], "cats": [ 10 ],
"script": "clickheat.*\\.js", "script": "clickheat.*\\.js",
"env": "^clickHeatBrowser$", "env": "^clickHeatBrowser$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ClickTale": { "ClickTale": {
"cats": [ 10 ], "cats": [ 10 ],
@ -307,12 +307,12 @@
"CMS Made Simple": { "CMS Made Simple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMS Made Simple" }, "meta": { "generator": "CMS Made Simple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CMSimple": { "CMSimple": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "CMSimple( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CO2Stats": { "CO2Stats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -321,7 +321,7 @@
"CodeIgniter": { "CodeIgniter": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker|ci_session)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Commerce Server": { "Commerce Server": {
"cats": [ 6 ], "cats": [ 6 ],
@ -338,22 +338,22 @@
"script": "concrete/js/", "script": "concrete/js/",
"meta": { "generator": "concrete5" }, "meta": { "generator": "concrete5" },
"env": "^CCM_IMAGE_PATH$", "env": "^CCM_IMAGE_PATH$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Connect": { "Connect": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "^Connect$" }, "headers": { "X-Powered-By": "^Connect$" },
"implies": [ "node.js" ] "implies": "node.js"
}, },
"Contao": { "Contao": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)", "html": "(<!--.+powered by (TYPOlight|Contao)-->|<link[^>]+(typolight|contao)\\.css)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contenido": { "Contenido": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Contenido" }, "meta": { "generator": "Contenido" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Contens": { "Contens": {
"cats": [ 1 ], "cats": [ 1 ],
@ -367,7 +367,7 @@
"Coppermine": { "Coppermine": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--Coppermine Photo Gallery", "html": "<!--Coppermine Photo Gallery",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cosmoshop": { "Cosmoshop": {
"cats": [ 6 ], "cats": [ 6 ],
@ -376,7 +376,7 @@
"Cotonti": { "Cotonti": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Cotonti" }, "meta": { "generator": "Cotonti" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CouchDB": { "CouchDB": {
"cats": [ 22 ], "cats": [ 22 ],
@ -391,7 +391,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "X-Powered-By": "Dragonfly CMS" }, "headers": { "X-Powered-By": "Dragonfly CMS" },
"meta": { "generator": "CPG Dragonfly" }, "meta": { "generator": "CPG Dragonfly" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Crazy Egg": { "Crazy Egg": {
"cats": [ 10 ], "cats": [ 10 ],
@ -407,13 +407,13 @@
"cats": [ 6 ], "cats": [ 6 ],
"env": "^fn_compare_strings$", "env": "^fn_compare_strings$",
"html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)", "html": "&nbsp;Powered by (<a href=[^>]+cs-cart\\.com|CS-Cart)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"CubeCart": { "CubeCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "html": "(Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)",
"meta": { "generator": "cubecart" }, "meta": { "generator": "cubecart" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Cufon": { "Cufon": {
"cats": [ 17 ], "cats": [ 17 ],
@ -427,7 +427,7 @@
"Dancer": { "Dancer": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" }, "headers": { "X-Powered-By": "Perl Dancer", "Server": "Perl Dancer" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Danneo CMS": { "Danneo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -457,7 +457,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"env": "^Dede", "env": "^Dede",
"script": "dedeajax", "script": "dedeajax",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Demandware": { "Demandware": {
"cats": [ 6 ], "cats": [ 6 ],
@ -483,13 +483,13 @@
"Django": { "Django": {
"cats": [ 18 ], "cats": [ 18 ],
"html": "powered by <a[^>]+>Django", "html": "powered by <a[^>]+>Django",
"implies": [ "Python" ] "implies": "Python"
}, },
"Django CMS": { "Django CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "media/cms/js/csrf\\.js", "script": "media/cms/js/csrf\\.js",
"headers": { "Set-Cookie": "django" }, "headers": { "Set-Cookie": "django" },
"implies": [ "Django" ] "implies": "Django"
}, },
"Dojo": { "Dojo": {
"cats": [ 12 ], "cats": [ 12 ],
@ -507,7 +507,7 @@
"cats": [ 8 ], "cats": [ 8 ],
"meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" }, "meta": { "generator": "DokuWiki( Release [\\-\\d]+)?\\;version:\\1" },
"headers": { "Set-Cookie": "DokuWiki=" }, "headers": { "Set-Cookie": "DokuWiki=" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"DotNetNuke": { "DotNetNuke": {
"cats": [ 1 ], "cats": [ 1 ],
@ -515,7 +515,7 @@
"headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" }, "headers": { "X-Compressed-By": "DotNetNuke", "Set-Cookie": "DotNetNukeAnonymous=.+" },
"html": "<!-- by DotNetNuke Corporation", "html": "<!-- by DotNetNuke Corporation",
"env": "^DotNetNuke$", "env": "^DotNetNuke$",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Doxygen": { "Doxygen": {
"cats": [ 4 ], "cats": [ 4 ],
@ -531,23 +531,23 @@
"html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/", "html": "<(link|style)[^>]+sites/(default|all)/(themes|modules)/",
"headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" },
"env": "^Drupal$", "env": "^Drupal$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Drupal Commerce": { "Drupal Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field", "html": "id=\\\"block[_-]commerce[_-]cart[_-]cart|class=\\\"commerce[_-]product[_-]field",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Dynamicweb": { "Dynamicweb": {
"cats": [ 1, 6, 10 ], "cats": [ 1, 6, 10 ],
"meta": { "generator": "Dynamicweb" }, "meta": { "generator": "Dynamicweb" },
"headers": { "Set-Cookie": "Dynamicweb=" }, "headers": { "Set-Cookie": "Dynamicweb=" },
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"e107": { "e107": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "e107\\.js", "script": "e107\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"EdgeCast": { "EdgeCast": {
"cats": [ 31 ], "cats": [ 31 ],
@ -565,7 +565,7 @@
"EPrints": { "EPrints": {
"cats": [ 19 ], "cats": [ 19 ],
"meta": { "generator": "EPrints" }, "meta": { "generator": "EPrints" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Exhibit": { "Exhibit": {
"cats": [ 25 ], "cats": [ 25 ],
@ -580,7 +580,7 @@
"ExpressionEngine": { "ExpressionEngine": {
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" }, "headers": { "Set-Cookie": "(exp_last_activity|exp_tracker)" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ExtJS": { "ExtJS": {
"cats": [ 12 ], "cats": [ 12 ],
@ -591,7 +591,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"meta": { "generator": "eZ Publish" }, "meta": { "generator": "eZ Publish" },
"headers": { "X-Powered-By": "^eZ Publish" }, "headers": { "X-Powered-By": "^eZ Publish" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Fact Finder": { "Fact Finder": {
"cats": [ 29 ], "cats": [ 29 ],
@ -642,7 +642,7 @@
"Gambio": { "Gambio": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->", "html": "<link[^>]* href=\\\"templates/gambio/|<a[^>]content\\.php\\?coID=\\d|<!-- gambio eof -->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Gauges": { "Gauges": {
"cats": [ 10 ], "cats": [ 10 ],
@ -660,7 +660,7 @@
"GetSimple CMS": { "GetSimple CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "GetSimple" }, "meta": { "generator": "GetSimple" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"GoAhead": { "GoAhead": {
"cats": [ 22 ], "cats": [ 22 ],
@ -706,7 +706,7 @@
"Google Web Toolkit": { "Google Web Toolkit": {
"cats": [ 18 ], "cats": [ 18 ],
"env": "^__gwt_", "env": "^__gwt_",
"implies": [ "Java" ] "implies": "Java"
}, },
"GoStats": { "GoStats": {
"cats": [ 10 ], "cats": [ 10 ],
@ -758,7 +758,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"html": "(/sys_master/|/hybr/|/_ui/desktop/)", "html": "(/sys_master/|/hybr/|/_ui/desktop/)",
"headers": { "Set-Cookie": "_hybris" }, "headers": { "Set-Cookie": "_hybris" },
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM HTTP Server": { "IBM HTTP Server": {
"cats": [ 22 ], "cats": [ 22 ],
@ -768,29 +768,29 @@
"cats": [ 1 ], "cats": [ 1 ],
"headers": { "IBM-Web2-Location": ".*" }, "headers": { "IBM-Web2-Location": ".*" },
"url": "/wps/", "url": "/wps/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IBM WebSphere Commerce": { "IBM WebSphere Commerce": {
"cats": [ 6 ], "cats": [ 6 ],
"url": "/wcs/", "url": "/wcs/",
"implies": [ "Java" ] "implies": "Java"
}, },
"IIS": { "IIS": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" }, "headers": { "Server": "IIS\\/?([\\d\\.]+)?\\;version:\\1" },
"implies": [ "Windows Server" ] "implies": "Windows Server"
}, },
"ImpressCMS": { "ImpressCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"script": "include/linkexternal\\.js", "script": "include/linkexternal\\.js",
"meta": { "generator": "ImpressCMS" }, "meta": { "generator": "ImpressCMS" },
"headers": { "X-Powered-By": "ImpressCMS" }, "headers": { "X-Powered-By": "ImpressCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"ImpressPages": { "ImpressPages": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "ImpressPages" }, "meta": { "generator": "ImpressPages" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Indexhibit": { "Indexhibit": {
"cats": [ 1 ], "cats": [ 1 ],
@ -820,7 +820,7 @@
"JAlbum": { "JAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jalios": { "Jalios": {
"cats": [ 1 ], "cats": [ 1 ],
@ -838,17 +838,17 @@
"JavaServer Faces": { "JavaServer Faces": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"JavaServer Pages": { "JavaServer Pages": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Java Servlet": { "Java Servlet": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"Jirafe": { "Jirafe": {
"cats": [ 10, 32 ], "cats": [ 10, 32 ],
@ -871,7 +871,7 @@
"html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50", "html": "(<div[^>]+id=\\\"wrapper_r\\\"|<[^>]+(feed|components)/com_|<table[^>]+class=\\\"pill)\\;confidence:50",
"headers": { "X-Content-Encoded-By": "Joomla" }, "headers": { "X-Content-Encoded-By": "Joomla" },
"env": "^jcomments$", "env": "^jcomments$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"jqPlot": { "jqPlot": {
"cats": [ 25 ], "cats": [ 25 ],
@ -891,7 +891,7 @@
"jQuery Mobile": { "jQuery Mobile": {
"cats": [ 26 ], "cats": [ 26 ],
"script": "jquery\\.mobile.*\\.js", "script": "jquery\\.mobile.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"jQuery Sparklines": { "jQuery Sparklines": {
"cats": [ 25 ], "cats": [ 25 ],
@ -900,7 +900,7 @@
"jQuery UI": { "jQuery UI": {
"cats": [ 12 ], "cats": [ 12 ],
"script": "jquery-ui.*\\.js", "script": "jquery-ui.*\\.js",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"JS Charts": { "JS Charts": {
"cats": [ 25 ], "cats": [ 25 ],
@ -915,7 +915,7 @@
"cats": [ 19 ], "cats": [ 19 ],
"html": "<!-- JoomlaWorks \\\"K2\\\"", "html": "<!-- JoomlaWorks \\\"K2\\\"",
"env": "^K2RatingURL$", "env": "^K2RatingURL$",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"Kampyle": { "Kampyle": {
"cats": [ 10, 13 ], "cats": [ 10, 13 ],
@ -927,7 +927,7 @@
"cats": [ 18 ], "cats": [ 18 ],
"env": "^kendo$", "env": "^kendo$",
"html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]", "html": "<link[^>]*\\s+href=['\"]?[^'\"\\s>]*styles/kendo\\.common(\\.min)?\\.css['\"\\s/>]",
"implies": [ "jQuery" ] "implies": "jQuery"
}, },
"Kentico CMS": { "Kentico CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -948,7 +948,7 @@
"Kohana": { "Kohana": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" }, "headers": { "Set-Cookie": "kohanasession", "X-Powered-By": "Kohana" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Kolibri CMS": { "Kolibri CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -957,7 +957,7 @@
"Komodo CMS": { "Komodo CMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^Komodo CMS" }, "meta": { "generator": "^Komodo CMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Koobi": { "Koobi": {
"cats": [ 1 ], "cats": [ 1 ],
@ -966,7 +966,7 @@
"LEPTON": { "LEPTON": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "LEPTON" }, "meta": { "generator": "LEPTON" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Liferay": { "Liferay": {
"cats": [ 1 ], "cats": [ 1 ],
@ -976,7 +976,7 @@
"LightMon Engine": { "LightMon Engine": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!-- Lightmon Engine Copyright Lightmon", "html": "<!-- Lightmon Engine Copyright Lightmon",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"lighttpd": { "lighttpd": {
"cats": [ 22 ], "cats": [ 22 ],
@ -1009,7 +1009,7 @@
"script": "(js/mage|skin/frontend/(default|enterprise))", "script": "(js/mage|skin/frontend/(default|enterprise))",
"headers": { "Set-Cookie": "frontend=\\;confidence:50" }, "headers": { "Set-Cookie": "frontend=\\;confidence:50" },
"env": "^(Mage|VarienForm)$", "env": "^(Mage|VarienForm)$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Mambo": { "Mambo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1081,12 +1081,12 @@
"html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/", "html": "<a[^>]+>Powered by MODx</a>|<(link|script)[^>]+assets/snippets/",
"env": "^MODX_MEDIA_PATH$", "env": "^MODX_MEDIA_PATH$",
"headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"mod_fastcgi": { "mod_fastcgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_python": { "mod_python": {
"cats": [ 33 ], "cats": [ 33 ],
@ -1096,33 +1096,33 @@
"mod_rack": { "mod_rack": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rack(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rack(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Ruby", "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_rails": { "mod_rails": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_rails(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_rails(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": [ "Ruby on Rails\\;confidence:50", "Apache" ]
}, },
"mod_ssl": { "mod_ssl": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Apache" ] "implies": "Apache"
}, },
"mod_wsgi": { "mod_wsgi": {
"cats": [ 33 ], "cats": [ 33 ],
"headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Python", "Apache" ] "implies": [ "Python\\;confidence:50", "Apache" ]
}, },
"MoinMoin": { "MoinMoin": {
"cats": [ 8 ], "cats": [ 8 ],
"script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4",
"env": "^show_switch2gui$", "env": "^show_switch2gui$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Mojolicious": { "Mojolicious": {
"cats": [ 18 ], "cats": [ 18 ],
"headers": { "x-powered-by": "mojolicious" }, "headers": { "x-powered-by": "mojolicious" },
"implies": [ "Perl" ] "implies": "Perl"
}, },
"Mollom": { "Mollom": {
"cats": [ 16 ], "cats": [ 16 ],
@ -1136,7 +1136,7 @@
"Mongrel": { "Mongrel": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "Mongrel" }, "headers": { "Server": "Mongrel" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"MongoDB": { "MongoDB": {
"cats": [ 24 ] "cats": [ 24 ]
@ -1146,7 +1146,7 @@
"html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)", "html": "(var moodleConfigFn = function\\(me\\)|<img[^>]+moodlelogo)",
"headers": { "Set-Cookie": "MoodleSession" }, "headers": { "Set-Cookie": "MoodleSession" },
"env": "^moodle", "env": "^moodle",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Moogo": { "Moogo": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1225,7 +1225,7 @@
"OpenCart": { "OpenCart": {
"cats": [ 6 ], "cats": [ 6 ],
"html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart", "html": "index\\.php\\?route=[a-z]+/|Powered By <a href=\\\"[^>]+OpenCart",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"openEngine": { "openEngine": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1235,12 +1235,12 @@
"cats": [ 19 ], "cats": [ 19 ],
"headers": { "Set-Cookie": "OpenGrok" }, "headers": { "Set-Cookie": "OpenGrok" },
"meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenGSE": { "OpenGSE": {
"cats": [ 22 ], "cats": [ 22 ],
"headers": { "Server": "GSE" }, "headers": { "Server": "GSE" },
"implies": [ "Java" ] "implies": "Java"
}, },
"OpenLayers": { "OpenLayers": {
"cats": [ 35 ], "cats": [ 35 ],
@ -1258,7 +1258,7 @@
"OpenText Web Solutions": { "OpenText Web Solutions": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "<!--[^>]+published by Open Text Web Solutions", "html": "<!--[^>]+published by Open Text Web Solutions",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Optimizely": { "Optimizely": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1320,7 +1320,7 @@
"phpAlbum": { "phpAlbum": {
"cats": [ 7 ], "cats": [ 7 ],
"html": "<!--phpalbum [\\.\\d\\s]+-->", "html": "<!--phpalbum [\\.\\d\\s]+-->",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpBB": { "phpBB": {
"cats": [ 2 ], "cats": [ 2 ],
@ -1328,22 +1328,22 @@
"html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)", "html": "(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles/(sub|pro)silver/theme|<img[^>]+i_icon_mini|<table class=\\\"forumline)",
"env": "^(style_cookie_settings|phpbb_)", "env": "^(style_cookie_settings|phpbb_)",
"headers": { "Set-Cookie": "^phpbb" }, "headers": { "Set-Cookie": "^phpbb" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpCMS": { "phpCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"env": "^phpcms", "env": "^phpcms",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpDocumentor": { "phpDocumentor": {
"cats": [ 4 ], "cats": [ 4 ],
"html": "<!-- Generated by phpDocumentor", "html": "<!-- Generated by phpDocumentor",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"PHP-Fusion": { "PHP-Fusion": {
"cats": [ 1 ], "cats": [ 1 ],
"html": "Powered by <a href=\\\"[^>]+php-fusion", "html": "Powered by <a href=\\\"[^>]+php-fusion",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpMyAdmin": { "phpMyAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
@ -1358,18 +1358,18 @@
"phpPgAdmin": { "phpPgAdmin": {
"cats": [ 3 ], "cats": [ 3 ],
"html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)", "html": "(<title>phpPgAdmin</title>|<span class=\\\"appname\\\">phpPgAdmin)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpSQLiteCMS": { "phpSQLiteCMS": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "^phpSQLiteCMS" }, "meta": { "generator": "^phpSQLiteCMS" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"phpwind": { "phpwind": {
"cats": [ 1, 2 ], "cats": [ 1, 2 ],
"meta": { "generator": "^phpwind" }, "meta": { "generator": "^phpwind" },
"html": "Powered by <a href=\\\".+phpwind\\.net", "html": "Powered by <a href=\\\".+phpwind\\.net",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Piwik": { "Piwik": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1394,7 +1394,7 @@
"Plone": { "Plone": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "Plone" }, "meta": { "generator": "Plone" },
"implies": [ "Python" ] "implies": "Python"
}, },
"Plura": { "Plura": {
"cats": [ 19 ], "cats": [ 19 ],
@ -1417,7 +1417,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "generator": "PrestaShop" }, "meta": { "generator": "PrestaShop" },
"html": "Powered by <a href=\\\"[^>]+PrestaShop", "html": "Powered by <a href=\\\"[^>]+PrestaShop",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Prototype": { "Prototype": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1432,7 +1432,7 @@
"punBB": { "punBB": {
"cats": [ 2 ], "cats": [ 2 ],
"html": "Powered by <a href=\\\"[^>]+punbb", "html": "Powered by <a href=\\\"[^>]+punbb",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Python": { "Python": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1450,7 +1450,7 @@
"RackCache": { "RackCache": {
"cats": [ 23 ], "cats": [ 23 ],
"headers": { "X-Rack-Cache": ".+" }, "headers": { "X-Rack-Cache": ".+" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"Raphael": { "Raphael": {
"cats": [ 25 ], "cats": [ 25 ],
@ -1461,7 +1461,7 @@
"cats": [ 1, 6 ], "cats": [ 1, 6 ],
"html": "<html[^>]+xmlns:change=", "html": "<html[^>]+xmlns:change=",
"meta": { "generator": "RBS Change" }, "meta": { "generator": "RBS Change" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"RCMS": { "RCMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1482,13 +1482,13 @@
"html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)", "html": "(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)",
"url": "^(www\\.)?reddit\\.com", "url": "^(www\\.)?reddit\\.com",
"env": "^reddit$", "env": "^reddit$",
"implies": [ "Python" ] "implies": "Python"
}, },
"Redmine": { "Redmine": {
"cats": [ 13 ], "cats": [ 13 ],
"meta": { "description": "Redmine" }, "meta": { "description": "Redmine" },
"html": "Powered by <a href=\\\"[^>]+Redmine", "html": "Powered by <a href=\\\"[^>]+Redmine",
"implies": [ "Ruby on Rails" ] "implies": "Ruby on Rails"
}, },
"Reinvigorate": { "Reinvigorate": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1503,7 +1503,7 @@
"cats": [ 30 ], "cats": [ 30 ],
"html": "<title>RoundCube", "html": "<title>RoundCube",
"env": "^(rcmail|rcube_|roundcube)", "env": "^(rcmail|rcube_|roundcube)",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ruby": { "Ruby": {
"cats": [ 27 ], "cats": [ 27 ],
@ -1514,7 +1514,7 @@
"script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50", "script": "/assets/application-[a-z\\d]{32}/\\.js\\;confidence:50",
"meta": { "csrf-param": "authenticity_token\\;confidence:50" }, "meta": { "csrf-param": "authenticity_token\\;confidence:50" },
"headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" }, "headers": { "Server": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50", "X-Powered-By": "(mod_rails|mod_rack|Phusion(\\.|_)Passenger)\\;confidence:50" },
"implies": [ "Ruby" ] "implies": "Ruby"
}, },
"S.Builder": { "S.Builder": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1528,7 +1528,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" }, "meta": { "generator": "(^|\\s)Sarka-SPIP(\\s([\\d\\.]+(\\s\\[\\d+\\])?))?\\;version:\\3" },
"headers": { "X-Spip-Cache": ".*" }, "headers": { "X-Spip-Cache": ".*" },
"implies": [ "SPIP" ] "implies": "SPIP"
}, },
"script.aculo.us": { "script.aculo.us": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1565,7 +1565,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"meta": { "application-name": "Shopware" }, "meta": { "application-name": "Shopware" },
"script": "shopware\\.js", "script": "shopware\\.js",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sIFR": { "sIFR": {
"cats": [ 17 ], "cats": [ 17 ],
@ -1597,7 +1597,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<script [^>]+\\s+var smf_", "html": "<script [^>]+\\s+var smf_",
"env": "^smf_", "env": "^smf_",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"sNews": { "sNews": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1611,13 +1611,13 @@
"SOBI 2": { "SOBI 2": {
"cats": [ 19 ], "cats": [ 19 ],
"html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)", "html": "(<!-- start of Sigsiu Online Business Index|<div[^>]* class=\\\"sobi2)",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SobiPro": { "SobiPro": {
"cats": [ 19 ], "cats": [ 19 ],
"env": "^SobiProUrl$", "env": "^SobiProUrl$",
"html": " <(script|link)[^>].*com_sobipro.*>", "html": " <(script|link)[^>].*com_sobipro.*>",
"implies": [ "Joomla" ] "implies": "Joomla"
}, },
"SoundManager": { "SoundManager": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1630,7 +1630,7 @@
"Sphinx": { "Sphinx": {
"cats": [ 4 ], "cats": [ 4 ],
"env": "^DOCUMENTATION_OPTIONS$", "env": "^DOCUMENTATION_OPTIONS$",
"implies": [ "Python" ] "implies": "Python"
}, },
"SPIP": { "SPIP": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1652,7 +1652,7 @@
"meta": { "generator": "Squiz Matrix" }, "meta": { "generator": "Squiz Matrix" },
"html": " Running (MySource|Squiz) Matrix", "html": " Running (MySource|Squiz) Matrix",
"headers": { "X-Powered-By": "Squiz Matrix" }, "headers": { "X-Powered-By": "Squiz Matrix" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"StatCounter": { "StatCounter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1693,7 +1693,7 @@
"meta": { "generator": "Swiftlet" }, "meta": { "generator": "Swiftlet" },
"html": "Powered by <a href=\\\"[^>]+Swiftlet", "html": "Powered by <a href=\\\"[^>]+Swiftlet",
"headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" }, "headers": { "X-Swiftlet-Cache": ".*", "X-Powered-By": "Swiftlet", "X-Generator": "Swiftlet" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Textpattern CMS": { "Textpattern CMS": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1730,7 +1730,7 @@
"Trac": { "Trac": {
"cats": [ 13 ], "cats": [ 13 ],
"html": "<a id=\\\"tracpowered", "html": "<a id=\\\"tracpowered",
"implies": [ "Python" ] "implies": "Python"
}, },
"Tumblr": { "Tumblr": {
"cats": [ 11 ], "cats": [ 11 ],
@ -1764,12 +1764,12 @@
"meta": { "generator": "TYPO3" }, "meta": { "generator": "TYPO3" },
"html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)", "html": "(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)",
"url": "/typo3/", "url": "/typo3/",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Ubercart": { "Ubercart": {
"cats": [ 6 ], "cats": [ 6 ],
"script": "uc_cart/uc_cart_block\\.js", "script": "uc_cart/uc_cart_block\\.js",
"implies": [ "Drupal" ] "implies": "Drupal"
}, },
"Ubuntu": { "Ubuntu": {
"cats": [ 28 ], "cats": [ 28 ],
@ -1780,7 +1780,7 @@
"meta": { "generator": "umbraco" }, "meta": { "generator": "umbraco" },
"headers": { "X-Umbraco-Version": ".+" }, "headers": { "X-Umbraco-Version": ".+" },
"html": "powered by <a href=[^>]+umbraco", "html": "powered by <a href=[^>]+umbraco",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"Underscore.js": { "Underscore.js": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1803,7 +1803,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"html": "<body id=\\\"(DiscussionsPage|vanilla)", "html": "<body id=\\\"(DiscussionsPage|vanilla)",
"headers": { "X-Powered-By": "Vanilla" }, "headers": { "X-Powered-By": "Vanilla" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"Varnish": { "Varnish": {
"cats": [ 23 ], "cats": [ 23 ],
@ -1813,7 +1813,7 @@
"cats": [ 2 ], "cats": [ 2 ],
"meta": { "generator": "vBulletin" }, "meta": { "generator": "vBulletin" },
"env": "^(vBulletin|vB_[^g])", "env": "^(vBulletin|vB_[^g])",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"VideoJS": { "VideoJS": {
"cats": [ 14 ], "cats": [ 14 ],
@ -1858,7 +1858,7 @@
"cats": [ 6 ], "cats": [ 6 ],
"script": "vs350\\.js", "script": "vs350\\.js",
"html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>", "html": "<a[^>]+>Powered By VP-ASP Shopping Cart</a>",
"implies": [ "Microsoft ASP.NET" ] "implies": "Microsoft ASP.NET"
}, },
"W3Counter": { "W3Counter": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1867,7 +1867,7 @@
"W3 Total Cache": { "W3 Total Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+W3 Total Cache", "html": "<!--[^>]+W3 Total Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Web Optimizer": { "Web Optimizer": {
"cats": [ 10 ], "cats": [ 10 ],
@ -1892,7 +1892,7 @@
"WebsiteBaker": { "WebsiteBaker": {
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "WebsiteBaker" }, "meta": { "generator": "WebsiteBaker" },
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WebsPlanet": { "WebsPlanet": {
"cats": [ 1 ], "cats": [ 1 ],
@ -1938,12 +1938,12 @@
"meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" }, "meta": { "generator": "WordPress( [\\d\\.]+)?\\;version:\\1" },
"html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content", "html": "<link rel=\\\"stylesheet\\\" [^>]+wp-content",
"env": "^wp_username$", "env": "^wp_username$",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"WordPress Super Cache": { "WordPress Super Cache": {
"cats": [ 23 ], "cats": [ 23 ],
"html": "<!--[^>]+WP-Super-Cache", "html": "<!--[^>]+WP-Super-Cache",
"implies": [ "WordPress" ] "implies": "WordPress"
}, },
"Xajax": { "Xajax": {
"cats": [ 12 ], "cats": [ 12 ],
@ -1970,7 +1970,7 @@
"cats": [ 1 ], "cats": [ 1 ],
"meta": { "generator": "XOOPS" }, "meta": { "generator": "XOOPS" },
"env": "^xoops", "env": "^xoops",
"implies": [ "PHP" ] "implies": "PHP"
}, },
"xtCommerce": { "xtCommerce": {
"cats": [ 6 ], "cats": [ 6 ],
@ -2023,13 +2023,13 @@
"Zinnia": { "Zinnia": {
"cats": [ 11 ], "cats": [ 11 ],
"meta": { "generator": "Zinnia" }, "meta": { "generator": "Zinnia" },
"implies": [ "Django" ] "implies": "Django"
}, },
"ZK": { "ZK": {
"cats": [ 18 ], "cats": [ 18 ],
"script": "zkau/", "script": "zkau/",
"html": "<!-- ZK [\\.\\d\\s]+-->", "html": "<!-- ZK [\\.\\d\\s]+-->",
"implies": [ "Java" ] "implies": "Java"
} }
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 353 B

@ -81,7 +81,7 @@ var wappalyzer = (function() {
if ( matches ) { if ( matches ) {
matches.map(function(match, i) { matches.map(function(match, i) {
version = version.replace('\\' + i, match); version = version.replace('\\' + i, match ? match : '');
}); });
self.versions.push(version); self.versions.push(version);
@ -133,6 +133,8 @@ var wappalyzer = (function() {
attrs[attr[0]] = attr[1]; attrs[attr[0]] = attr[1];
} }
} else { } else {
attrs.string = attr;
try { try {
attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression attrs.regex = new RegExp(attr.replace('/', '\\\/'), 'i'); // Escape slashes in regular expression
} catch (e) { } catch (e) {
@ -372,20 +374,27 @@ var wappalyzer = (function() {
confidence = apps[app].confidence; confidence = apps[app].confidence;
if ( w.apps[app] && w.apps[app].implies ) { if ( w.apps[app] && w.apps[app].implies ) {
// Cast strings to an array
if ( typeof w.apps[app].implies === 'string' ) {
w.apps[app].implies = [ w.apps[app].implies ];
}
w.apps[app].implies.map(function(implied) { w.apps[app].implies.map(function(implied) {
if ( !w.apps[implied] ) { implied = parse(implied)[0];
w.log('Implied application ' + implied + ' does not exist');
if ( !w.apps[implied.string] ) {
w.log('Implied application ' + implied.string + ' does not exist');
return; return;
} }
// Apply app confidence to implied app if ( !apps.hasOwnProperty(implied.string) ) {
if ( !apps.hasOwnProperty(implied) ) { apps[implied.string] = new Application(implied.string, true);
apps[implied] = new Application(implied, true);
} }
// Apply app confidence to implied app
for ( id in confidence ) { for ( id in confidence ) {
apps[implied].confidence[id + ' implied by ' + app] = confidence[id]; apps[implied.string].confidence[id + ' implied by ' + app] = confidence[id] * ( implied.confidence ? implied.confidence / 100 : 1 );
} }
}); });
} }