@ -42,7 +42,7 @@
'1C-Bitrix' : { cats : [ 1 ] , headers : { 'X-Powered-CMS' : /Bitrix Site Manager/ , 'Set-Cookie' : /BITRIX_/i } , html : /<link[^>]+components\/bitrix|(src|href)=("|')\/bitrix\/(js|templates)/i , script : /1c\-bitrix/i , implies : [ 'PHP' ] } ,
'1C-Bitrix' : { cats : [ 1 ] , headers : { 'X-Powered-CMS' : /Bitrix Site Manager/ , 'Set-Cookie' : /BITRIX_/i } , html : /<link[^>]+components\/bitrix|(src|href)=("|')\/bitrix\/(js|templates)/i , script : /1c\-bitrix/i , implies : [ 'PHP' ] } ,
'2z Project' : { cats : [ 1 ] , meta : { 'generator' : /2z project/i } } ,
'2z Project' : { cats : [ 1 ] , meta : { 'generator' : /2z project/i } } ,
'AddThis' : { cats : [ 5 ] , script : /addthis\.com\/js/ , env : /^addthis$/ } ,
'AddThis' : { cats : [ 5 ] , script : /addthis\.com\/js/ , env : /^addthis$/ } ,
'Adobe CQ5' : { cats : { 1 : 1 } , html : /<div class="[^"]*parbase/ } ,
'Adobe CQ5' : { cats : [ 1 ] , url : /\/etc\/designs\//i , html : /<div class="[^"]*parbase/ , implies : [ 'Java' ] } ,
'Adobe GoLive' : { cats : [ 20 ] , meta : { 'generator' : /Adobe GoLive/i } } ,
'Adobe GoLive' : { cats : [ 20 ] , meta : { 'generator' : /Adobe GoLive/i } } ,
'Advanced Web Stats' : { cats : [ 10 ] , html : /aws.src = [^<]+caphyon\-analytics/i , implies : [ 'Java' ] } ,
'Advanced Web Stats' : { cats : [ 10 ] , html : /aws.src = [^<]+caphyon\-analytics/i , implies : [ 'Java' ] } ,
'Ametys' : { cats : [ 1 ] , meta : { 'generator' : /(Ametys|Anyware Technologies)/i } , script : /STools.js/ , implies : [ 'Java' ] } ,
'Ametys' : { cats : [ 1 ] , meta : { 'generator' : /(Ametys|Anyware Technologies)/i } , script : /STools.js/ , implies : [ 'Java' ] } ,
@ -53,7 +53,7 @@
'Apache Traffic Server' : { cats : [ 22 ] , headers : { 'Server' : /YTS/i } } ,
'Apache Traffic Server' : { cats : [ 22 ] , headers : { 'Server' : /YTS/i } } ,
'Arc Forum' : { cats : [ 2 ] , html : /ping\.src = node\.href;/ } ,
'Arc Forum' : { cats : [ 2 ] , html : /ping\.src = node\.href;/ } ,
'ATG Web Commerce' : { cats : [ 6 ] , headers : { 'X-ATG-Version' : /ATG/i } , html : /<[^>]+_DARGS/ } ,
'ATG Web Commerce' : { cats : [ 6 ] , headers : { 'X-ATG-Version' : /ATG/i } , html : /<[^>]+_DARGS/ } ,
'Atlassian Confluence' : { cats : [ 8 ] , html : /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/confluence/i , implies : [ 'Java' ] } ,
'Atlassian Confluence' : { cats : [ 8 ] , html : /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/confluence/i , implies : [ 'Java' ] } ,
'Atlassian Jira' : { cats : [ 13 ] , env : /^jira$/i , html : /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/jira/i , implies : [ 'Java' ] } ,
'Atlassian Jira' : { cats : [ 13 ] , env : /^jira$/i , html : /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/jira/i , implies : [ 'Java' ] } ,
'Alloy' : { cats : [ 12 ] , env : /^AUI$/ } ,
'Alloy' : { cats : [ 12 ] , env : /^AUI$/ } ,
'AWStats' : { cats : [ 10 ] , meta : { 'generator' : /AWStats/i } , implies : [ 'Perl' ] } ,
'AWStats' : { cats : [ 10 ] , meta : { 'generator' : /AWStats/i } , implies : [ 'Perl' ] } ,
@ -61,7 +61,7 @@
'Backbone.js' : { cats : [ 12 ] , script : /backbone.*\.js/ , env : /^Backbone$/ , implies : [ 'Underscore.js' ] } ,
'Backbone.js' : { cats : [ 12 ] , script : /backbone.*\.js/ , env : /^Backbone$/ , implies : [ 'Underscore.js' ] } ,
'BIGACE' : { cats : [ 1 ] , meta : { 'generator' : /BIGACE/ } , html : /Powered by <a href=("|')[^>]+BIGACE|<!--\s+Site is running BIGACE/i , implies : [ 'PHP' ] } ,
'BIGACE' : { cats : [ 1 ] , meta : { 'generator' : /BIGACE/ } , html : /Powered by <a href=("|')[^>]+BIGACE|<!--\s+Site is running BIGACE/i , implies : [ 'PHP' ] } ,
'BigDump' : { cats : [ 3 ] , html : /<!-- <h1>BigDump: Staggered MySQL Dump Importer/ , implies : [ 'PHP' ] } ,
'BigDump' : { cats : [ 3 ] , html : /<!-- <h1>BigDump: Staggered MySQL Dump Importer/ , implies : [ 'PHP' ] } ,
'Bigware' : { cats : [ 6 ] , html : / <center>[^<]+<a href="http:\/\/www\.bigware\.de[^"]*" target="_blank">\s*<u>Shopsoftware\s*<\/u>\s*<\/a>[^<]+<\/center>/i, url : /(\?|&)bigWAdminID=[a-z0-9]+(&|$)/i , headers : { 'Set-Cookie' : /bigwareCsid|bigWAdminID/ } , implies : [ 'PHP' ] } ,
'Bigware' : { cats : [ 6 ] , html : / Diese <a href=("|')http:\/\/www\.bigware\.de("|')| <center>[^<]+<a href="http:\/\/www\.bigware\.de[^"]*" target="_blank">\s*<u>Shopsoftware\s*<\/u>\s*<\/a>[^<]+<\/center>/i, url : /(\?|&)bigWAdminID=[a-z0-9]+(&|$)/i , headers : { 'Set-Cookie' : /bigwareCsid|bigWAdminID/ } , implies : [ 'PHP' ] } ,
'blip.tv' : { cats : [ 14 ] , html : /<(param|embed)[^>]+blip\.tv\/play/i } ,
'blip.tv' : { cats : [ 14 ] , html : /<(param|embed)[^>]+blip\.tv\/play/i } ,
'Blogger' : { cats : [ 11 ] , meta : { 'generator' : /blogger/i } , url : /^(www.)?.+\.blogspot\.com/i } ,
'Blogger' : { cats : [ 11 ] , meta : { 'generator' : /blogger/i } , url : /^(www.)?.+\.blogspot\.com/i } ,
'BrowserCMS' : { cats : [ 1 ] , meta : { 'generator' : /BrowserCMS/i } , implies : [ 'Ruby' ] } ,
'BrowserCMS' : { cats : [ 1 ] , meta : { 'generator' : /BrowserCMS/i } , implies : [ 'Ruby' ] } ,
@ -71,6 +71,7 @@
'CakePHP' : { cats : [ 18 ] , headers : { 'Set-Cookie' : /cakephp=/i } , meta : { 'application-name' : /CakePHP/i } , implies : [ 'PHP' ] } ,
'CakePHP' : { cats : [ 18 ] , headers : { 'Set-Cookie' : /cakephp=/i } , meta : { 'application-name' : /CakePHP/i } , implies : [ 'PHP' ] } ,
'Cargo' : { cats : [ 1 ] , meta : { 'cargo_title' : /.*/ } , script : /\/cargo\./i , html : /<link [^>]+Cargo feed/ , implies : [ 'PHP' ] } ,
'Cargo' : { cats : [ 1 ] , meta : { 'cargo_title' : /.*/ } , script : /\/cargo\./i , html : /<link [^>]+Cargo feed/ , implies : [ 'PHP' ] } ,
'CentOS' : { cats : [ 28 ] , headers : { 'Server' : /CentOS/i , 'X-Powered-By' : /CentOS/i } } ,
'CentOS' : { cats : [ 28 ] , headers : { 'Server' : /CentOS/i , 'X-Powered-By' : /CentOS/i } } ,
'CFML' : { cats : [ 27 ] } ,
'Chameleon' : { cats : [ 1 ] , meta : { 'generator' : /chameleon\-cms/i } , implies : [ 'Apache' , 'PHP' ] } ,
'Chameleon' : { cats : [ 1 ] , meta : { 'generator' : /chameleon\-cms/i } , implies : [ 'Apache' , 'PHP' ] } ,
'Chartbeat' : { cats : [ 10 ] , html : /function loadChartbeat\(\) {/i } ,
'Chartbeat' : { cats : [ 10 ] , html : /function loadChartbeat\(\) {/i } ,
'Chamilo' : { cats : [ 21 ] , meta : { 'generator' : /Chamilo/i } , headers : { 'X-Powered-By' : /Chamilo/i } , implies : [ 'PHP' ] } ,
'Chamilo' : { cats : [ 21 ] , meta : { 'generator' : /Chamilo/i } , headers : { 'X-Powered-By' : /Chamilo/i } , implies : [ 'PHP' ] } ,
@ -82,54 +83,54 @@
'CMS Made Simple' : { cats : [ 1 ] , meta : { 'generator' : /CMS Made Simple/i } , implies : [ 'PHP' ] } ,
'CMS Made Simple' : { cats : [ 1 ] , meta : { 'generator' : /CMS Made Simple/i } , implies : [ 'PHP' ] } ,
'CO2Stats' : { cats : [ 10 ] , html : /src=("|')http:\/\/www\.co2stats\.com\/propres\.php/ } ,
'CO2Stats' : { cats : [ 10 ] , html : /src=("|')http:\/\/www\.co2stats\.com\/propres\.php/ } ,
'CodeIgniter' : { cats : [ 18 ] , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker|ci_session)/ } , implies : [ 'PHP' ] } ,
'CodeIgniter' : { cats : [ 18 ] , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker|ci_session)/ } , implies : [ 'PHP' ] } ,
'Commerce Server' : { cats : [ 6 ] , headers : { 'COMMERCE-SERVER-SOFTWARE' : /.+/ } } ,
'Commerce Server' : { cats : [ 6 ] , headers : { 'COMMERCE-SERVER-SOFTWARE' : /.+/ } , implies : [ 'Microsoft ASP.NET' , 'IIS' , 'Windows Server' ] } ,
'comScore' : { cats : [ 10 ] , html : /<i{1}frame[^>]* (id=("|')comscore("|')|scr=[^>]+comscore)/ , env : /^_?COMSCORE$/i } ,
'comScore' : { cats : [ 10 ] , html : /<i{1}frame[^>]* (id=("|')comscore("|')|scr=[^>]+comscore)/ , env : /^_?COMSCORE$/i } ,
'Concrete5' : { cats : [ 1 ] , meta : { 'generator' : /concrete5/i } } ,
'Concrete5' : { cats : [ 1 ] , meta : { 'generator' : /concrete5/i } , implies : [ 'PHP' ] } ,
'Contao' : { cats : [ 1 , 6 ] , html : /(<!--\s+This website is powered by (TYPOlight|Contao)|<link[^>]+(typolight|contao).css)/i , implies : [ 'PHP' ] } ,
'Contao' : { cats : [ 1 , 6 ] , html : /(<!--\s+This website is powered by (TYPOlight|Contao)|<link[^>]+(typolight|contao).css)/i , implies : [ 'PHP' ] } ,
'Contenido' : { cats : [ 1 ] , meta : { 'generator' : /Contenido/i } , implies : [ 'PHP' ] } ,
'Contenido' : { cats : [ 1 ] , meta : { 'generator' : /Contenido/i } , implies : [ 'PHP' ] } ,
'Contens' : { cats : [ 1 ] , meta : { 'generator' : /contens/i } } ,
'Contens' : { cats : [ 1 ] , meta : { 'generator' : /contens/i } , implies : [ 'Java' , 'CFML' ] } ,
'ConversionLab' : { cats : [ 10 ] , script : /conversionlab\.trackset\.com\/track\/tsend\.js/ } ,
'ConversionLab' : { cats : [ 10 ] , script : /conversionlab\.trackset\.com\/track\/tsend\.js/ } ,
'Coppermine' : { cats : [ 7 ] , html : /<!--Coppermine Photo Gallery/i , implies : [ 'PHP' ] } ,
'Coppermine' : { cats : [ 7 ] , html : /<!--Coppermine Photo Gallery/i , implies : [ 'PHP' ] } ,
'Cosmoshop' : { cats : [ 6 ] , script : /cosmoshop_functions\.js/ } ,
'Cosmoshop' : { cats : [ 6 ] , script : /cosmoshop_functions\.js/ } ,
'Cotonti' : { cats : [ 1 ] , meta : { 'generator' : /Cotonti/i } } ,
'Cotonti' : { cats : [ 1 ] , meta : { 'generator' : /Cotonti/i } , implies : [ 'PHP' ] } ,
'CouchDB' : { cats : [ 22 ] , headers : { 'Server' : /CouchDB/i } } ,
'CouchDB' : { cats : [ 22 ] , headers : { 'Server' : /CouchDB/i } } ,
'cPanel' : { cats : [ 9 ] , headers : { 'Server' : /cpsrvd/i } , html : /<!-- cPanel/i } ,
'cPanel' : { cats : [ 9 ] , headers : { 'Server' : /cpsrvd/i } , html : /<!-- cPanel/i } ,
'CPG Dragonfly' : { cats : [ 1 ] , meta: { 'generator' : /CPG Dragonfly/i } , implies : [ 'PHP' ] } ,
'CPG Dragonfly' : { cats : [ 1 ] , headers: { 'X-Powered-By' : /Dragonfly CMS/i } , meta: { 'generator' : /CPG Dragonfly/i } , implies : [ 'PHP' ] } ,
'Crazy Egg' : { cats : [ 10 ] , script: /cetrk\.com\/pages\/scripts\/[0-9]+\/[0-9]+\.js/ } ,
'Crazy Egg' : { cats : [ 10 ] , env: /CE2/ , script: /cetrk\.com\/pages\/scripts\/[0-9]+\/[0-9]+\.js/ } ,
'CS Cart' : { cats : [ 6 ] , html: / Powered by (<a href=.http:\/\/www\.cs\-cart\.com|CS\-Cart)/i } ,
'CS Cart' : { cats : [ 6 ] , env: /fn_compare_strings/i , html: / Powered by (<a href=.http:\/\/www\.cs\-cart\.com|CS\-Cart)/i , implies : [ 'PHP' ] } ,
'CubeCart' : { cats : [ 6 ] , html : /(Powered by <a href=.http:\/\/www\.cubecart\.com|<p[^>]+>Powered by CubeCart)/i } ,
'CubeCart' : { cats : [ 6 ] , html : /(Powered by <a href=.http:\/\/www\.cubecart\.com|<p[^>]+>Powered by CubeCart)/i , meta : { 'generator' : /cubecart/i } , implies : [ 'PHP' ] } ,
'cufon' : { cats : [ 17 ] , script : /cufon\-yui\.js/ , env : /^Cufon$/ } ,
'cufon' : { cats : [ 17 ] , script : /cufon\-yui\.js/ , env : /^Cufon$/ } ,
//'dashCommerce': { cats: [ 6 ], implies: [ 'Microsoft ASP.NET', 'IIS', 'Windows Server' ] },
//'dashCommerce': { cats: [ 6 ], implies: [ 'Microsoft ASP.NET', 'IIS', 'Windows Server' ] },
'd3' : { cats : [ 25 ] , script : /d3(\. min)?\.js/ } ,
'd3' : { cats : [ 25 ] , script : /d3(\. v2)(\. min)?\.js/ } ,
'Dancer' : { cats : [ 18 ] , headers : { 'X-Powered-By' : /Perl Dancer/ , 'Server' : /Perl Dancer/ } , implies : [ 'Perl' ] } ,
'Dancer' : { cats : [ 18 ] , headers : { 'X-Powered-By' : /Perl Dancer/ , 'Server' : /Perl Dancer/ } , implies : [ 'Perl' ] } ,
'Danneo CMS' : { cats : [ 1 ] , meta: { 'generator' : /Danneo/i } } ,
'Danneo CMS' : { cats : [ 1 ] , headers: { 'X-Powered-By' : /CMS Danneo.*/i } , meta: { 'generator' : /Danneo/i } , implies : [ 'Apache' , 'PHP' ] } ,
'DataLife Engine' : { cats : [ 1 ] , meta: { 'generator' : /DataLife Engine/i } } ,
'DataLife Engine' : { cats : [ 1 ] , env: /dle_root/i , meta: { 'generator' : /DataLife Engine/i } } ,
'David Webbox' : { cats : [ 22 ] , headers : { 'Server' : /David-WebBox/i } } ,
'David Webbox' : { cats : [ 22 ] , headers : { 'Server' : /David-WebBox/i } } ,
'Debian' : { cats : [ 28 ] , headers : { 'Server' : /Debian/i , 'X-Powered-By' : /(Debian|dotdeb|etch|lenny|squeeze|wheezy)/i } } ,
'Debian' : { cats : [ 28 ] , headers : { 'Server' : /Debian/i , 'X-Powered-By' : /(Debian|dotdeb|etch|lenny|squeeze|wheezy)/i } } ,
'DedeCMS' : { cats : [ 1 ] , env : /^Dede/ , script : /dedeajax/ } ,
'DedeCMS' : { cats : [ 1 ] , env : /^Dede/ , script : /dedeajax/ , implies : [ 'PHP' ] } ,
'Demandware' : { cats : [ 6 ] , h tml: /<[^>]+demandware.edgesuite/ , env : /^dwAnalytics/ } ,
'Demandware' : { cats : [ 6 ] , h eaders: { 'Server' : /Demandware eCommerce Server/i } , h tml: /<[^>]+demandware.edgesuite/ , env : /^dwAnalytics/ } ,
'DHTMLX' : { cats : [ 12 ] , script : /dhtmlxcommon\.js/ } ,
'DHTMLX' : { cats : [ 12 ] , script : /dhtmlxcommon\.js/ } ,
'DirectAdmin' : { cats : [ 9 ] , html : /<a[^>]+>DirectAdmin<\/a> Web Control Panel/i } ,
'DirectAdmin' : { cats : [ 9 ] , html : /<a[^>]+>DirectAdmin<\/a> Web Control Panel/i , implies : [ 'PHP' , 'Apache' , 'phpMyAdmin' , 'FrontPage' ] } ,
'Disqus' : { cats : [ 15 ] , script : /disqus_url/ , html : /<div[^>]+id=("|')disqus_thread("|')/ , env : /^DISQUS/i } ,
'Disqus' : { cats : [ 15 ] , script : /disqus_url/ , html : /<div[^>]+id=("|')disqus_thread("|')/ , env : /^DISQUS/i } ,
'Django' : { cats : [ 18 ] , html : /powered by <a[^>]+>Django/i } ,
'Django' : { cats : [ 18 ] , html : /powered by <a[^>]+>Django/i , implies : [ 'Python' ] } ,
'Django CMS' : { cats : [ 1 ] , script : /media\/cms\/js\/csrf\.js/ , headers : { 'Set-Cookie' : /django/ } , implies : [ 'Django' ] } ,
'Django CMS' : { cats : [ 1 ] , script : /media\/cms\/js\/csrf\.js/ , headers : { 'Set-Cookie' : /django/ } , implies : [ 'Django' ] } ,
'dojo' : { cats : [ 12 ] , script : /dojo(\.xd)?\.js/ , env : /^dojo$/ } ,
'dojo' : { cats : [ 12 ] , script : /dojo(\.xd)?\.js/ , env : /^dojo$/ } ,
'Dokeos' : { cats : [ 21 ] , meta : { 'generator' : /Dokeos/i } , html : /Portal <a[^>]+>Dokeos|@import "[^"]+dokeos_blue/i , headers : { 'X-Powered-By' : /Dokeos/ } } ,
'Dokeos' : { cats : [ 21 ] , meta : { 'generator' : /Dokeos/i } , html : /Portal <a[^>]+>Dokeos|@import "[^"]+dokeos_blue/i , headers : { 'X-Powered-By' : /Dokeos/ } , implies : [ 'PHP' , 'xajax' , 'jQuery' , 'CKEditor' ] } ,
'DokuWiki' : { cats : [ 8 ] , meta : { 'generator' : /DokuWiki/i } } ,
'DokuWiki' : { cats : [ 8 ] , meta : { 'generator' : /DokuWiki/i } , implies : [ 'PHP' ] } ,
'DotNetNuke' : { cats : [ 1 ] , meta : { 'generator' : /DotNetNuke/i } , html : /(<!\-\- by DotNetNuke Corporation|<link[^>]+\/portals\/_default\/[^>]+\.css)/i , env : /^(DDN|DotNetNuke)/i } ,
'DotNetNuke' : { cats : [ 1 ] , meta : { 'generator' : /DotNetNuke/i } , html : /(<!\-\- by DotNetNuke Corporation|<link[^>]+\/portals\/_default\/[^>]+\.css)/i , env : /^(DDN|DotNetNuke)/i , implies : [ 'Microsoft ASP.NET' ] } ,
'Doxygen' : { cats : [ 4 ] , html : /(<!-- Generated by Doxygen|<link[^>]+doxygen.css)/i } ,
'Doxygen' : { cats : [ 4 ] , html : /(<!-- Generated by Doxygen|<link[^>]+doxygen.css)/i } ,
'DreamWeaver' : { cats : [ 20 ] , html : /(<!\-\-[^>]*(InstanceBeginEditable|Dreamweaver[^>]+target|DWLayoutDefaultTable)|function MM_preloadImages\(\) {)/ } ,
'DreamWeaver' : { cats : [ 20 ] , html : /(<!\-\-[^>]*(InstanceBeginEditable|Dreamweaver[^>]+target|DWLayoutDefaultTable)|function MM_preloadImages\(\) {)/ } ,
'Drupal' : { cats : [ 1 ] , script : /drupal\.js/ , html : /(jQuery\.extend\(Drupal\.settings, \{|Drupal\.extend\(\{ settings: \{|<link[^>]+sites\/(default|all)\/themes\/|<style[^>]+sites\/(default|all)\/(themes|modules)\/)/i , headers : { 'X-Drupal-Cache' : /.*/ , 'X-Generator' : /Drupal/ , 'Expires' : /19 Nov 1978/ } , env : /^Drupal$/ , implies : [ 'PHP' ] } ,
'Drupal' : { cats : [ 1 ] , script : /drupal\.js/ , html : /(jQuery\.extend\(Drupal\.settings, \{|Drupal\.extend\(\{ settings: \{|<link[^>]+sites\/(default|all)\/themes\/|<style[^>]+sites\/(default|all)\/(themes|modules)\/)/i , headers : { 'X-Drupal-Cache' : /.*/ , 'X-Generator' : /Drupal/ , 'Expires' : /19 Nov 1978/ } , env : /^Drupal$/ , implies : [ 'PHP' ] } ,
'Drupal Commerce' : { cats : [ 6 ] , html : /id="block[_-]commerce[_-]cart[_-]cart|class="commerce[_-]product[_-]field/i , implies : [ 'PHP' ] } ,
'Drupal Commerce' : { cats : [ 6 ] , html : /id="block[_-]commerce[_-]cart[_-]cart|class="commerce[_-]product[_-]field/i , implies : [ 'PHP' , 'Drupal' ] } ,
'Dynamicweb' : { cats : [ 1 ] , meta : { 'generator' : /Dynamicweb/i } } ,
'Dynamicweb' : { cats : [ 1 , 6 , 10 ] , meta : { 'generator' : /Dynamicweb/i } , headers : { 'Set-Cookie' : /Dynamicweb=/ } , implies : [ 'Microsoft ASP.NET' ] } ,
'e107' : { cats : [ 1 ] , script : /e107\.js/ } ,
'e107' : { cats : [ 1 ] , script : /e107\.js/ , implies : [ 'PHP' ] } ,
'Ecodoo' : { cats : [ 6 ] , script : /addons\/lytebox\/lytebox\.js/ } ,
//'Ecodoo': { cats: [ 6 ], script: /addons\/lytebox\/lytebox\.js/ },
'EPiServer' : { cats : [ 1 ] , meta : { 'generator' : /EPiServer/i } } ,
'EPiServer' : { cats : [ 1 ] , meta : { 'generator' : /EPiServer/i } , implies : [ 'Microsoft ASP.NET' , 'IIS' , 'Windows Server' ] } ,
'Exhibit' : { cats : [ 25 ] , script : /exhibit.*\.js/ , env : /^Exhibit$/ } ,
'Exhibit' : { cats : [ 25 ] , script : /exhibit.*\.js/ , env : /^Exhibit$/ } ,
'ExtJS' : { cats : [ 12 ] , script : /ext\-base\.js/ , env : /^Ext$/ } ,
'ExtJS' : { cats : [ 12 ] , script : /ext\-base\.js/ , env : /^Ext$/ } ,
'ExpressionEngine' : { cats : [ 1 ] , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker)/ } } ,
'ExpressionEngine' : { cats : [ 1 ] , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker)/ } , implies : [ 'PHP' ] } ,
'eZ Publish' : { cats : [ 1 ] , meta : { 'generator' : /eZ Publish/i } } ,
'eZ Publish' : { cats : [ 1 , 6 ] , meta : { 'generator' : /eZ Publish/i } , implies : [ 'PHP' ] } ,
'FAST Search for SharePoint' : { cats : [ 29 ] , url : /Pages\/SearchResults\.aspx\?k\=/ , implies : [ 'Microsoft ASP.NET' ] } ,
'FAST Search for SharePoint' : { cats : [ 29 ] , url : /Pages\/SearchResults\.aspx\?k\=/ , implies : [ 'Microsoft SharePoint', 'Microsoft ASP.NET' ] } ,
'FAST ESP' : { cats : [ 29 ] , html : /fastsearch|searchProfile\=|searchCategory\=/i , url : /esppublished|searchProfile\=|searchCategory\=/i } ,
'FAST ESP' : { cats : [ 29 ] , html : /fastsearch|searchProfile\=|searchCategory\=/i , url : /esppublished|searchProfile\=|searchCategory\=/i } ,
'Fact Finder' : { cats : [ 29 ] , html : /\/images\/fact-finder\.gif|ViewParametricSearch|factfinder|Suggest\.ff/i , url : /ViewParametricSearch|factfinder|ffsuggest/i } ,
'Fact Finder' : { cats : [ 29 ] , html : /\/images\/fact-finder\.gif|ViewParametricSearch|factfinder|Suggest\.ff/i , url : /ViewParametricSearch|factfinder|ffsuggest/i } ,
'FlexCMP' : { cats : [ 1 ] , meta : { 'generator' : /FlexCMP/ } , headers : { 'X-Powered-By' : /FlexCMP/ } } ,
'FlexCMP' : { cats : [ 1 ] , meta : { 'generator' : /FlexCMP/ } , headers : { 'X-Powered-By' : /FlexCMP/ } } ,
@ -139,7 +140,7 @@
'FWP' : { cats : [ 6 ] , meta : { 'generator' : /FWP Shop/ } } ,
'FWP' : { cats : [ 6 ] , meta : { 'generator' : /FWP Shop/ } } ,
'FrontPage' : { cats : [ 20 ] , meta : { 'generator' : /Microsoft FrontPage/ } , html : /<html[^>]+urn:schemas\-microsoft\-com:office:office/i } ,
'FrontPage' : { cats : [ 20 ] , meta : { 'generator' : /Microsoft FrontPage/ } , html : /<html[^>]+urn:schemas\-microsoft\-com:office:office/i } ,
'Gallery' : { cats : [ 7 ] , env : /galleryAuthToken/ , html : /<div id="gsNavBar" class="gcBorder1">/ } ,
'Gallery' : { cats : [ 7 ] , env : /galleryAuthToken/ , html : /<div id="gsNavBar" class="gcBorder1">/ } ,
//'Gambio': { cats: [ 6 ], },
'Gambio' : { cats : [ 6 ] , html : /brought to you by XT-Commerce|href=""templates\/gambio\/|content\.php\?coID=\d|<!-- gambio eof -->/ , implies : [ 'PHP' ] } ,
'Gauges' : { cats : [ 10 ] , html : /t\.src = '\/\/secure\.gaug\.es\/track\.js/ , env : /^_gauges$/ } ,
'Gauges' : { cats : [ 10 ] , html : /t\.src = '\/\/secure\.gaug\.es\/track\.js/ , env : /^_gauges$/ } ,
'Gentoo' : { cats : [ 28 ] , headers : { 'X-Powered-By' : /-?gentoo/ } } ,
'Gentoo' : { cats : [ 28 ] , headers : { 'X-Powered-By' : /-?gentoo/ } } ,
'Get Satisfaction' : { cats : [ 13 ] , html : /var feedback_widget = new GSFN\.feedback_widget\(feedback_widget_options\)/ } ,
'Get Satisfaction' : { cats : [ 13 ] , html : /var feedback_widget = new GSFN\.feedback_widget\(feedback_widget_options\)/ } ,
@ -160,7 +161,7 @@
'Hybris' : { cats : [ 6 ] , html : /\/sys_master\/|\/hybr\// , header : { 'Set-Cookie' : /_hybris/ } , implies : [ 'Java' ] } ,
'Hybris' : { cats : [ 6 ] , html : /\/sys_master\/|\/hybr\// , header : { 'Set-Cookie' : /_hybris/ } , implies : [ 'Java' ] } ,
'IIS' : { cats : [ 22 ] , headers : { 'Server' : /IIS/i } , implies : [ 'Windows Server' ] } ,
'IIS' : { cats : [ 22 ] , headers : { 'Server' : /IIS/i } , implies : [ 'Windows Server' ] } ,
'ImpressPages' : { cats : [ 1 ] , meta : { 'generator' : /ImpressPages/i } , implies : [ 'PHP' ] } ,
'ImpressPages' : { cats : [ 1 ] , meta : { 'generator' : /ImpressPages/i } , implies : [ 'PHP' ] } ,
'Indexhibit' : { cats : [ 1 ] , html : /< link [^>]+ndxz-studio/i } ,
'Indexhibit' : { cats : [ 1 ] , html : /< ( link|a href) [^>]+ndxz-studio/i, implies : [ 'PHP' , 'Apache' ] } ,
'InstantCMS' : { cats : [ 1 ] , meta : { 'generator' : /InstantCMS/i } } ,
'InstantCMS' : { cats : [ 1 ] , meta : { 'generator' : /InstantCMS/i } } ,
'Intershop' : { cats : [ 6 ] , url : /is-bin|INTERSHOP/i , script : /is-bin|INTERSHOP/i } ,
'Intershop' : { cats : [ 6 ] , url : /is-bin|INTERSHOP/i , script : /is-bin|INTERSHOP/i } ,
'IPB' : { cats : [ 2 ] , script : /jscripts\/ips_/ , env : /^IPBoard/ , html : /<link[^>]+ipb_[^>]+\.css/ } ,
'IPB' : { cats : [ 2 ] , script : /jscripts\/ips_/ , env : /^IPBoard/ , html : /<link[^>]+ipb_[^>]+\.css/ } ,
@ -249,7 +250,7 @@
'phpPgAdmin' : { cats : [ 3 ] , html : /(<title>phpPgAdmin<\/title>|<span class=("|')appname("|')>phpPgAdmin)/i } ,
'phpPgAdmin' : { cats : [ 3 ] , html : /(<title>phpPgAdmin<\/title>|<span class=("|')appname("|')>phpPgAdmin)/i } ,
'Piwik' : { cats : [ 10 ] , html : /var piwikTracker = Piwik\.getTracker\(/i , env : /^Piwik$/i } ,
'Piwik' : { cats : [ 10 ] , html : /var piwikTracker = Piwik\.getTracker\(/i , env : /^Piwik$/i } ,
'Plentymarkets' : { cats : [ 6 ] , meta : { 'generator' : /www\.plentyMarkets\./i } } ,
'Plentymarkets' : { cats : [ 6 ] , meta : { 'generator' : /www\.plentyMarkets\./i } } ,
'Plesk' : { cats : [ 9 ] , script: /common\.js\?plesk/i } ,
'Plesk' : { cats : [ 9 ] , headers: { 'X-Powered-By-Plesk' : /Plesk/i , 'X-Powered-By' : /PleskLin/i } , script: /common\.js\?plesk/i } ,
'Plone' : { cats : [ 1 ] , meta : { 'generator' : /Plone/i } , implies : [ 'Python' ] } ,
'Plone' : { cats : [ 1 ] , meta : { 'generator' : /Plone/i } , implies : [ 'Python' ] } ,
'Plura' : { cats : [ 19 ] , html : /<iframe src="http:\/\/pluraserver\.com/ } ,
'Plura' : { cats : [ 19 ] , html : /<iframe src="http:\/\/pluraserver\.com/ } ,
'posterous' : { cats : [ 1 , 11 ] , html : /<div class=("|')posterous/i , env : /^Posterous/i } ,
'posterous' : { cats : [ 1 , 11 ] , html : /<div class=("|')posterous/i , env : /^Posterous/i } ,
@ -338,7 +339,7 @@
'Webtrends' : { cats : [ 10 ] , html : /<img[^>]+id=("|')DCSIMG("|')[^>]+webtrends/i , env : /^(WTOptimize|WebTrends)/i } ,
'Webtrends' : { cats : [ 10 ] , html : /<img[^>]+id=("|')DCSIMG("|')[^>]+webtrends/i , env : /^(WTOptimize|WebTrends)/i } ,
'Weebly' : { cats : [ 1 ] , html : /<[^>]+class=("|')weebly/i } ,
'Weebly' : { cats : [ 1 ] , html : /<[^>]+class=("|')weebly/i } ,
'WikkaWiki' : { cats : [ 8 ] , meta : { 'generator' : /WikkaWiki/ } , html : /Powered by <a href=("|')[^>]+WikkaWiki/i } ,
'WikkaWiki' : { cats : [ 8 ] , meta : { 'generator' : /WikkaWiki/ } , html : /Powered by <a href=("|')[^>]+WikkaWiki/i } ,
'Windows Server' : { cats : [ 28 ] } ,
'Windows Server' : { cats : [ 28 ] , headers : { 'Server' : /Win32/i } } ,
'wink' : { cats : [ 26 , 12 ] , script : /(\_base\/js\/base|wink).*\.js/i , env : /^wink$/ } ,
'wink' : { cats : [ 26 , 12 ] , script : /(\_base\/js\/base|wink).*\.js/i , env : /^wink$/ } ,
'Wolf CMS' : { cats : [ 1 ] , html : /<a href=("|')[^>]+wolfcms.org.+Wolf CMS.+inside/i } ,
'Wolf CMS' : { cats : [ 1 ] , html : /<a href=("|')[^>]+wolfcms.org.+Wolf CMS.+inside/i } ,
'Woopra' : { cats : [ 10 ] , script : /static\.woopra\.com/ } ,
'Woopra' : { cats : [ 10 ] , script : /static\.woopra\.com/ } ,