Merge pull request #73 from gadcam/master

Improved detection
main
Elbert Foo 13 years ago
commit 1c1459506e

@ -36,46 +36,46 @@
};
w.apps = {
'1und1': { cats: [ 6 ], url: /\/shop\/catalog\/browse\?sessid\=/ },
'1C-Bitrix': { cats: [ 1 ], html: /<link[^>]+components\/bitrix/i, script: /1c\-bitrix/i },
'1und1': { cats: [ 6 ], url: /\/shop\/catalog\/browse\?sessid\=/, 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 } },
'AddThis': { cats: [ 5 ], script: /addthis\.com\/js/, env: /^addthis$/ },
'Adobe GoLive': { cats: [ 20 ], meta: { 'generator': /Adobe GoLive/i } },
'Advanced Web Stats': { cats: [ 10 ], html: /aws.src = [^<]+caphyon\-analytics/i },
'Ametys': { cats: [ 1 ], meta: { 'generator': /(Ametys|Anyware Technologies)/i }, script: /STools.js/ },
'Amiro.CMS': { cats: [ 1 ], meta: { 'generator': /Amiro/i } },
'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' ] },
'Amiro.CMS': { cats: [ 1 ], meta: { 'generator': /Amiro/i }, html: /system_js\.php(\?|\-)script=/, implies: [ 'PHP' ] },
'AOLserver': { cats: [ 22 ], headers: { 'Server': /AOLserver/i } },
'Apache': { cats: [ 22 ], headers: { 'Server': /(Apache($|[^-])|HTTPD)/i } },
'Apache Tomcat': { cats: [ 22 ], headers: { 'Server': /Apache-Coyote/i } },
'Apache Traffic Server': { cats: [ 22 ], headers: { 'Server': /YTS/i } },
'Arc Forum': { cats: [ 2 ], html: /ping\.src = node\.href;/ },
'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 },
'Atlassian Jira': { cats: [ 13 ], env: /^jira$/i, html: /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/jira/i, implies: [ 'Java' ] },
'Atlassian Confluence': { cats: [ 8 ], html: /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/confluence/i, implies: [ 'Java', 'Apache Tomcat' ]},
'Atlassian Jira': { cats: [ 13 ], env: /^jira$/i, html: /Powered by <a href=.http:\/\/www\.atlassian\.com\/software\/jira/i, implies: [ 'Java', 'Apache Tomcat' ] },
'Alloy': { cats: [ 12 ], env: /^AUI$/ },
'AWStats': { cats: [ 10 ], meta: { 'generator': /AWStats/i } },
'Banshee': { cats: [ 1, 18 ], html: /Built upon the <a href=("|')[^>]+banshee-php\.org/i },
'Backbone.js': { cats: [ 12 ], script: /backbone.*\.js/, env: /^Backbone$/ },
'BIGACE': { cats: [ 1 ], meta: { 'generator': /BIGACE/ }, html: /Powered by <a href=("|')[^>]+BIGACE|<!--\s+Site is running BIGACE/i },
'BigDump': { cats: [ 3 ], html: /<!-- <h1>BigDump: Staggered MySQL Dump Importer/ },
'Bigware': { cats: [ 6 ], html: /bigware/i },
'AWStats': { cats: [ 10 ], meta: { 'generator': /AWStats/i }, implies: [ 'Perl' ] },
'Banshee': { cats: [ 1, 18 ], html: /Built upon the <a href=("|')[^>]+banshee-php\.org/i, implies: [ 'PHP' ] },
'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' ] },
'BigDump': { cats: [ 3 ], html: /<!-- <h1>BigDump: Staggered MySQL Dump Importer/, implies: [ 'PHP' ] },
'Bigware': { cats: [ 6 ], html: /Diese <a href=("|')http:\/\/www\.bigware\.de("|')/i, implies: [ 'PHP' ] },
'blip.tv': { cats: [ 14 ], html: /<(param|embed)[^>]+blip\.tv\/play/i },
'Blogger': { cats: [ 11 ], meta: { 'generator': /blogger/i }, url: /^(www.)?.+\.blogspot\.com/i },
'Bugzilla': { cats: [ 13 ], html: /<[^>]+(id|title|name)=("|')bugzilla/i },
'Burning Board': { cats: [ 2 ], html: /<a href=('|")[^>]+woltlab\.com.+Burning Board/i },
'Bugzilla': { cats: [ 13 ], html: /href="enter_bug\.cgi">/, implies: [ 'Perl' ] },
'Burning Board': { cats: [ 2 ], html: /<a href=('|")[^>]+woltlab\.com.+Burning Board/i, implies: [ 'PHP' ] },
'Business Catalyst': { cats: [ 1 ], script: /CatalystScripts/, html: /<!-- BC_OBNW -->/ },
'CakePHP': { cats: [ 18 ], headers: { 'set-cookie': /cakephp=/ }, meta: { 'application-name': /CakePHP/ } },
'Cargo': { cats: [ 1 ], script: /\/cargo\./i, html: /<link [^>]+Cargo feed/ },
'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' ] },
'CentOS': { cats: [ 28 ], headers: { 'Server': /CentOS/i, 'X-Powered-By': /CentOS/i } },
'Chameleon': { cats: [ 1 ], meta: { 'generator': /chameleon\-cms/i } },
'chartbeat': { cats: [ 10 ], html: /function loadChartbeat\(\) {/i },
'Chamilo': { cats: [ 21 ], meta: { 'generator': /Chamilo/i }, headers: { 'X-Powered-By': /Chamilo/ } },
'Chameleon': { cats: [ 1 ], meta: { 'generator': /chameleon\-cms/i }, implies: [ 'Apache', 'PHP' ] },
'Chartbeat': { cats: [ 10 ], html: /function loadChartbeat\(\) {/i },
'Chamilo': { cats: [ 21 ], meta: { 'generator': /Chamilo/i }, headers: { 'X-Powered-By': /Chamilo/i }, implies: [ 'PHP' ] },
'Cherokee': { cats: [ 22 ], headers: { 'Server': /Cherokee/i } },
'CKEditor': { cats: [ 24 ], env: /^CKEDITOR$/ },
'ClickHeat': { cats: [ 10 ], script: /clickheat.*\.js/i, env: /^clickHeatBrowser$/ },
'CKEditor': { cats: [ 24 ], env: /^CKEDITOR$/i, implies: [ 'PHP' ] },
'ClickHeat': { cats: [ 10 ], script: /clickheat.*\.js/i, env: /^clickHeatBrowser$/, implies: [ 'PHP' ] },
'ClickTale': { cats: [ 10 ], html: /if\(typeof ClickTale(Tag)*==("|')function("|')\)/, env: /^ClickTale/i },
'Clicky': { cats: [ 10 ], script: /static\.getclicky\.com/, env: /^clicky$/ },
'CMS Made Simple': { cats: [ 1 ], meta: { 'generator': /CMS Made Simple/i } },
'CMS Made Simple': { cats: [ 1 ], meta: { 'generator': /CMS Made Simple/i }, implies: [ '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' ] },
'Commerce Server': { cats: [ 6 ], headers: { 'COMMERCE-SERVER-SOFTWARE': /.+/ } },
@ -88,12 +88,12 @@
'Cosmoshop': { cats: [ 6 ], script: /cosmoshop_functions\.js/ },
'Cotonti': { cats: [ 1 ], meta: { 'generator': /Cotonti/i } },
'CouchDB': { cats: [ 22 ], headers: { 'Server': /CouchDB/i } },
'cPanel': { cats: [ 9 ], html: /<!-- cPanel/i },
'cPanel': { cats: [ 9 ], headers: { 'Server':/cpsrvd/i }, html: /<!-- cPanel/i },
'Crazy Egg': { cats: [ 10 ], script: /cetrk\.com\/pages\/scripts\/[0-9]+\/[0-9]+\.js/ },
'CS Cart': { cats: [ 6 ], html: /&nbsp;Powered by (<a href=.http:\/\/www\.cs\-cart\.com|CS\-Cart)/i },
'CubeCart': { cats: [ 6 ], html: /(Powered by <a href=.http:\/\/www\.cubecart\.com|<p[^>]+>Powered by CubeCart)/i },
'cufon': { cats: [ 17 ], script: /cufon\-yui\.js/, env: /^Cufon$/ },
//'dashCommerce': { cats: [ 6 ], html: /name\="\_\_EVENTTARGET" id\="\_\_EVENTTARGET"/ },
//'dashCommerce': { cats: [ 6 ], html: /name\="\_\_EVENTTARGET" id\="\_\_EVENTTARGET"/, implies: [ 'Microsoft ASP.NET', 'IIS', 'Windows Server' ] },
'd3': { cats: [ 25 ], script: /d3(\.min)?\.js/ },
'Dancer': { cats: [ 18 ], headers: { 'X-Powered-By': /Perl Dancer/, 'Server': /Perl Dancer/ }, implies: [ 'Perl' ] },
'Danneo CMS': { cats: [ 1 ], meta: { 'generator': /Danneo/i } },
@ -126,7 +126,7 @@
'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/ } },
'FluxBB': { cats: [ 2 ], html: /Powered by (<strong>)?<a href=("|')[^>]+fluxbb/i },
'Flyspray': { cats: [ 13 ], html: /(<a[^>]+>Powered by Flyspray|<map id=("|')projectsearchform)/ },
'Flyspray': { cats: [ 13 ], html: /(<a[^>]+>Powered by Flyspray|<map id=("|')projectsearchform|Powered by <a href=("|')http:\/\/flyspray\.org\/("|'))/ },
'FreeBSD': { cats: [ 28 ], headers: { 'Server': /FreeBSD/i } },
'FWP': { cats: [ 6 ], meta: {'generator': /FWP Shop/ } },
'FrontPage': { cats: [ 20 ], meta: { 'generator': /Microsoft FrontPage/ }, html: /<html[^>]+urn:schemas\-microsoft\-com:office:office/i },
@ -187,7 +187,7 @@
'MaxSite CMS': { cats: [ 1 ], meta: { 'generator': /MaxSite CMS/i } },
'MediaWiki': { cats: [ 8 ], meta: { 'generator': /MediaWiki/i }, html: /(<a[^>]+>Powered by MediaWiki<\/a>|<[^>]+id=("|')t\-specialpages)/i },
'Meebo': { cats: [ 5 ], html: /(<iframe id=("|')meebo\-iframe("|')|Meebo\('domReady'\))/ },
'Microsoft ASP.NET': { cats: [ 18 ], html: /<input[^>]+name=("|')__VIEWSTATE/, headers: { 'X-Powered-By': /ASP\.NET/, 'X-AspNet-Version': /.+/ }, implies: [ 'Windows Server' ] },
'Microsoft ASP.NET': { cats: [ 18 ], html: /<input[^>]+name=("|')__VIEWSTATE/i, headers: { 'X-Powered-By': /ASP\.NET/, 'X-AspNet-Version': /.+/ }, implies: [ 'IIS', 'Windows Server' ] },
'Microsoft SharePoint': { cats: [ 1 ], meta: { 'generator': /Microsoft SharePoint/i }, headers: { 'MicrosoftSharePointTeamServices': /.*/, 'X-SharePointHealthScore': /.*/, 'SPRequestGuid': /.*/, 'SharePointHealthScore': /.*/ } },
'MiniBB': { cats: [ 2 ], html: /<a href=("|')[^>]+minibb.+\s+<!--End of copyright link/i },
'Mint': { cats: [ 10 ], script: /mint\/\?js/, env: /^Mint$/ },
@ -237,7 +237,7 @@
'phpDocumentor': { cats: [ 4 ], html: /<!-- Generated by phpDocumentor/, implies: [ 'PHP' ] },
'phpMyAdmin': { cats: [ 3 ], html: /(var pma_absolute_uri = '|PMA_sendHeaderLocation\(|<title>phpMyAdmin<\/title>)/i, implies: [ 'PHP' ] },
'phpPgAdmin': { cats: [ 3 ], html: /(<title>phpPgAdmin<\/title>|<span class=("|')appname("|')>phpPgAdmin)/i },
'Piwik': { cats: [ 10 ], html: /var piwikTracker = Piwik\.getTracker\(/i, env: /^Piwik$/ },
'Piwik': { cats: [ 10 ], html: /var piwikTracker = Piwik\.getTracker\(/i, env: /^Piwik$/i },
'Plentymarkets': { cats: [ 6 ], meta: { 'generator': /www\.plentyMarkets\./i } },
'Plesk': { cats: [ 9 ], script: /common\.js\?plesk/i },
'Plone': { cats: [ 1 ], meta: { 'generator': /Plone/i }, implies: [ 'Python' ] },