@ -50,7 +50,7 @@
'Arc Forum' : { cats : { 1 : 2 } , html : /ping\.src = node\.href;/ } ,
'Arc Forum' : { cats : { 1 : 2 } , html : /ping\.src = node\.href;/ } ,
'ATG Web Commerce' : { cats : { 1 : 6 } , headers : { 'X-ATG-Version' : /ATG/i } , html : /<[^>]+_DARGS/ } ,
'ATG Web Commerce' : { cats : { 1 : 6 } , headers : { 'X-ATG-Version' : /ATG/i } , html : /<[^>]+_DARGS/ } ,
'Atlassian Confluence' : { cats : { 1 : 8 } , html : /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/confluence/i } ,
'Atlassian Confluence' : { cats : { 1 : 8 } , html : /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/confluence/i } ,
'Atlassian Jira' : { cats : { 1 : 13 } , html: /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/jira/i } ,
'Atlassian Jira' : { cats : { 1 : 13 } , env: /^jira$/i , html: /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/jira/i , implies : [ 'Java' ] } ,
'AWStats' : { cats : { 1 : 10 } , meta : { 'generator' : /AWStats/i } } ,
'AWStats' : { cats : { 1 : 10 } , meta : { 'generator' : /AWStats/i } } ,
'Banshee' : { cats : { 1 : 1 , 2 : 18 } , html : /Built upon the <a href=("|')[^>]+banshee-php\.org/i } ,
'Banshee' : { cats : { 1 : 1 , 2 : 18 } , html : /Built upon the <a href=("|')[^>]+banshee-php\.org/i } ,
'Backbone.js' : { cats : { 1 : 12 } , script : /backbone.*\.js/ , env : /^Backbone$/ } ,
'Backbone.js' : { cats : { 1 : 12 } , script : /backbone.*\.js/ , env : /^Backbone$/ } ,
@ -61,7 +61,8 @@
'Blogger' : { cats : { 1 : 11 } , meta : { 'generator' : /blogger/i } , url : /^(www.)?.+\.blogspot\.com/i } ,
'Blogger' : { cats : { 1 : 11 } , meta : { 'generator' : /blogger/i } , url : /^(www.)?.+\.blogspot\.com/i } ,
'Bugzilla' : { cats : { 1 : 13 } , html : /<[^>]+(id|title|name)=("|')bugzilla/i } ,
'Bugzilla' : { cats : { 1 : 13 } , html : /<[^>]+(id|title|name)=("|')bugzilla/i } ,
'Burning Board' : { cats : { 1 : 2 } , html : /<a href=('|")[^>]+woltlab\.com.+Burning Board/i } ,
'Burning Board' : { cats : { 1 : 2 } , html : /<a href=('|")[^>]+woltlab\.com.+Burning Board/i } ,
'CakePHP' : { cats : { 1 : 18 } , headers : { 'Set-Cookie' : /CAKEPHP=/ } , meta : { 'application-name' : /CakePHP/ } } ,
'Business Catalyst' : { cats : { 1 : 1 } , script : /CatalystScripts/ , html : /<!-- BC_OBNW -->/ } ,
'CakePHP' : { cats : { 1 : 18 } , headers : { 'set-cookie' : /cakephp=/ } , meta : { 'application-name' : /CakePHP/ } } ,
'Cargo' : { cats : { 1 : 1 } , script : /\/cargo\./i , html : /<link [^>]+Cargo feed/ } ,
'Cargo' : { cats : { 1 : 1 } , script : /\/cargo\./i , html : /<link [^>]+Cargo feed/ } ,
'CentOS' : { cats : { 1 : 28 } , headers : { 'Server' : /CentOS/i , 'X-Powered-By' : /CentOS/i } } ,
'CentOS' : { cats : { 1 : 28 } , headers : { 'Server' : /CentOS/i , 'X-Powered-By' : /CentOS/i } } ,
'Chameleon' : { cats : { 1 : 1 } , meta : { 'generator' : /chameleon\-cms/i } } ,
'Chameleon' : { cats : { 1 : 1 } , meta : { 'generator' : /chameleon\-cms/i } } ,
@ -74,14 +75,14 @@
'Clicky' : { cats : { 1 : 10 } , script : /static\.getclicky\.com/ , env : /^clicky$/ } ,
'Clicky' : { cats : { 1 : 10 } , script : /static\.getclicky\.com/ , env : /^clicky$/ } ,
'CMS Made Simple' : { cats : { 1 : 1 } , meta : { 'generator' : /CMS Made Simple/i } } ,
'CMS Made Simple' : { cats : { 1 : 1 } , meta : { 'generator' : /CMS Made Simple/i } } ,
'CO2Stats' : { cats : { 1 : 10 } , html : /src=("|')http:\/\/www\.co2stats\.com\/propres\.php/ } ,
'CO2Stats' : { cats : { 1 : 10 } , html : /src=("|')http:\/\/www\.co2stats\.com\/propres\.php/ } ,
'CodeIgniter' : { cats : { 1 : 18 } , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker|ci_session)/ } } ,
'CodeIgniter' : { cats : { 1 : 18 } , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker|ci_session)/ } , implies : [ 'PHP' ] } ,
'Commerce Server' : { cats : { 1 : 6 } , headers : { 'COMMERCE-SERVER-SOFTWARE' : /.+/ } } ,
'Commerce Server' : { cats : { 1 : 6 } , headers : { 'COMMERCE-SERVER-SOFTWARE' : /.+/ } } ,
'comScore' : { cats : { 1 : 10 } , html : /<i{1}frame[^>]* (id=("|')comscore("|')|scr=[^>]+comscore)/ , env : /^_?COMSCORE$/i } ,
'comScore' : { cats : { 1 : 10 } , html : /<i{1}frame[^>]* (id=("|')comscore("|')|scr=[^>]+comscore)/ , env : /^_?COMSCORE$/i } ,
'Concrete5' : { cats : { 1 : 1 } , meta : { 'generator' : /concrete5/i } } ,
'Concrete5' : { cats : { 1 : 1 } , meta : { 'generator' : /concrete5/i } } ,
'Contao' : { cats : { 1 : 1 , 2 : 6 } , html : /(<!--\s+This website is powered by (TYPOlight|Contao)|<link[^>]+(typolight|contao).css)/i } ,
'Contao' : { cats : { 1 : 1 , 2 : 6 } , html : /(<!--\s+This website is powered by (TYPOlight|Contao)|<link[^>]+(typolight|contao).css)/i , implies : [ 'PHP' ] } ,
'Contens' : { cats : { 1 : 1 } , meta : { 'generator' : /contens/i } } ,
'Contens' : { cats : { 1 : 1 } , meta : { 'generator' : /contens/i } } ,
'ConversionLab' : { cats : { 1 : 10 } , script : /conversionlab\.trackset\.com\/track\/tsend\.js/ } ,
'ConversionLab' : { cats : { 1 : 10 } , script : /conversionlab\.trackset\.com\/track\/tsend\.js/ } ,
'Coppermine' : { cats : { 1 : 7 } , html : /<!--Coppermine Photo Gallery/i } ,
'Coppermine' : { cats : { 1 : 7 } , html : /<!--Coppermine Photo Gallery/i , implies : [ 'PHP' ] } ,
'Cosmoshop' : { cats : { 1 : 6 } , script : /cosmoshop_functions\.js/ } ,
'Cosmoshop' : { cats : { 1 : 6 } , script : /cosmoshop_functions\.js/ } ,
'Cotonti' : { cats : { 1 : 1 } , meta : { 'generator' : /Cotonti/i } } ,
'Cotonti' : { cats : { 1 : 1 } , meta : { 'generator' : /Cotonti/i } } ,
'CouchDB' : { cats : { 1 : 22 } , headers : { 'Server' : /CouchDB/i } } ,
'CouchDB' : { cats : { 1 : 22 } , headers : { 'Server' : /CouchDB/i } } ,
@ -92,22 +93,24 @@
'cufon' : { cats : { 1 : 17 } , script : /cufon\-yui\.js/ , env : /^Cufon$/ } ,
'cufon' : { cats : { 1 : 17 } , script : /cufon\-yui\.js/ , env : /^Cufon$/ } ,
//'dashCommerce': { cats: { 1: 6 }, html: /name\="\_\_EVENTTARGET" id\="\_\_EVENTTARGET"/ },
//'dashCommerce': { cats: { 1: 6 }, html: /name\="\_\_EVENTTARGET" id\="\_\_EVENTTARGET"/ },
'd3' : { cats : { 1 : 25 } , script : /d3(\.min)?\.js/ } ,
'd3' : { cats : { 1 : 25 } , script : /d3(\.min)?\.js/ } ,
'Dancer' : { cats : { 1 : 18 } , headers : { 'X-Powered-By' : /Perl Dancer/ , 'Server' : /Perl Dancer/ } , implies : [ 'Perl' ] } ,
'Danneo CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Danneo/i } } ,
'Danneo CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Danneo/i } } ,
'DataLife Engine' : { cats : { 1 : 1 } , meta : { 'generator' : /DataLife Engine/i } } ,
'DataLife Engine' : { cats : { 1 : 1 } , meta : { 'generator' : /DataLife Engine/i } } ,
'Debian' : { cats : { 1 : 28 } , headers : { 'Server' : /Debian/i , 'X-Powered-By' : /(Debian|dotdeb|etch|lenny|squeeze|wheezy)/i } } ,
'Debian' : { cats : { 1 : 28 } , headers : { 'Server' : /Debian/i , 'X-Powered-By' : /(Debian|dotdeb|etch|lenny|squeeze|wheezy)/i } } ,
'DedeCMS' : { cats : { 1 : 1 } , env : /^Dede/ , script : /dedeajax/ } ,
'Demandware' : { cats : { 1 : 6 } , html : /<[^>]+demandware.edgesuite/ , env : /^dwAnalytics/ } ,
'Demandware' : { cats : { 1 : 6 } , html : /<[^>]+demandware.edgesuite/ , env : /^dwAnalytics/ } ,
'DHTMLX' : { cats : { 1 : 12 } , script : /dhtmlxcommon\.js/ } ,
'DHTMLX' : { cats : { 1 : 12 } , script : /dhtmlxcommon\.js/ } ,
'DirectAdmin' : { cats : { 1 : 9 } , html : /<a[^>]+>DirectAdmin<\/a> Web Control Panel/i } ,
'DirectAdmin' : { cats : { 1 : 9 } , html : /<a[^>]+>DirectAdmin<\/a> Web Control Panel/i } ,
'Disqus' : { cats : { 1 : 15 } , script : /disqus_url/ , html : /<div[^>]+id=("|')disqus_thread("|')/ , env : /^DISQUS/i } ,
'Disqus' : { cats : { 1 : 15 } , script : /disqus_url/ , html : /<div[^>]+id=("|')disqus_thread("|')/ , env : /^DISQUS/i } ,
'Django' : { cats : { 1 : 18 } , script : /media\/cms\/js\/csrf\.js/ , html : /(Powered by <a[^>]+>Django|<input[^>]name=.csrfmiddlewaretoken)/i , headers : { 'Set-Cookie' : /^django/ } } ,
'Django' : { cats : { 1 : 18 } } ,
'Django CMS' : { cats : { 1 : 1 } , script : /media\/cms\/js\/csrf\.js/ , headers : { 'Set-Cookie' : /django/ } } ,
'Django CMS' : { cats : { 1 : 1 } , script : /media\/cms\/js\/csrf\.js/ , headers : { 'Set-Cookie' : /django/ } , implies : [ 'Django' ] } ,
'dojo' : { cats : { 1 : 12 } , script : /dojo(\.xd)?\.js/ , env : /^dojo$/ } ,
'dojo' : { cats : { 1 : 12 } , script : /dojo(\.xd)?\.js/ , env : /^dojo$/ } ,
'Dokeos' : { cats : { 1 : 21 } , meta : { 'generator' : /Dokeos/i } , html : /Portal <a[^>]+>Dokeos|@import "[^"]+dokeos_blue/i , headers : { 'X-Powered-By' : /Dokeos/ } } ,
'Dokeos' : { cats : { 1 : 21 } , meta : { 'generator' : /Dokeos/i } , html : /Portal <a[^>]+>Dokeos|@import "[^"]+dokeos_blue/i , headers : { 'X-Powered-By' : /Dokeos/ } } ,
'DokuWiki' : { cats : { 1 : 8 } , meta : { 'generator' : /DokuWiki/i } } ,
'DokuWiki' : { cats : { 1 : 8 } , meta : { 'generator' : /DokuWiki/i } } ,
'DotNetNuke' : { cats : { 1 : 1 } , meta : { 'generator' : /DotNetNuke/i } , html : /(<!\-\- by DotNetNuke Corporation|<link[^>]+\/portals\/_default\/[^>]+\.css)/i , env : /^(DDN|DotNetNuke)/i } ,
'DotNetNuke' : { cats : { 1 : 1 } , meta : { 'generator' : /DotNetNuke/i } , html : /(<!\-\- by DotNetNuke Corporation|<link[^>]+\/portals\/_default\/[^>]+\.css)/i , env : /^(DDN|DotNetNuke)/i } ,
'DreamWeaver' : { cats : { 1 : 20 } , html : /(<!\-\-[^>]*(InstanceBeginEditable|Dreamweaver[^>]+target|DWLayoutDefaultTable)|function MM_preloadImages\(\) {)/ } ,
'DreamWeaver' : { cats : { 1 : 20 } , html : /(<!\-\-[^>]*(InstanceBeginEditable|Dreamweaver[^>]+target|DWLayoutDefaultTable)|function MM_preloadImages\(\) {)/ } ,
'Drupal' : { cats : { 1 : 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$/ } ,
'Drupal' : { cats : { 1 : 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 : { 1 : 6 } , html : /id \=\"block\-commerce\-cart\-cart|class\=\"commerce\-product\-field/i } ,
'Drupal Commerce' : { cats : { 1 : 6 } , html : /id ="block[_-]commerce[_-]cart[_-]cart|class="commerce[_-]product[_-]field/i, implies : [ 'PHP' ] } ,
'Dynamicweb' : { cats : { 1 : 1 } , meta : { 'generator' : /Dynamicweb/i } } ,
'Dynamicweb' : { cats : { 1 : 1 } , meta : { 'generator' : /Dynamicweb/i } } ,
'e107' : { cats : { 1 : 1 } , script : /e107\.js/ } ,
'e107' : { cats : { 1 : 1 } , script : /e107\.js/ } ,
'Ecodoo' : { cats : { 1 : 6 } , script : /addons\/lytebox\/lytebox\.js/ } ,
'Ecodoo' : { cats : { 1 : 6 } , script : /addons\/lytebox\/lytebox\.js/ } ,
@ -115,7 +118,7 @@
'ExtJS' : { cats : { 1 : 12 } , script : /ext\-base\.js/ , env : /^Ext$/ } ,
'ExtJS' : { cats : { 1 : 12 } , script : /ext\-base\.js/ , env : /^Ext$/ } ,
'ExpressionEngine' : { cats : { 1 : 1 } , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker)/ } } ,
'ExpressionEngine' : { cats : { 1 : 1 } , headers : { 'Set-Cookie' : /(exp_last_activity|exp_tracker)/ } } ,
'eZ Publish' : { cats : { 1 : 1 } , meta : { 'generator' : /eZ Publish/i } } ,
'eZ Publish' : { cats : { 1 : 1 } , meta : { 'generator' : /eZ Publish/i } } ,
'FAST Search for SharePoint' : { cats : { 1 : 29 } , url : /Pages\/SearchResults\.aspx\?k\=/ } ,
'FAST Search for SharePoint' : { cats : { 1 : 29 } , url : /Pages\/SearchResults\.aspx\?k\=/ , implies : [ 'Microsoft ASP.NET' ] } ,
'FAST ESP' : { cats : { 1 : 29 } , html : /fastsearch|searchProfile\=|searchCategory\=/i , url : /esppublished|searchProfile\=|searchCategory\=/i } ,
'FAST ESP' : { cats : { 1 : 29 } , html : /fastsearch|searchProfile\=|searchCategory\=/i , url : /esppublished|searchProfile\=|searchCategory\=/i } ,
'Fact Finder' : { cats : { 1 : 29 } , html : /\/images\/fact-finder\.gif|ViewParametricSearch|factfinder|Suggest\.ff/i , url : /ViewParametricSearch|factfinder|ffsuggest/i } ,
'Fact Finder' : { cats : { 1 : 29 } , html : /\/images\/fact-finder\.gif|ViewParametricSearch|factfinder|Suggest\.ff/i , url : /ViewParametricSearch|factfinder|ffsuggest/i } ,
'FlexCMP' : { cats : { 1 : 1 } , meta : { 'generator' : /FlexCMP/ } , headers : { 'X-Powered-By' : /FlexCMP/ } } ,
'FlexCMP' : { cats : { 1 : 1 } , meta : { 'generator' : /FlexCMP/ } , headers : { 'X-Powered-By' : /FlexCMP/ } } ,
@ -124,6 +127,7 @@
'FreeBSD' : { cats : { 1 : 28 } , headers : { 'Server' : /FreeBSD/i } } ,
'FreeBSD' : { cats : { 1 : 28 } , headers : { 'Server' : /FreeBSD/i } } ,
'FWP' : { cats : { 1 : 6 } , meta : { 'generator' : /FWP Shop/ } } ,
'FWP' : { cats : { 1 : 6 } , meta : { 'generator' : /FWP Shop/ } } ,
'FrontPage' : { cats : { 1 : 20 } , meta : { 'generator' : /Microsoft FrontPage/ } , html : /<html[^>]+urn:schemas\-microsoft\-com:office:office/i } ,
'FrontPage' : { cats : { 1 : 20 } , meta : { 'generator' : /Microsoft FrontPage/ } , html : /<html[^>]+urn:schemas\-microsoft\-com:office:office/i } ,
'Gallery' : { cats : { 1 : 7 } , env : /galleryAuthToken/ , html : /<div id="gsNavBar" class="gcBorder1">/ } ,
'Gambio' : { cats : { 1 : 6 } , html : /brought to you by XT-Commerce|[Gg]ambio|content\.php\?coID=\d/ } ,
'Gambio' : { cats : { 1 : 6 } , html : /brought to you by XT-Commerce|[Gg]ambio|content\.php\?coID=\d/ } ,
'Gauges' : { cats : { 1 : 10 } , html : /t\.src = '\/\/secure\.gaug\.es\/track\.js/ , env : /^_gauges$/ } ,
'Gauges' : { cats : { 1 : 10 } , html : /t\.src = '\/\/secure\.gaug\.es\/track\.js/ , env : /^_gauges$/ } ,
'Get Satisfaction' : { cats : { 1 : 13 } , html : /var feedback_widget = new GSFN\.feedback_widget\(feedback_widget_options\)/ } ,
'Get Satisfaction' : { cats : { 1 : 13 } , html : /var feedback_widget = new GSFN\.feedback_widget\(feedback_widget_options\)/ } ,
@ -141,42 +145,43 @@
'Hiawatha' : { cats : { 1 : 22 } , headers : { 'Server' : /Hiawatha/i } } ,
'Hiawatha' : { cats : { 1 : 22 } , headers : { 'Server' : /Hiawatha/i } } ,
'Highcharts' : { cats : { 1 : 25 } , script : /highcharts.*\.js/ , env : /^Highcharts$/ } ,
'Highcharts' : { cats : { 1 : 25 } , script : /highcharts.*\.js/ , env : /^Highcharts$/ } ,
'Hotaru CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Hotaru CMS/i } } ,
'Hotaru CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Hotaru CMS/i } } ,
'Hybris' : { cats : { 1 : 6 } , html : /\/sys_master\/|\/hybr\// } ,
'Hybris' : { cats : { 1 : 6 } , html : /\/sys_master\/|\/hybr\// , header : { 'Set-Cookie' : /_hybris/ } , implies : [ 'Java' ] } ,
'IIS' : { cats : { 1 : 22 } , headers : { 'Server' : /IIS/i } } ,
'IIS' : { cats : { 1 : 22 } , headers : { 'Server' : /IIS/i } , implies : [ 'Windows Server' ] } ,
'Indexhibit' : { cats : { 1 : 1 } , html : /<link [^>]+ndxz-studio/i } ,
'Indexhibit' : { cats : { 1 : 1 } , html : /<link [^>]+ndxz-studio/i } ,
'InstantCMS' : { cats : { 1 : 1 } , meta : { 'generator' : /InstantCMS/i } } ,
'InstantCMS' : { cats : { 1 : 1 } , meta : { 'generator' : /InstantCMS/i } } ,
'Intershop' : { cats : { 1 : 6 } , url : /is-bin|INTERSHOP/i , script : /is-bin|INTERSHOP/i } ,
'Intershop' : { cats : { 1 : 6 } , url : /is-bin|INTERSHOP/i , script : /is-bin|INTERSHOP/i } ,
'IPB' : { cats : { 1 : 2 } , script : /jscripts\/ips_/ , env : /^IPBoard/ , html : /<link[^>]+ipb_[^>]+\.css/ } ,
'IPB' : { cats : { 1 : 2 } , script : /jscripts\/ips_/ , env : /^IPBoard/ , html : /<link[^>]+ipb_[^>]+\.css/ } ,
'iWeb' : { cats : { 1 : 20 } , meta : { 'generator' : /iWeb/i } } ,
'iWeb' : { cats : { 1 : 20 } , meta : { 'generator' : /iWeb/i } } ,
'Jalios' : { cats : { 1 : 1 } , meta : { 'generator' : /Jalios/i } } ,
'Jalios' : { cats : { 1 : 1 } , meta : { 'generator' : /Jalios/i } } ,
'Java' : { cats : { 1 : 27 } } ,
'Javascript Infovis Toolkit' : { cats : { 1 : 25 } , script : /jit.*\.js/ , env : /^\$jit$/ } ,
'Javascript Infovis Toolkit' : { cats : { 1 : 25 } , script : /jit.*\.js/ , env : /^\$jit$/ } ,
'Jo' : { cats : { 1 : 26 , 2 : 12 } , env : /^jo(Cache|DOM|Event)$/ } ,
'Jo' : { cats : { 1 : 26 , 2 : 12 } , env : /^jo(Cache|DOM|Event)$/ } ,
'Joomla' : { cats : { 1 : 1 } , meta : { 'generator' : /Joomla/i } , html : /(<!\-\- JoomlaWorks "K2"|<[^>]+(feed|components)\/com_)/i , headers : { 'X-Content-Encoded-By' : /Joomla/ } , env : /^(jcomments)$/i } ,
'Joomla' : { cats : { 1 : 1 } , meta : { 'generator' : /Joomla/i } , html : /(<!\-\- JoomlaWorks "K2"|<[^>]+(feed|components)\/com_)/i , headers : { 'X-Content-Encoded-By' : /Joomla/ } , env : /^(jcomments)$/i } ,
'jqPlot' : { cats : { 1 : 25 } , script : /jqplot.*\.js/ , env : /^jQuery.jqplot$/ } ,
'jqPlot' : { cats : { 1 : 25 } , script : /jqplot.*\.js/ , env : /^jQuery.jqplot$/ } ,
'jQTouch' : { cats : { 1 : 26 } , script : /jqtouch.*\.js/i , env : /^jQT$/ } ,
'jQTouch' : { cats : { 1 : 26 } , script : /jqtouch.*\.js/i , env : /^jQT$/ } ,
'jQuery UI' : { cats : { 1 : 12 } , script : /jquery\-ui.*\.js/ } ,
'jQuery UI' : { cats : { 1 : 12 } , script : /jquery\-ui.*\.js/ , implies : [ 'jQuery' ] } ,
'jQuery' : { cats : { 1 : 12 } , script : /jquery.*.js/ , env : /^jQuery$/ } ,
'jQuery' : { cats : { 1 : 12 } , script : /jquery.*.js/ , env : /^jQuery$/ } ,
'jQuery Mobile' : { cats : { 1 : 26 } , script : /jquery\.mobile.*\.js/i } ,
'jQuery Mobile' : { cats : { 1 : 26 } , script : /jquery\.mobile.*\.js/i } ,
'jQuery Sparklines' : { cats : { 1 : 25 } , script : /jquery\.sparkline.*\.js/i } ,
'jQuery Sparklines' : { cats : { 1 : 25 } , script : /jquery\.sparkline.*\.js/i } ,
'JS Charts' : { cats : { 1 : 25 } , script : /jscharts.*\.js/i , env : /^JSChart$/ } ,
'JS Charts' : { cats : { 1 : 25 } , script : /jscharts.*\.js/i , env : /^JSChart$/ } ,
'JTL Shop' : { cats : { 1 : 6 } , html : /(<input[^>]+name=('|")JTLSHOP|<a href=('|")jtl\.php)/i } ,
'JTL Shop' : { cats : { 1 : 6 } , html : /(<input[^>]+name=('|")JTLSHOP|<a href=('|")jtl\.php)/i } ,
'K2' : { cats : { 1 : 19 } , html : /<!\-\- JoomlaWorks "K2"/ } ,
'K2' : { cats : { 1 : 19 } , html : /<!\-\- JoomlaWorks "K2"/ , env : /^K2RatingURL$/ , implies : [ 'Joomla' ] } ,
'Kampyle' : { cats : { 1 : 10 } , script : /cf\.kampyle\.com\/k_button\.js/ } ,
'Kampyle' : { cats : { 1 : 10 } , script : /cf\.kampyle\.com\/k_button\.js/ } ,
'Kentico CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Kentico CMS/i } } ,
'Kentico CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Kentico CMS/i } } ,
'Koego' : { cats : { 1 : 10 } , script : /tracking\.koego\.com\/end\/ego\.js/ } ,
'Koego' : { cats : { 1 : 10 } , script : /tracking\.koego\.com\/end\/ego\.js/ } ,
'Kohana' : { cats : { 1 : 18 } , headers : { 'Set-Cookie' : /kohanasession/i , 'X-Powered-By' : /Kohana/ } } ,
'Kohana' : { cats : { 1 : 18 } , headers : { 'Set-Cookie' : /kohanasession/i , 'X-Powered-By' : /Kohana/ } , implies : [ 'PHP' ] } ,
'Kolibri CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Kolibri/i } } ,
'Kolibri CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Kolibri/i } } ,
'Koobi' : { cats : { 1 : 1 } , meta : { 'generator' : /Koobi/i } } ,
'Koobi' : { cats : { 1 : 1 } , meta : { 'generator' : /Koobi/i } } ,
'lighttpd' : { cats : { 1 : 22 } , headers : { 'Server' : /lighttpd/i } } ,
'lighttpd' : { cats : { 1 : 22 } , headers : { 'Server' : /lighttpd/i } } ,
'LiveJournal' : { cats : { 1 : 11 } , url : /^(www.)?.+\.livejournal\.com/i } ,
'LiveJournal' : { cats : { 1 : 11 } , url : /^(www.)?.+\.livejournal\.com/i } ,
'Lotus Domino' : { cats : { 1 : 22 } , headers : { 'Server' : /Lotus\-Domino/i } } ,
'Lotus Domino' : { cats : { 1 : 22 } , headers : { 'Server' : /Lotus\-Domino/i } } ,
'Magento' : { cats : { 1 : 6 } , script : /\/(js\/mage|skin\/frontend\/(default|enterprise))\// , env : /^(Mage|VarienForm)$/ } ,
'Magento' : { cats : { 1 : 6 } , script : /\/(js\/mage|skin\/frontend\/(default|enterprise))\// , env : /^(Mage|VarienForm)$/ , implies : [ 'PHP ' ] } ,
'Mambo' : { cats : { 1 : 1 } , meta : { 'generator' : /Mambo/i } } ,
'Mambo' : { cats : { 1 : 1 } , meta : { 'generator' : /Mambo/i } } ,
'MantisBT' : { cats : { 1 : 13 } , html : /<img[^>]+ alt=("|')Powered by Mantis Bugtracker/i } ,
'MantisBT' : { cats : { 1 : 13 } , html : /<img[^>]+ alt=("|')Powered by Mantis Bugtracker/i } ,
'MaxSite CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /MaxSite CMS/i } } ,
'MaxSite CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /MaxSite CMS/i } } ,
'MediaWiki' : { cats : { 1 : 8 } , meta : { 'generator' : /MediaWiki/i } , html : /(<a[^>]+>Powered by MediaWiki<\/a>|<[^>]+id=("|')t\-specialpages)/i } ,
'MediaWiki' : { cats : { 1 : 8 } , meta : { 'generator' : /MediaWiki/i } , html : /(<a[^>]+>Powered by MediaWiki<\/a>|<[^>]+id=("|')t\-specialpages)/i } ,
'Meebo' : { cats : { 1 : 5 } , html : /(<iframe id=("|')meebo\-iframe("|')|Meebo\('domReady'\))/ } ,
'Meebo' : { cats : { 1 : 5 } , html : /(<iframe id=("|')meebo\-iframe("|')|Meebo\('domReady'\))/ } ,
'Microsoft ASP.NET' : { cats : { 1 : 18 } , html : /<input[^>]+name=("|')__VIEWSTATE/ , headers : { 'X-Powered-By' : /ASP\.NET/ , 'X-AspNet-Version' : /.+/ } } ,
'Microsoft ASP.NET' : { cats : { 1 : 18 } , html : /<input[^>]+name=("|')__VIEWSTATE/ , headers : { 'X-Powered-By' : /ASP\.NET/ , 'X-AspNet-Version' : /.+/ } , implies : [ 'Windows Server' ] } ,
'Microsoft SharePoint' : { cats : { 1 : 1 } , meta : { 'generator' : /Microsoft SharePoint/i } , headers : { 'MicrosoftSharePointTeamServices' : /.*/ , 'X-SharePointHealthScore' : /.*/ , 'SPRequestGuid' : /.*/ , 'SharePointHealthScore' : /.*/ } } ,
'Microsoft SharePoint' : { cats : { 1 : 1 } , meta : { 'generator' : /Microsoft SharePoint/i } , headers : { 'MicrosoftSharePointTeamServices' : /.*/ , 'X-SharePointHealthScore' : /.*/ , 'SPRequestGuid' : /.*/ , 'SharePointHealthScore' : /.*/ } } ,
'MiniBB' : { cats : { 1 : 2 } , html : /<a href=("|')[^>]+minibb.+\s+<!--End of copyright link/i } ,
'MiniBB' : { cats : { 1 : 2 } , html : /<a href=("|')[^>]+minibb.+\s+<!--End of copyright link/i } ,
'Mint' : { cats : { 1 : 10 } , script : /mint\/\?js/ , env : /^Mint$/ } ,
'Mint' : { cats : { 1 : 10 } , script : /mint\/\?js/ , env : /^Mint$/ } ,
@ -184,10 +189,11 @@
'MochiKit' : { cats : { 1 : 12 } , script : /MochiKit\.js/ , env : /^MochiKit$/ } ,
'MochiKit' : { cats : { 1 : 12 } , script : /MochiKit\.js/ , env : /^MochiKit$/ } ,
'Modernizr' : { cats : { 1 : 12 } , script : /modernizr.*\.js/ , env : /^Modernizr$/ } ,
'Modernizr' : { cats : { 1 : 12 } , script : /modernizr.*\.js/ , env : /^Modernizr$/ } ,
'MODx' : { cats : { 1 : 1 } , html : /(<a[^>]+>Powered by MODx<\/a>|var el= \$\('modxhost'\);|<script type=("|')text\/javascript("|')>var MODX_MEDIA_PATH = "media";)|<(link|script)[^>]+assets\/snippets\//i } ,
'MODx' : { cats : { 1 : 1 } , html : /(<a[^>]+>Powered by MODx<\/a>|var el= \$\('modxhost'\);|<script type=("|')text\/javascript("|')>var MODX_MEDIA_PATH = "media";)|<(link|script)[^>]+assets\/snippets\//i } ,
'Mojolicious' : { cats : { 1 : 18 } , headers : { 'x-powered-by' : /mojolicious/ } , implies : [ 'PERL' ] } ,
'Mollom' : { cats : { 1 : 16 } , script : /mollom\.js/ , html : /<img[^>]+\/.mollom\/.com/i } ,
'Mollom' : { cats : { 1 : 16 } , script : /mollom\.js/ , html : /<img[^>]+\/.mollom\/.com/i } ,
'Mondo Media' : { cats : { 1 : 6 } , meta : { 'generator' : /Mondo Shop/ } } ,
'Mondo Media' : { cats : { 1 : 6 } , meta : { 'generator' : /Mondo Shop/ } } ,
'Mongrel' : { cats : { 1 : 22 } , headers : { 'Server' : /Mongrel/ } } ,
'Mongrel' : { cats : { 1 : 22 } , headers : { 'Server' : /Mongrel/ } , implies : [ 'Ruby' ] } ,
'Moodle' : { cats : { 1 : 21 } , html : /(var moodleConfigFn = function\(me\)|<img[^>]+moodlelogo)/i } ,
'Moodle' : { cats : { 1 : 21 } , html : /(var moodleConfigFn = function\(me\)|<img[^>]+moodlelogo)/i , implies : [ 'PHP' ] } ,
'Moogo' : { cats : { 1 : 1 } , script : /kotisivukone.js/ } ,
'Moogo' : { cats : { 1 : 1 } , script : /kotisivukone.js/ } ,
'MooTools' : { cats : { 1 : 12 } , script : /mootools.*\.js/ , env : /^MooTools$/ } ,
'MooTools' : { cats : { 1 : 12 } , script : /mootools.*\.js/ , env : /^MooTools$/ } ,
'Movable Type' : { cats : { 1 : 1 } , meta : { 'generator' : /Movable Type/i } } ,
'Movable Type' : { cats : { 1 : 1 } , meta : { 'generator' : /Movable Type/i } } ,
@ -206,6 +212,7 @@
'openEngine' : { cats : { 1 : 1 } , html : /<meta[^>]+openEngine/i } ,
'openEngine' : { cats : { 1 : 1 } , html : /<meta[^>]+openEngine/i } ,
'OpenGSE' : { cats : { 1 : 22 } , headers : { 'Server' : /GSE/i } } ,
'OpenGSE' : { cats : { 1 : 22 } , headers : { 'Server' : /GSE/i } } ,
'OpenLayers' : { cats : { 1 : 5 } , script : /openlayers/ , env : /^OpenLayers$/ } ,
'OpenLayers' : { cats : { 1 : 5 } , script : /openlayers/ , env : /^OpenLayers$/ } ,
'Open Web Analytics' : { cats : { 1 : 10 } , html : /<!-- (Start|End) Open Web Analytics Tracker -->/ , env : /^_?owa_/i } ,
'Optimizely' : { cats : { 1 : 10 } , env : /^optimizely/ } ,
'Optimizely' : { cats : { 1 : 10 } , env : /^optimizely/ } ,
'Oracle Recommendations On Demand' : { cats : { 1 : 10 } , script : /atgsvcs.+atgsvcs\.js/ } ,
'Oracle Recommendations On Demand' : { cats : { 1 : 10 } , script : /atgsvcs.+atgsvcs\.js/ } ,
'osCommerce' : { cats : { 1 : 6 } , html : /<a[^>]*osCsid/i } ,
'osCommerce' : { cats : { 1 : 6 } , html : /<a[^>]*osCsid/i } ,
@ -214,17 +221,19 @@
'PANSITE' : { cats : { 1 : 1 } , meta : { 'generator' : /PANSITE/i } } ,
'PANSITE' : { cats : { 1 : 1 } , meta : { 'generator' : /PANSITE/i } } ,
'papaya CMS' : { cats : { 1 : 1 } , html : /<link[^>]*\/papaya-themes\//i } ,
'papaya CMS' : { cats : { 1 : 1 } , html : /<link[^>]*\/papaya-themes\//i } ,
'Parse.ly' : { cats : { 1 : 10 } , env : /^PARSELY$/ } ,
'Parse.ly' : { cats : { 1 : 10 } , env : /^PARSELY$/ } ,
'Perl' : { cats : { 1 : 27 } } ,
'PHP' : { cats : { 1 : 27 } , headers : { 'Server' : /php/i , 'X-Powered-By' : /php/i , 'Set-Cookie' : /PHPSESSID/ } , url : /\.php$/ } ,
'PHP' : { cats : { 1 : 27 } , headers : { 'Server' : /php/i , 'X-Powered-By' : /php/i , 'Set-Cookie' : /PHPSESSID/ } , url : /\.php$/ } ,
'Phpcms' : { cats : { 1 : 1 } , env : /^phpcms/ } ,
'PHP-Fusion' : { cats : { 1 : 1 } , html : /Powered by <a href=("|')[^>]+php-fusion/i } ,
'PHP-Fusion' : { cats : { 1 : 1 } , html : /Powered by <a href=("|')[^>]+php-fusion/i } ,
'PHP-Nuke' : { cats : { 1 : 2 } , meta : { 'generator' : /PHP-Nuke/i } , html : /<[^>]+Powered by PHP\-Nuke/i } ,
'PHP-Nuke' : { cats : { 1 : 2 } , meta : { 'generator' : /PHP-Nuke/i } , html : /<[^>]+Powered by PHP\-Nuke/i } ,
'phpBB' : { cats : { 1 : 2 } , meta : { 'copyright' : /phpBB Group/ } , html : /(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles\/(sub|pro)silver\/theme|<img[^>]+i_icon_mini )/i, env : /^(style_cookie_settings|phpbb_)/ , headers : { 'Set-Cookie' : /^phpbb/ } } ,
'phpBB' : { cats : { 1 : 2 } , meta : { 'copyright' : /phpBB Group/ } , html : /(Powered by <a[^>]+phpbb|<a[^>]+phpbb[^>]+class=.copyright|\tphpBB style name|<[^>]+styles\/(sub|pro)silver\/theme|<img[^>]+i_icon_mini |<table class="forumline )/i, env : /^(style_cookie_settings|phpbb_)/ , headers : { 'Set-Cookie' : /^phpbb/ } , implies : [ 'PHP' ] } ,
'phpDocumentor' : { cats : { 1 : 4 } , html : /<!-- Generated by phpDocumentor/ } ,
'phpDocumentor' : { cats : { 1 : 4 } , html : /<!-- Generated by phpDocumentor/ , implies : [ 'PHP' ] } ,
'phpMyAdmin' : { cats : { 1 : 3 } , html : /(var pma_absolute_uri = '|PMA_sendHeaderLocation\(|<title>phpMyAdmin<\/title>)/i } ,
'phpMyAdmin' : { cats : { 1 : 3 } , html : /(var pma_absolute_uri = '|PMA_sendHeaderLocation\(|<title>phpMyAdmin<\/title>)/i , implies : [ 'PHP' ] } ,
'phpPgAdmin' : { cats : { 1 : 3 } , html : /(<title>phpPgAdmin<\/title>|<span class=("|')appname("|')>phpPgAdmin)/i } ,
'phpPgAdmin' : { cats : { 1 : 3 } , html : /(<title>phpPgAdmin<\/title>|<span class=("|')appname("|')>phpPgAdmin)/i } ,
'Piwik' : { cats : { 1 : 10 } , html : /var piwikTracker = Piwik\.getTracker\(/i , env : /^Piwik$/ } ,
'Piwik' : { cats : { 1 : 10 } , html : /var piwikTracker = Piwik\.getTracker\(/i , env : /^Piwik$/ } ,
'Plentymarkets' : { cats : { 1 : 6 } , meta : { 'generator' : /www\.plentyMarkets\./i } } ,
'Plentymarkets' : { cats : { 1 : 6 } , meta : { 'generator' : /www\.plentyMarkets\./i } } ,
'Plesk' : { cats : { 1 : 9 } , script : /common\.js\?plesk/i } ,
'Plesk' : { cats : { 1 : 9 } , script : /common\.js\?plesk/i } ,
'Plone' : { cats : { 1 : 1 } , meta : { 'generator' : /Plone/i } } ,
'Plone' : { cats : { 1 : 1 } , meta : { 'generator' : /Plone/i } , implies : [ 'Python' ] } ,
'Plura' : { cats : { 1 : 19 } , html : /<iframe src="http:\/\/pluraserver\.com/ } ,
'Plura' : { cats : { 1 : 19 } , html : /<iframe src="http:\/\/pluraserver\.com/ } ,
'posterous' : { cats : { 1 : 1 , 2 : 11 } , html : /<div class=("|')posterous/i , env : /^Posterous/i } ,
'posterous' : { cats : { 1 : 1 , 2 : 11 } , html : /<div class=("|')posterous/i , env : /^Posterous/i } ,
'Powergap' : { cats : { 1 : 6 } , html : /(s\d\d)\.php\?shopid=\1/ } ,
'Powergap' : { cats : { 1 : 6 } , html : /(s\d\d)\.php\?shopid=\1/ } ,
@ -232,15 +241,15 @@
'Prototype' : { cats : { 1 : 12 } , script : /(prototype|protoaculous)\.js/ , env : /^Prototype$/ } ,
'Prototype' : { cats : { 1 : 12 } , script : /(prototype|protoaculous)\.js/ , env : /^Prototype$/ } ,
'Protovis' : { cats : { 1 : 25 } , script : /protovis.*\.js/ , env : /^protovis$/ } ,
'Protovis' : { cats : { 1 : 25 } , script : /protovis.*\.js/ , env : /^protovis$/ } ,
'punBB' : { cats : { 1 : 2 } , html : /Powered by <a href=("|')[^>]+punbb/i } ,
'punBB' : { cats : { 1 : 2 } , html : /Powered by <a href=("|')[^>]+punbb/i } ,
'Python' : { cats : { 1 : 27 } , script : /media\/cms\/js\/csrf\.js/ , html : /(Powered by <a[^>]+>Django|<input[^>]name=.csrfmiddlewaretoken)/i , headers : { 'Set-Cookie' : /django/ } } ,
'Python' : { cats : { 1 : 27 } } ,
'Quantcast' : { cats : { 1 : 10 } , script : /edge\.quantserve\.com\/quant\.js/ , env : /^quantserve$/ } ,
'Quantcast' : { cats : { 1 : 10 } , script : /edge\.quantserve\.com\/quant\.js/ , env : /^quantserve$/ } ,
'Quick.Cart' : { cats : { 1 : 6 } , html : /<a href="[^>]+opensolution\.org\/">Powered by/i } ,
'Quick.Cart' : { cats : { 1 : 6 } , html : /<a href="[^>]+opensolution\.org\/">Powered by/i } ,
'ReallyCMS' : { cats : { 1 : 1 } , meta : { 'generator' : /ReallyCMS/ } } ,
'ReallyCMS' : { cats : { 1 : 1 } , meta : { 'generator' : /ReallyCMS/ } } ,
'Red Hat' : { cats : { 1 : 28 } , headers : { 'Server' : /Red Hat/i , 'X-Powered-By' : /Red Hat/i } } ,
'Red Hat' : { cats : { 1 : 28 } , headers : { 'Server' : /Red Hat/i , 'X-Powered-By' : /Red Hat/i } } ,
'Raphael' : { cats : { 1 : 25 } , script : /raphael.*\.js/ , env : /^Raphael$/ } ,
'Raphael' : { cats : { 1 : 25 } , script : /raphael.*\.js/ , env : /^Raphael$/ } ,
'reCAPTCHA' : { cats : { 1 : 16 } , script : /(api\-secure\.recaptcha\.net|recaptcha_ajax\.js)/ , html : /<div[^>]+id=("|')recaptcha_image/ , env : /^Recaptcha$/ } ,
'reCAPTCHA' : { cats : { 1 : 16 } , script : /(api\-secure\.recaptcha\.net|recaptcha_ajax\.js)/ , html : /<div[^>]+id=("|')recaptcha_image/ , env : /^Recaptcha$/ } ,
'Reddit' : { cats : { 1 : 2 } , html : /(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)/i , url : /^(www\.)?reddit\.com/ , env : /^reddit$/ } ,
'Reddit' : { cats : { 1 : 2 } , html : /(<script[^>]+>var reddit = {|<a[^>]+Powered by Reddit|powered by <a[^>]+>reddit<)/i , url : /^(www\.)?reddit\.com/ , env : /^reddit$/ , implies : [ 'Python' ] } ,
'Redmine' : { cats : { 1 : 13 } , meta : { 'description' : /Redmine/i } , html : /Powered by <a href=("|')[^>]+Redmine/i } ,
'Redmine' : { cats : { 1 : 13 } , meta : { 'description' : /Redmine/i } , html : /Powered by <a href=("|')[^>]+Redmine/i , implies : [ 'Ruby' ] } ,
'Reinvigorate' : { cats : { 1 : 10 } , html : /reinvigorate\.track\("/ } ,
'Reinvigorate' : { cats : { 1 : 10 } , html : /reinvigorate\.track\("/ } ,
'RequireJS' : { cats : { 1 : 12 } , script : /require.*\.js/ , env : /^requirejs$/ } ,
'RequireJS' : { cats : { 1 : 12 } , script : /require.*\.js/ , env : /^requirejs$/ } ,
'Ruby' : { cats : { 1 : 27 } , headers : { 'Server' : /(Mongrel|WEBrick|Ruby|mod_rails|mod_rack|Phusion.Passenger)/i , 'X-Powered-By' : /(mod_rails|mod_rack|Phusion.Passenger)/i } } ,
'Ruby' : { cats : { 1 : 27 } , headers : { 'Server' : /(Mongrel|WEBrick|Ruby|mod_rails|mod_rack|Phusion.Passenger)/i , 'X-Powered-By' : /(mod_rails|mod_rack|Phusion.Passenger)/i } } ,
@ -269,13 +278,13 @@
'Store Systems' : { cats : { 1 : 6 } , html : /Shopsystem von <a href="http:\/\/www\.store-systems\.de"|\.mws_boxTop/ } ,
'Store Systems' : { cats : { 1 : 6 } , html : /Shopsystem von <a href="http:\/\/www\.store-systems\.de"|\.mws_boxTop/ } ,
'SWFObject' : { cats : { 1 : 19 } , script : /swfobject.*\.js/i , env : /^SWFObject$/ } ,
'SWFObject' : { cats : { 1 : 19 } , script : /swfobject.*\.js/i , env : /^SWFObject$/ } ,
'swift.engine' : { cats : { 1 : 1 } , headers : { 'X-Powered-By' : /swift\.engine/ } } ,
'swift.engine' : { cats : { 1 : 1 } , headers : { 'X-Powered-By' : /swift\.engine/ } } ,
'Swiftlet' : { cats : { 1 : 18 } , meta : { 'generator' : /Swiftlet/i } , html : /Powered by <a href=("|')[^>]+Swiftlet/i , headers : { 'X-Swiftlet-Cache' : /.*/ , 'X-Powered-By' : /Swiftlet/ , 'X-Generator' : /Swiftlet/ } } ,
'Swiftlet' : { cats : { 1 : 18 } , meta : { 'generator' : /Swiftlet/i } , html : /Powered by <a href=("|')[^>]+Swiftlet/i , headers : { 'X-Swiftlet-Cache' : /.*/ , 'X-Powered-By' : /Swiftlet/ , 'X-Generator' : /Swiftlet/ } , implies : [ 'PHP' ] } ,
'Textpattern CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Textpattern/i } } ,
'Textpattern CMS' : { cats : { 1 : 1 } , meta : { 'generator' : /Textpattern/i } } ,
'Tiki Wiki CMS Groupware' : { cats : { 1 : 1 , 2 : 2 , 3 : 8 , 4 : 11 , 5 : 13 } , script : /(\/|_)tiki/ , meta : { 'generator' : /^Tiki/i } } ,
'Tiki Wiki CMS Groupware' : { cats : { 1 : 1 , 2 : 2 , 3 : 8 , 4 : 11 , 5 : 13 } , script : /(\/|_)tiki/ , meta : { 'generator' : /^Tiki/i } } ,
'Timeplot' : { cats : { 1 : 25 } , script : /timeplot.*\.js/ , env : /^Timeplot$/ } ,
'Timeplot' : { cats : { 1 : 25 } , script : /timeplot.*\.js/ , env : /^Timeplot$/ } ,
'TinyMCE' : { cats : { 1 : 24 } , env : /^tinyMCE$/ } ,
'TinyMCE' : { cats : { 1 : 24 } , env : /^tinyMCE$/ } ,
'TomatoCart' : { cats : { 1 : 6 } , meta : { 'generator' : /TomatoCart/i } } ,
'TomatoCart' : { cats : { 1 : 6 } , meta : { 'generator' : /TomatoCart/i } } ,
'Trac' : { cats : { 1 : 13 } , html : /(<a id=("|')tracpowered)/i } ,
'Trac' : { cats : { 1 : 13 } , html : /(<a id=("|')tracpowered)/i , implies : [ 'Python' ] } ,
'Tumblr' : { cats : { 1 : 11 } , html : /<iframe src=("|')http:\/\/www\.tumblr\.com/i , url : /^(www.)?.+\.tumblr\.com/i , headers : { 'X-Tumblr-Usec' : /.*/ } } ,
'Tumblr' : { cats : { 1 : 11 } , html : /<iframe src=("|')http:\/\/www\.tumblr\.com/i , url : /^(www.)?.+\.tumblr\.com/i , headers : { 'X-Tumblr-Usec' : /.*/ } } ,
'Twilight CMS' : { cats : { 1 : 1 } , headers : { 'X-Powered-CMS' : /Twilight CMS/ } } ,
'Twilight CMS' : { cats : { 1 : 1 } , headers : { 'X-Powered-CMS' : /Twilight CMS/ } } ,
'Twitter Bootstrap' : { cats : { 1 : 18 } , script : /twitter\.github\.com\/bootstrap/ , html : /<link[^>]+bootstrap[^>]+css/ , env : /^Twipsy$/ } ,
'Twitter Bootstrap' : { cats : { 1 : 18 } , script : /twitter\.github\.com\/bootstrap/ , html : /<link[^>]+bootstrap[^>]+css/ , env : /^Twipsy$/ } ,
@ -284,7 +293,7 @@
'TYPO3' : { cats : { 1 : 1 } , headers : { 'Set-Cookie' : /fe_typo_user/ } , meta : { 'generator' : /TYPO3/i } , html : /(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)/i , url : /\/typo3/i } ,
'TYPO3' : { cats : { 1 : 1 } , headers : { 'Set-Cookie' : /fe_typo_user/ } , meta : { 'generator' : /TYPO3/i } , html : /(<(script[^>]* src|link[^>]* href)=[^>]*fileadmin|<!--TYPO3SEARCH)/i , url : /\/typo3/i } ,
'Ubercart' : { cats : { 1 : 6 } , script : /uc_cart\/uc_cart_block\.js/ } ,
'Ubercart' : { cats : { 1 : 6 } , script : /uc_cart\/uc_cart_block\.js/ } ,
'Ubuntu' : { cats : { 1 : 28 } , headers : { 'Server' : /Ubuntu/i , 'X-Powered-By' : /Ubuntu/i } } ,
'Ubuntu' : { cats : { 1 : 28 } , headers : { 'Server' : /Ubuntu/i , 'X-Powered-By' : /Ubuntu/i } } ,
'Umbraco' : { cats : { 1 : 1 } , meta : { 'generator' : /umbraco/i } , headers : { 'X-Umbraco-Version' : /.+/ } , html : /powered by <a href=[^>]+umbraco/i } ,
'Umbraco' : { cats : { 1 : 1 } , meta : { 'generator' : /umbraco/i } , headers : { 'X-Umbraco-Version' : /.+/ } , html : /powered by <a href=[^>]+umbraco/i , implies : [ 'Microsoft ASP.NET' ] } ,
'Underscore.js' : { cats : { 1 : 12 } , script : /underscore.*\.js/ } ,
'Underscore.js' : { cats : { 1 : 12 } , script : /underscore.*\.js/ } ,
'UNIX' : { cats : { 1 : 28 } , headers : { 'Server' : /Unix/i } } ,
'UNIX' : { cats : { 1 : 28 } , headers : { 'Server' : /Unix/i } } ,
'UserRules' : { cats : { 1 : 13 } , html : /var _usrp =/ , env : /^\_usrp$/ } ,
'UserRules' : { cats : { 1 : 13 } , html : /var _usrp =/ , env : /^\_usrp$/ } ,
@ -297,8 +306,9 @@
'Vimeo' : { cats : { 1 : 14 } , html : /<(param|embed)[^>]+vimeo\.com\/moogaloop/i } ,
'Vimeo' : { cats : { 1 : 14 } , html : /<(param|embed)[^>]+vimeo\.com\/moogaloop/i } ,
'VirtueMart' : { cats : { 1 : 6 } , html : /<div id=("|')vmMainPage/ } ,
'VirtueMart' : { cats : { 1 : 6 } , html : /<div id=("|')vmMainPage/ } ,
'VisualPath' : { cats : { 1 : 10 } , script : /visualpath[^\/]*\.trackset\.it\/[^\/]+\/track\/include\.js/ } ,
'VisualPath' : { cats : { 1 : 10 } , script : /visualpath[^\/]*\.trackset\.it\/[^\/]+\/track\/include\.js/ } ,
'VIVVO' : { cats : { 1 : 1 } , headers : { 'Set-Cookie' : /VivvoSessionId/ , env : /^vivvo/i } } ,
'Vox' : { cats : { 1 : 11 } , url : /^(www.)?.+\.vox\.com/i } ,
'Vox' : { cats : { 1 : 11 } , url : /^(www.)?.+\.vox\.com/i } ,
'VP-ASP' : { cats : { 1 : 6 } , script : /vs350\.js/ , html : /<a[^>]+>Powered By VP\-ASP Shopping Cart<\/a>/ } ,
'VP-ASP' : { cats : { 1 : 6 } , script : /vs350\.js/ , html : /<a[^>]+>Powered By VP\-ASP Shopping Cart<\/a>/ , implies : [ 'Microsoft ASP.NET' ] } ,
'W3Counter' : { cats : { 1 : 10 } , script : /w3counter\.com\/tracker\.js/ } ,
'W3Counter' : { cats : { 1 : 10 } , script : /w3counter\.com\/tracker\.js/ } ,
'Web Optimizer' : { cats : { 1 : 10 } , html : /<title [^>]*lang=("|')wo("|')>/ } ,
'Web Optimizer' : { cats : { 1 : 10 } , html : /<title [^>]*lang=("|')wo("|')>/ } ,
'Websale' : { cats : { 1 : 6 } , url : /\/websale7\// } ,
'Websale' : { cats : { 1 : 6 } , url : /\/websale7\// } ,
@ -310,10 +320,11 @@
'Webtrends' : { cats : { 1 : 10 } , html : /<img[^>]+id=("|')DCSIMG("|')[^>]+webtrends/i , env : /^(WTOptimize|WebTrends)/i } ,
'Webtrends' : { cats : { 1 : 10 } , html : /<img[^>]+id=("|')DCSIMG("|')[^>]+webtrends/i , env : /^(WTOptimize|WebTrends)/i } ,
'Weebly' : { cats : { 1 : 1 } , html : /<[^>]+class=("|')weebly/i } ,
'Weebly' : { cats : { 1 : 1 } , html : /<[^>]+class=("|')weebly/i } ,
'WikkaWiki' : { cats : { 1 : 8 } , meta : { 'generator' : /WikkaWiki/ } , html : /Powered by <a href=("|')[^>]+WikkaWiki/i } ,
'WikkaWiki' : { cats : { 1 : 8 } , meta : { 'generator' : /WikkaWiki/ } , html : /Powered by <a href=("|')[^>]+WikkaWiki/i } ,
'Windows Server' : { cats : { 1 : 28 } } ,
'wink' : { cats : { 1 : 26 , 2 : 12 } , script : /(\_base\/js\/base|wink).*\.js/i , env : /^wink$/ } ,
'wink' : { cats : { 1 : 26 , 2 : 12 } , script : /(\_base\/js\/base|wink).*\.js/i , env : /^wink$/ } ,
'Wolf CMS' : { cats : { 1 : 1 } , html : /<a href=("|')[^>]+wolfcms.org.+Wolf CMS.+inside/i } ,
'Wolf CMS' : { cats : { 1 : 1 } , html : /<a href=("|')[^>]+wolfcms.org.+Wolf CMS.+inside/i } ,
'Woopra' : { cats : { 1 : 10 } , script : /static\.woopra\.com/ } ,
'Woopra' : { cats : { 1 : 10 } , script : /static\.woopra\.com/ } ,
'WordPress' : { cats : { 1 : 1 , 2 : 11 } , meta : { 'generator' : /WordPress/i } , html : /<link rel=("|')stylesheet("|') [^>]+wp-content/i , env : /^wp_username$/ } ,
'WordPress' : { cats : { 1 : 1 , 2 : 11 } , meta : { 'generator' : /WordPress/i } , html : /<link rel=("|')stylesheet("|') [^>]+wp-content/i , env : /^wp_username$/ , implies : [ 'PHP' ] } ,
'xajax' : { cats : { 1 : 12 } , script : /xajax_core.*\.js/i } ,
'xajax' : { cats : { 1 : 12 } , script : /xajax_core.*\.js/i } ,
'Xanario' : { cats : { 1 : 6 } , meta : { 'generator' : /xanario shopsoftware/i } } ,
'Xanario' : { cats : { 1 : 6 } , meta : { 'generator' : /xanario shopsoftware/i } } ,
'XenForo' : { cats : { 1 : 2 } , html : /(jQuery\.extend\(true, XenForo|Forum software by XenForo™|<!\-\-XF:branding)/ } ,
'XenForo' : { cats : { 1 : 2 } , html : /(jQuery\.extend\(true, XenForo|Forum software by XenForo™|<!\-\-XF:branding)/ } ,