From af705b4b67406236ff036240564001615be771e0 Mon Sep 17 00:00:00 2001 From: AlexByte Date: Sat, 18 Mar 2017 06:26:55 +0300 Subject: [PATCH 1/7] Fix category of PNP-NUKE PHP-NUKE is CMS --- src/apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index e36664ac0..590534f93 100755 --- a/src/apps.json +++ b/src/apps.json @@ -5750,7 +5750,7 @@ }, "PHP-Nuke": { "cats": [ - 2 + 1 ], "html": "<[^>]+Powered by PHP-Nuke", "icon": "PHP-Nuke.png", From 03d649b3ea55a3368a4d67e637d42e8451eec59f Mon Sep 17 00:00:00 2001 From: jvoisin Date: Sat, 18 Mar 2017 21:44:19 +0100 Subject: [PATCH 2/7] Fix various warnings found by scrutinity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Some functions didn't return anything - Some `for…in` related variables weren't declared - Some variables were unused --- src/drivers/chrome/js/driver.js | 4 ++-- src/drivers/chrome/js/options.js | 6 +++--- src/drivers/firefox/data/js/tab.js | 6 +----- src/drivers/webextension/js/driver.js | 4 ++-- src/drivers/webextension/js/iframe.js | 4 ++-- src/wappalyzer.js | 2 +- 6 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/drivers/chrome/js/driver.js b/src/drivers/chrome/js/driver.js index 3b0fa13ff..d2ec6ae29 100644 --- a/src/drivers/chrome/js/driver.js +++ b/src/drivers/chrome/js/driver.js @@ -54,7 +54,7 @@ firstRun = true; // Set defaults - for ( option in defaults ) { + for ( var option in defaults ) { localStorage[option] = defaults[option]; } } else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) { @@ -189,7 +189,7 @@ if ( count > 0 ) { // Find the main application to display - var i, appName, found = false; + var appName, found = false; w.driver.categoryOrder.forEach(function(match) { for ( appName in w.detected[url] ) { diff --git a/src/drivers/chrome/js/options.js b/src/drivers/chrome/js/options.js index 7ee9be839..92d1fe3f7 100644 --- a/src/drivers/chrome/js/options.js +++ b/src/drivers/chrome/js/options.js @@ -15,9 +15,9 @@ document.addEventListener('DOMContentLoaded', function() { }, load: function() { - for ( option in options.opts ) { - if ( value = localStorage[option] ) { - options.opts[option] = value; + for ( var option in options.opts ) { + if ( localStorage[option] ) { + options.opts[option] = localStorage[option]; } } diff --git a/src/drivers/firefox/data/js/tab.js b/src/drivers/firefox/data/js/tab.js index eafd3c507..72719ec2b 100644 --- a/src/drivers/firefox/data/js/tab.js +++ b/src/drivers/firefox/data/js/tab.js @@ -1,11 +1,7 @@ (function() { - var lastEnv = []; - try { if ( document && document.contentType === 'text/html' ) { - var - html = new XMLSerializer().serializeToString(document), - env = []; // TODO: Remove, `env` not used in this scope? + var html = new XMLSerializer().serializeToString(document), self.port.emit('log', html); diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js index 9519d680d..f5583a670 100644 --- a/src/drivers/webextension/js/driver.js +++ b/src/drivers/webextension/js/driver.js @@ -54,7 +54,7 @@ firstRun = true; // Set defaults - for ( option in defaults ) { + for ( var option in defaults ) { localStorage[option] = defaults[option]; } } else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) { @@ -195,7 +195,7 @@ if ( count > 0 ) { // Find the main application to display - var i, appName, found = false; + var appName, found = false; w.driver.categoryOrder.forEach(function(match) { for ( appName in w.detected[url] ) { diff --git a/src/drivers/webextension/js/iframe.js b/src/drivers/webextension/js/iframe.js index 70f6fc408..fcf40539f 100644 --- a/src/drivers/webextension/js/iframe.js +++ b/src/drivers/webextension/js/iframe.js @@ -112,8 +112,6 @@ var exports = {}; try { dict[key] = window.decodeURIComponent(val); } catch (e) { - - continue; } } return dict; @@ -307,6 +305,7 @@ var exports = {}; return div; } } + return null; }; TopSearcher.prototype._jumpedOut = function(el) { @@ -988,6 +987,7 @@ var exports = {}; } } } + return null; } function onPostMessage(event) { diff --git a/src/wappalyzer.js b/src/wappalyzer.js index 7bddd6930..8eb4f289f 100644 --- a/src/wappalyzer.js +++ b/src/wappalyzer.js @@ -242,7 +242,7 @@ var wappalyzer = (function() { */ analyze: function(hostname, url, data) { var - i, j, app, confidence, type, regexMeta, regexScript, match, content, meta, header, version, id, + i, app, confidence, type, regexMeta, regexScript, match, content, meta, header, version, id, profiler = new Profiler(), apps = {}, excludes = [], From d78b35336f3b173c86a54e911789f27c581d0d62 Mon Sep 17 00:00:00 2001 From: Craig London Date: Sat, 18 Mar 2017 20:39:00 -0400 Subject: [PATCH 3/7] Add detection for InfernoJS --- src/apps.json | 8 ++++++++ src/icons/InfernoJS.png | Bin 0 -> 1149 bytes 2 files changed, 8 insertions(+) create mode 100755 src/icons/InfernoJS.png diff --git a/src/apps.json b/src/apps.json index 6793f35ee..46de53a51 100755 --- a/src/apps.json +++ b/src/apps.json @@ -3587,6 +3587,14 @@ "icon": "default.svg", "website": "http://indyproject.org" }, + "InfernoJS": { + "cats": [ + 12 + ], + "env": "^Inferno$", + "icon": "InfernoJS.png", + "website": "https://infernojs.org/" + }, "Infusionsoft": { "cats": [ 32 diff --git a/src/icons/InfernoJS.png b/src/icons/InfernoJS.png new file mode 100755 index 0000000000000000000000000000000000000000..5e1bedb8670312297742d82d1d816a7e44e07c85 GIT binary patch literal 1149 zcmV-@1cLjCP)(n4-&I!-iZgt;`+hD<%@T)xMvm%z=hrjOTf? zH#S?Kgpa{F7)<-VC7PReVtx$ z(=cI*J?#4l3_C#txC$%Rd)^UU&qQhMQQ8&FpMdKjB7?E6F4_7%BY`P+`~LR!I_f+N z{UA(~=62;#(mYurc+Ab^I@Qb@j8%0bDv44l?U4WZ|-a3JOaKotl&l=xfq3ft5Zj?#Fl6A%tiQ7dy-ary7q=um> zJ@%SIa2I@QX3KhCD;gVEc%A%S;P{k`h> z$kKe?lA4CcE7DsgumHX=T7UYGZQmzb5R$+haK20eU+E!G&m(Wyc0HPBj0BELZ@p~( z3Kq6`-ciQSA$SZ1p*k=G_kbwFIjDn6>bZc{BkMfxBO`%}uuvwj*jTfZYd!B}f}SFH z0;b?3Bw;o5S4f};KL?&C(0UThSJgfs6r-?6ComD5AZ)q&2zp*Gxrkgx>p3)EFqU~y zdg}xV!5+wX-hP6fk--tobr0;O2fB=vR*>GM=73zoIW-4FL<(p*X!Zm>lxMYG1t*ME zaO%Bmww~b2krP0p+qN6bRiHc<=zZWdqwsR==FQCnzYiiJJ!n~IUNJmgm)?3a^38LA zJJ`EJsZS*)P?V$&ODG_ z3^@(29sA-#+k z8C&8$a7(EhQ3i@3K_d*ujz?YhZjR^2Xx%YPPQmwzll=D~Wm{6dza-=PyJSp>3+kFm z*RoC!VYr;*S+;3tJDkm~Jm1ptK>w;$@q@N)vD2-$J?{W@z9|(Ck54l)GAmAao7z9;VAUL8?X}|RCTIm`eOPYeD1O!*F#@A P00000NkvXXu0mjf<@pzL literal 0 HcmV?d00001 From 15bb6d8ec4368f935cb4db1651478e90883dfb0c Mon Sep 17 00:00:00 2001 From: Elbert Alias Date: Sun, 19 Mar 2017 14:02:47 +1100 Subject: [PATCH 4/7] Fix ASP.NET imply, update version numbers --- src/apps.json | 2 +- src/drivers/chrome/manifest.json | 2 +- src/drivers/firefox/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/apps.json b/src/apps.json index e36664ac0..ab3918712 100755 --- a/src/apps.json +++ b/src/apps.json @@ -2049,7 +2049,7 @@ ], "html": "]* href=\"\\/DovetailWRP\\/", "icon": "DovetailWRP.png", - "implies": "ASP.NET", + "implies": "Microsoft ASP.NET", "script": "\\/DovetailWRP\\/", "website": "http://www.dovetailinternet.com" }, diff --git a/src/drivers/chrome/manifest.json b/src/drivers/chrome/manifest.json index 95e7d2102..2542cc790 100644 --- a/src/drivers/chrome/manifest.json +++ b/src/drivers/chrome/manifest.json @@ -1,7 +1,7 @@ { "name": "Wappalyzer", "homepage_url": "https://wappalyzer.com?pk_campaign=chrome&pk_kwd=context", "description": "Identifies software on the web", - "version": "2.51", + "version": "2.52", "default_locale": "en", "manifest_version": 2, "icons": { diff --git a/src/drivers/firefox/package.json b/src/drivers/firefox/package.json index b688d50d8..c6a05fcf8 100644 --- a/src/drivers/firefox/package.json +++ b/src/drivers/firefox/package.json @@ -8,7 +8,7 @@ "description": "Identifies software on the web", "author": "Elbert Alias", "license": "GPLv3", - "version": "3.2.10", + "version": "3.2.11", "main": "driver.js", "preferences": [{ "name": "tracking", From 1cd2fd70b04e2146bc48ab3869f19b57466c69fa Mon Sep 17 00:00:00 2001 From: Elbert Alias Date: Sun, 19 Mar 2017 15:22:22 +1100 Subject: [PATCH 5/7] Make apps.json valid JSON, add priority value to categories, unify WebExtension manifest files --- bin/wappalyzer-build | 20 +- schema.json | 13 +- src/apps.json | 2292 +++++++++-------- src/drivers/bookmarklet/driver.js | 2 +- src/drivers/phantomjs/driver.js | 2 +- .../images/{logo.svg => icon.svg} | 0 src/drivers/webextension/js/driver.js | 59 +- src/drivers/webextension/js/popup.js | 2 +- src/drivers/webextension/manifest.edge.json | 11 +- .../webextension/manifest.firefox.json | 56 - ...nifest.chrome-opera.json => manifest.json} | 16 +- src/icons/{Discuz! X.png => Discuz X.png} | Bin 12 files changed, 1271 insertions(+), 1202 deletions(-) rename src/drivers/webextension/images/{logo.svg => icon.svg} (100%) delete mode 100644 src/drivers/webextension/manifest.firefox.json rename src/drivers/webextension/{manifest.chrome-opera.json => manifest.json} (89%) rename src/icons/{Discuz! X.png => Discuz X.png} (100%) diff --git a/bin/wappalyzer-build b/bin/wappalyzer-build index 44cb73a39..9c4989728 100755 --- a/bin/wappalyzer-build +++ b/bin/wappalyzer-build @@ -37,9 +37,11 @@ do dest="$WAPPALYZER_ROOT/src/icons/converted/$(basename "$svg").png" - if [[ ! -f "$dest" ]]; then - node $WAPPALYZER_NODE_PATH/node_modules/svg2png/bin/svg2png-cli "$svg" --width=32 --height=32 --output "$dest" || true + if [[ -f "$dest" ]]; then + rm "$dest" fi + + #node $WAPPALYZER_NODE_PATH/node_modules/svg2png/bin/svg2png-cli "$svg" --width=32 --height=32 --output "$dest" || true done IFS="$OIFS" @@ -66,20 +68,14 @@ pushd $WAPPALYZER_ROOT/src/drivers/chrome > /dev/null zip -qr $WAPPALYZER_ROOT/build/wappalyzer_chrome.zip . -# Google Chrome -echo "Building WebExtension drivers..." +# WebExtension +echo "Building WebExtension driver..." pushd $WAPPALYZER_ROOT/src/drivers/webextension > /dev/null -zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.firefox.zip . -x manifest.chrome-opera.json manifest.edge.json - -printf "@ manifest.firefox.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.firefox.zip - -zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.chrome-opera.zip . -x manifest.firefox.json manifest.edge.json - -printf "@ manifest.chrome-opera.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.chrome-opera.zip +zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.zip . -x manifest.edge.json -zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip . -x manifest.chrome-opera.json manifest.firefox.json +zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip . -x manifest.json printf "@ manifest.edge.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip diff --git a/schema.json b/schema.json index 8be26af2a..c70605b61 100644 --- a/schema.json +++ b/schema.json @@ -9,7 +9,16 @@ "additionalProperties": false, "patternProperties": { "^[0-9]+$": { - "type": "string" + "type": "object", + "required": true, + "properties": { + "priority": { + "type": "string" + }, + "name": { + "type": "string" + } + } } } }, @@ -22,7 +31,7 @@ "cats": { "type": "array", "items": { - "type": "integer" + "type": "string" }, "required": true }, diff --git a/src/apps.json b/src/apps.json index 34e62fab6..04b2f0408 100755 --- a/src/apps.json +++ b/src/apps.json @@ -2,7 +2,7 @@ "apps": { "1&1": { "cats": [ - 6 + "6" ], "icon": "1and1.svg", "implies": "PHP", @@ -11,7 +11,7 @@ }, "1C-Bitrix": { "cats": [ - 1 + "1" ], "headers": { "Set-Cookie": "BITRIX_", @@ -25,7 +25,7 @@ }, "2z Project": { "cats": [ - 1 + "1" ], "icon": "2z Project.png", "meta": { @@ -35,7 +35,7 @@ }, "3DM": { "cats": [ - 19 + "19" ], "html": "3ware 3DM([\\d\\.]+)?\\;version:\\1", "icon": "3DM.png", @@ -44,8 +44,8 @@ }, "3dCart": { "cats": [ - 1, - 6 + "1", + "6" ], "headers": { "Set-Cookie": "3dvisit", @@ -57,7 +57,7 @@ }, "3ware": { "cats": [ - 22 + "22" ], "headers": { "Server": "3ware\\/?([\\d\\.]+)?\\;version:\\1" @@ -67,7 +67,7 @@ }, "AD EBiS": { "cats": [ - 10 + "10" ], "html": [ "<!-- EBiS contents tag", @@ -80,7 +80,7 @@ }, "AMPcms": { "cats": [ - 1 + "1" ], "env": "^amp_js_init$", "headers": { @@ -93,7 +93,7 @@ }, "AOLserver": { "cats": [ - 22 + "22" ], "headers": { "Server": "AOLserver/?([\\d.]+)?\\;version:\\1" @@ -103,7 +103,7 @@ }, "AT Internet Analyzer": { "cats": [ - 10 + "10" ], "env": [ "^xtsite$", @@ -114,7 +114,7 @@ }, "AT Internet XiTi": { "cats": [ - 10 + "10" ], "env": "^Xt_", "icon": "AT Internet.png", @@ -123,7 +123,7 @@ }, "ATEN": { "cats": [ - 22 + "22" ], "headers": { "Server": "ATEN HTTP Server(?:\\(?V?([\\d\\.]+)\\)?)?\\;version:\\1" @@ -133,7 +133,7 @@ }, "AWStats": { "cats": [ - 10 + "10" ], "icon": "AWStats.png", "implies": "Perl", @@ -144,7 +144,7 @@ }, "Accessible Portal": { "cats": [ - 1 + "1" ], "icon": "Accessible Portal.png", "implies": "PHP", @@ -155,7 +155,7 @@ }, "Act-On": { "cats": [ - 32 + "32" ], "env": "^ActOn$", "icon": "ActOn.png", @@ -163,7 +163,7 @@ }, "AdInfinity": { "cats": [ - 36 + "36" ], "icon": "AdInfinity.png", "script": "adinfinity\\.com\\.au", @@ -171,7 +171,7 @@ }, "AdRiver": { "cats": [ - 36 + "36" ], "env": "^adriver$", "html": "(?:<embed[^>]+(?:src=\"https?://mh\\d?\\.adriver\\.ru/|flashvars=\"[^\"]*(?:http:%3A//(?:ad|mh\\d?)\\.adriver\\.ru/|adriver_banner))|<(?:(?:iframe|img)[^>]+src|a[^>]+href)=\"https?://ad\\.adriver\\.ru/)", @@ -181,7 +181,7 @@ }, "AdRoll": { "cats": [ - 36 + "36" ], "env": "^adroll_", "icon": "AdRoll.svg", @@ -190,7 +190,7 @@ }, "Adcash": { "cats": [ - 36 + "36" ], "env": "^(?:ac_bgclick_URL|ct_(?:siteunder|tag|n(?:SuUrl(?:Opp)?)|Su(?:Loaded|Url)))$", "icon": "Adcash.svg", @@ -200,7 +200,7 @@ }, "AddShoppers": { "cats": [ - 5 + "5" ], "icon": "AddShoppers.png", "script": "cdn\\.shop\\.pe/widget/", @@ -208,7 +208,7 @@ }, "AddThis": { "cats": [ - 5 + "5" ], "env": "^addthis", "icon": "AddThis.svg", @@ -217,7 +217,7 @@ }, "AddToAny": { "cats": [ - 5 + "5" ], "env": "^a2apage_init$", "icon": "AddToAny.png", @@ -226,7 +226,7 @@ }, "Adminer": { "cats": [ - 3 + "3" ], "html": [ "Adminer</a> <span class=\"version\">([\\d.]+)</span>\\;version:\\1", @@ -238,7 +238,7 @@ }, "Adnegah": { "cats": [ - 36 + "36" ], "env": "^ados(?:Results)?$", "html": "<iframe [^>]*src=\"[^\"]+adnegah\\.net", @@ -248,7 +248,7 @@ }, "Adobe ColdFusion": { "cats": [ - 18 + "18" ], "env": "^_cfEmails$", "headers": { @@ -263,7 +263,7 @@ }, "Adobe Experience Manager": { "cats": [ - 1 + "1" ], "html": [ "<div class=\"[^\"]*parbase", @@ -276,7 +276,7 @@ }, "Adobe GoLive": { "cats": [ - 20 + "20" ], "icon": "Adobe GoLive.png", "meta": { @@ -286,7 +286,7 @@ }, "Adobe Muse": { "cats": [ - 20 + "20" ], "icon": "Adobe Muse.svg", "meta": { @@ -296,7 +296,7 @@ }, "Adobe RoboHelp": { "cats": [ - 4 + "4" ], "env": "^gbWh(?:Ver|Lang|Msg|Util|Proxy)$", "icon": "Adobe RoboHelp.svg", @@ -308,7 +308,7 @@ }, "Advanced Web Stats": { "cats": [ - 10 + "10" ], "html": "aws\\.src = [^<]+caphyon-analytics", "icon": "Advanced Web Stats.png", @@ -317,7 +317,7 @@ }, "Advert Stream": { "cats": [ - 36 + "36" ], "env": "^advst_is_above_the_fold$", "icon": "Advert Stream.png", @@ -326,7 +326,7 @@ }, "Adzerk": { "cats": [ - 36 + "36" ], "env": "^ados(?:Results)?$", "html": "<iframe [^>]*src=\"[^\"]+adzerk\\.net", @@ -336,7 +336,7 @@ }, "Aegea": { "cats": [ - 11 + "11" ], "headers": { "X-Powered-By": "^E2 Aegea v(\\d+)$\\;version:\\1" @@ -350,7 +350,7 @@ }, "AfterBuy": { "cats": [ - 6 + "6" ], "html": [ "<dd>This OnlineStore is brought to you by ViA-Online GmbH Afterbuy. Information and contribution at https://www.afterbuy.de</dd>" @@ -361,7 +361,7 @@ }, "Aircall": { "cats": [ - 52 + "52" ], "icon": "aircall.png", "script": "^https?://cdn\\.aircall\\.io/", @@ -369,7 +369,7 @@ }, "Airee": { "cats": [ - 31 + "31" ], "headers": { "Server": "Airee" @@ -379,7 +379,7 @@ }, "Akamai": { "cats": [ - 31 + "31" ], "headers": { "X-Akamai-Transformed": "" @@ -389,8 +389,8 @@ }, "Akka HTTP": { "cats": [ - 18, - 22 + "18", + "22" ], "headers": { "Server": "akka-http(?:/([\\d.]+))?\\;version:\\1" @@ -400,7 +400,7 @@ }, "Algolia Realtime Search": { "cats": [ - 29 + "29" ], "env": "^AlgoliaSearch$", "icon": "Algolia Realtime Search.svg", @@ -408,7 +408,7 @@ }, "Allegro RomPager": { "cats": [ - 22 + "22" ], "headers": { "Server": "Allegro-Software-RomPager(?:/([\\d.]+))?\\;version:\\1" @@ -418,7 +418,7 @@ }, "AlloyUI": { "cats": [ - 12 + "12" ], "env": "^AUI$", "icon": "AlloyUI.png", @@ -431,7 +431,7 @@ }, "Amaya": { "cats": [ - 20 + "20" ], "icon": "Amaya.png", "meta": { @@ -441,7 +441,7 @@ }, "Amazon Cloudfront": { "cats": [ - 31 + "31" ], "headers": { "X-Amz-Cf-Id": "" @@ -451,7 +451,7 @@ }, "Amazon EC2": { "cats": [ - 22 + "22" ], "headers": { "Server": "\\(Amazon\\)" @@ -461,7 +461,7 @@ }, "Amazon S3": { "cats": [ - 19 + "19" ], "headers": { "Server": "AmazonS3" @@ -471,7 +471,7 @@ }, "Ametys": { "cats": [ - 1 + "1" ], "icon": "Ametys.png", "implies": "Java", @@ -483,7 +483,7 @@ }, "Amiro.CMS": { "cats": [ - 1 + "1" ], "icon": "Amiro.CMS.png", "implies": "PHP", @@ -494,7 +494,7 @@ }, "Angular Material": { "cats": [ - 18 + "18" ], "env": "^ngMaterial$", "icon": "Angular.svg", @@ -507,7 +507,7 @@ }, "AngularJS": { "cats": [ - 12 + "12" ], "env": "^angular$", "icon": "AngularJS.png", @@ -520,7 +520,7 @@ }, "Apache": { "cats": [ - 22 + "22" ], "headers": { "Server": "(?:Apache(?:$|/([\\d.]+)|[^/-])|(?:^|\b)HTTPD)\\;version:\\1" @@ -530,7 +530,7 @@ }, "Apache HBase": { "cats": [ - 34 + "34" ], "html": "<style[^>]+static/hbase", "icon": "Apache HBase.png", @@ -539,7 +539,7 @@ }, "Apache Hadoop": { "cats": [ - 34 + "34" ], "html": "<style[^>]+static/hadoop", "icon": "Apache Hadoop.svg", @@ -547,7 +547,7 @@ }, "Apache JSPWiki": { "cats": [ - 8 + "8" ], "html": "<html[^>]* xmlns:jspwiki=", "icon": "Apache JSPWiki.png", @@ -558,7 +558,7 @@ }, "Apache Tomcat": { "cats": [ - 22 + "22" ], "headers": { "Server": "Apache-Coyote(/1\\.1)?\\;version:\\1?4.1+:", @@ -570,7 +570,7 @@ }, "Apache Traffic Server": { "cats": [ - 22 + "22" ], "headers": { "Server": "ATS/?([\\d.]+)?\\;version:\\1" @@ -580,7 +580,7 @@ }, "Apache Wicket": { "cats": [ - 18 + "18" ], "env": "^Wicket", "icon": "Apache Wicket.svg", @@ -589,7 +589,7 @@ }, "AppNexus": { "cats": [ - 36 + "36" ], "html": "<(?:iframe|img)[^>]+adnxs\\.(?:net|com)", "icon": "AppNexus.svg", @@ -598,7 +598,7 @@ }, "Arastta": { "cats": [ - 6 + "6" ], "excludes": "OpenCart", "headers": { @@ -613,7 +613,7 @@ }, "Arc Forum": { "cats": [ - 2 + "2" ], "html": "ping\\.src = node\\.href;\\s+[^>]+\\s+}\\s+</script>", "icon": "Arc Forum.png", @@ -621,7 +621,7 @@ }, "Artifactory": { "cats": [ - 47 + "47" ], "env": "^ArtifactoryUpdates$", "html": [ @@ -635,7 +635,7 @@ }, "Artifactory Web Server": { "cats": [ - 22 + "22" ], "headers": { "Server": "Artifactory(?:/([\\d.]+))?\\;version:\\1" @@ -648,7 +648,7 @@ }, "ArvanCloud": { "cats": [ - 31 + "31" ], "env": "^ArvanCloud$", "headers": { @@ -659,9 +659,9 @@ }, "AsciiDoc": { "cats": [ - 1, - 20, - 27 + "1", + "20", + "27" ], "env": "^asciidoc$", "icon": "AsciiDoc.png", @@ -672,7 +672,7 @@ }, "Asymptix PHP Framework": { "cats": [ - 18 + "18" ], "headers": { "X-Powered-By": "Asymptix PHP Framework(?:.*)" @@ -686,7 +686,7 @@ }, "Atlassian Bitbucket": { "cats": [ - 47 + "47" ], "env": "^bitbucket$", "icon": "Atlassian Bitbucket.svg", @@ -698,7 +698,7 @@ }, "Atlassian Confluence": { "cats": [ - 8 + "8" ], "headers": { "X-Confluence-Request-Time": "" @@ -713,7 +713,7 @@ }, "Atlassian FishEye": { "cats": [ - 47 + "47" ], "headers": { "Set-cookie": "FESESSIONID" @@ -724,7 +724,7 @@ }, "Atlassian Jira": { "cats": [ - 13 + "13" ], "env": "^jira$", "html": "Powered by\\s+<a href=[^>]+atlassian\\.com/(?:software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA(?:[^v]*v(?:ersion: )?(\\d+\\.\\d+(?:\\.\\d+)?))?\\;version:\\1", @@ -738,8 +738,8 @@ }, "Atlassian Jira Issue Collector": { "cats": [ - 13, - 47 + "13", + "47" ], "icon": "Atlassian Jira.svg", "script": [ @@ -750,7 +750,7 @@ }, "Aurelia": { "cats": [ - 12 + "12" ], "html": [ "<[^>]+aurelia-app=[^>]", @@ -765,7 +765,7 @@ }, "Avangate": { "cats": [ - 6 + "6" ], "env": "^(?:__)?avng8_", "html": "<link[^>]* href=\"^https?://edge\\.avangate\\.net/", @@ -775,7 +775,7 @@ }, "BEM": { "cats": [ - 12 + "12" ], "html": "<[^>]+data-bem", "icon": "BEM.png", @@ -783,7 +783,7 @@ }, "BIGACE": { "cats": [ - 1 + "1" ], "html": "(?:Powered by <a href=\"[^>]+BIGACE|<!--\\s+Site is running BIGACE)", "icon": "BIGACE.png", @@ -795,7 +795,7 @@ }, "Backbone.js": { "cats": [ - 12 + "12" ], "env": "^Backbone$", "icon": "Backbone.js.png", @@ -805,7 +805,7 @@ }, "Backdrop": { "cats": [ - 1 + "1" ], "env": "^Backdrop$", "excludes": "Drupal", @@ -818,8 +818,8 @@ }, "Banshee": { "cats": [ - 1, - 18 + "1", + "18" ], "html": "Built upon the <a href=\"[^>]+banshee-php\\.org/\">[a-z]+</a>(?:v([\\d.]+))?\\;version:\\1", "icon": "Banshee.png", @@ -831,7 +831,7 @@ }, "BaseHTTP": { "cats": [ - 22 + "22" ], "headers": { "Server": "BaseHTTP\\/?([\\d\\.]+)?\\;version:\\1" @@ -842,7 +842,7 @@ }, "BigDump": { "cats": [ - 3 + "3" ], "html": "<!-- <h1>BigDump: Staggered MySQL Dump Importer ver\\. ([\\d.b]+)\\;version:\\1", "icon": "default.svg", @@ -854,7 +854,7 @@ }, "Bigcommerce": { "cats": [ - 6 + "6" ], "html": "<link href=[^>]+cdn\\d+\\.bigcommerce\\.com/", "icon": "Bigcommerce.png", @@ -864,7 +864,7 @@ }, "Bigware": { "cats": [ - 6 + "6" ], "headers": { "Set-Cookie": "(?:bigwareCsid|bigWAdminID)" @@ -877,7 +877,7 @@ }, "BittAds": { "cats": [ - 36 + "36" ], "env": "^bitt$", "icon": "BittAds.png", @@ -886,7 +886,7 @@ }, "Blesta": { "cats": [ - 6 + "6" ], "headers": { "Set-Cookie": "blesta_sid" @@ -896,7 +896,7 @@ }, "Blip.tv": { "cats": [ - 14 + "14" ], "html": "<(?:param|embed|iframe)[^>]+blip\\.tv/play", "icon": "Blip.tv.png", @@ -904,7 +904,7 @@ }, "Blogger": { "cats": [ - 11 + "11" ], "icon": "Blogger.png", "meta": { @@ -915,7 +915,7 @@ }, "Bluefish": { "cats": [ - 20 + "20" ], "icon": "Bluefish.png", "meta": { @@ -925,7 +925,7 @@ }, "Boa": { "cats": [ - 22 + "22" ], "headers": { "Server": "Boa\\/?([\\d\\.a-z]+)?\\;version:\\1" @@ -935,7 +935,7 @@ }, "Boba.js": { "cats": [ - 12 + "12" ], "icon": "default.svg", "implies": "Google Analytics", @@ -944,7 +944,7 @@ }, "Bolt": { "cats": [ - 1 + "1" ], "icon": "Bolt.png", "implies": "PHP", @@ -955,7 +955,7 @@ }, "Bonfire": { "cats": [ - 18 + "18" ], "headers": { "Set-Cookie": "bf_session=" @@ -967,7 +967,7 @@ }, "Bounce Exchange": { "cats": [ - 32 + "32" ], "env": "^bouncex$", "html": "<script[^>]*>[^>]+\\.src\\s*=\\s*['\"](?:https?:)?//tag\\.bounceexchange\\.com/", @@ -977,7 +977,7 @@ }, "Brother": { "cats": [ - 40 + "40" ], "html": [ "(?:<!--|<BR>)Copyright\\(C\\) [\\d-]+ Brother Industries", @@ -988,7 +988,7 @@ }, "BrowserCMS": { "cats": [ - 1 + "1" ], "icon": "BrowserCMS.png", "implies": "Ruby", @@ -999,10 +999,10 @@ }, "Bubble": { "cats": [ - 1, - 3, - 18, - 22 + "1", + "3", + "18", + "22" ], "env": "^appquery$", "icon": "bubble.png", @@ -1011,7 +1011,7 @@ }, "BugSense": { "cats": [ - 10 + "10" ], "env": "^BugSense$", "icon": "BugSense.png", @@ -1020,7 +1020,7 @@ }, "BugSnag": { "cats": [ - 10 + "10" ], "env": "^BugSnag$", "icon": "BugSnag.png", @@ -1029,7 +1029,7 @@ }, "Bugzilla": { "cats": [ - 13 + "13" ], "html": "href=\"enter_bug\\.cgi\">", "icon": "Bugzilla.png", @@ -1038,7 +1038,7 @@ }, "Burning Board": { "cats": [ - 2 + "2" ], "html": "<a href=\"[^>]+woltlab\\.com[^<]+<strong>Burning Board", "icon": "Burning Board.png", @@ -1050,7 +1050,7 @@ }, "Business Catalyst": { "cats": [ - 1 + "1" ], "html": "<!-- BC_OBNW -->", "icon": "Business Catalyst.png", @@ -1059,7 +1059,7 @@ }, "BuySellAds": { "cats": [ - 36 + "36" ], "env": "^_bsa", "html": "<script[^>]*>[^<]+?bsa.src\\s*=\\s*['\"](?:https?:)?\\/{2}\\w\\d\\.buysellads\\.com\\/[\\w\\d\\/]+?bsa\\.js['\"]", @@ -1069,21 +1069,21 @@ }, "C++": { "cats": [ - 27 + "27" ], "icon": "C++.png", "website": "http://isocpp.org" }, "CFML": { "cats": [ - 27 + "27" ], "icon": "CFML.png", "website": "http://adobe.com/products/coldfusion-family.html" }, "CKEditor": { "cats": [ - 24 + "24" ], "env": "^CKEDITOR$", "icon": "CKEditor.png", @@ -1091,7 +1091,7 @@ }, "CMS Made Simple": { "cats": [ - 1 + "1" ], "headers": { "Set-Cookie": "^CMSSESSID" @@ -1105,7 +1105,7 @@ }, "CMSimple": { "cats": [ - 1 + "1" ], "icon": "default.svg", "implies": "PHP", @@ -1116,7 +1116,7 @@ }, "CO2Stats": { "cats": [ - 10 + "10" ], "html": "src=[^>]+co2stats\\.com/propres\\.php", "icon": "CO2Stats.png", @@ -1124,7 +1124,7 @@ }, "CPG Dragonfly": { "cats": [ - 1 + "1" ], "headers": { "X-Powered-By": "Dragonfly CMS" @@ -1138,7 +1138,7 @@ }, "CS Cart": { "cats": [ - 6 + "6" ], "env": "^fn_compare_strings$", "html": [ @@ -1151,7 +1151,7 @@ }, "CacheFly": { "cats": [ - 31 + "31" ], "headers": { "Server": "^CFS ", @@ -1163,7 +1163,7 @@ }, "Caddy": { "cats": [ - 22 + "22" ], "headers": { "Server": "^Caddy$" @@ -1174,7 +1174,7 @@ }, "CakePHP": { "cats": [ - 18 + "18" ], "headers": { "Set-Cookie": "cakephp=" @@ -1188,14 +1188,14 @@ }, "Canon": { "cats": [ - 40 + "40" ], "icon": "Canon.png", "website": "http://www.canon.com" }, "Canon HTTP Server": { "cats": [ - 22 + "22" ], "headers": { "Server": "CANON HTTP Server(?:/([\\d.]+))?\\;version:\\1" @@ -1206,8 +1206,8 @@ }, "Captch Me": { "cats": [ - 16, - 36 + "16", + "36" ], "env": "^Captchme", "icon": "Captch Me.svg", @@ -1216,7 +1216,7 @@ }, "Carbon Ads": { "cats": [ - 36 + "36" ], "env": "^_carbonads", "html": "<[a-z]+ [^>]*id=\"carbonads-container\"", @@ -1226,7 +1226,7 @@ }, "Cargo": { "cats": [ - 1 + "1" ], "html": "<link [^>]+Cargo feed", "icon": "Cargo.png", @@ -1239,8 +1239,8 @@ }, "Catberry.js": { "cats": [ - 12, - 18 + "12", + "18" ], "env": "^catberry$", "headers": { @@ -1252,7 +1252,7 @@ }, "Catwalk": { "cats": [ - 22 + "22" ], "headers": { "Server": "Catwalk\\/?([\\d\\.]+)?\\;version:\\1" @@ -1263,7 +1263,7 @@ }, "CentOS": { "cats": [ - 28 + "28" ], "headers": { "Server": "CentOS", @@ -1274,7 +1274,7 @@ }, "CenteHTTPd": { "cats": [ - 22 + "22" ], "headers": { "Server": "CenteHTTPd(?:/([\\d.]+))?\\;version:\\1" @@ -1284,7 +1284,7 @@ }, "Chameleon": { "cats": [ - 1 + "1" ], "icon": "Chameleon.png", "implies": [ @@ -1298,7 +1298,7 @@ }, "Chamilo": { "cats": [ - 21 + "21" ], "headers": { "X-Powered-By": "Chamilo ([\\d.]+)\\;version:\\1" @@ -1313,7 +1313,7 @@ }, "Chartbeat": { "cats": [ - 10 + "10" ], "env": "^_sf_(?:endpt|async_config)$", "icon": "Chartbeat.png", @@ -1322,7 +1322,7 @@ }, "Cherokee": { "cats": [ - 22 + "22" ], "headers": { "Server": "Cherokee/([\\d.]+)\\;version:\\1" @@ -1332,8 +1332,8 @@ }, "CherryPy": { "cats": [ - 18, - 22 + "18", + "22" ], "headers": { "Server": "CherryPy\\/?([\\d\\.]+)?\\;version:\\1" @@ -1344,7 +1344,7 @@ }, "Chitika": { "cats": [ - 36 + "36" ], "env": "ch_c(?:lient|olor_site_link)", "icon": "Chitika.png", @@ -1353,7 +1353,7 @@ }, "Ckan": { "cats": [ - 1 + "1" ], "headers": { "Access-Control-Allow-Headers": "X-CKAN-API-KEY", @@ -1370,7 +1370,7 @@ }, "ClickHeat": { "cats": [ - 10 + "10" ], "env": "^clickHeat", "icon": "ClickHeat.png", @@ -1380,7 +1380,7 @@ }, "ClickTale": { "cats": [ - 10 + "10" ], "env": "^ClickTale", "icon": "ClickTale.png", @@ -1388,7 +1388,7 @@ }, "Clicky": { "cats": [ - 10 + "10" ], "env": "^clicky$", "icon": "Clicky.png", @@ -1397,7 +1397,7 @@ }, "Clientexec": { "cats": [ - 6 + "6" ], "html": "clientexec\\.[^>]*\\s?=\\s?[^>]*;", "icon": "Clientexec.png", @@ -1405,7 +1405,7 @@ }, "CloudCart": { "cats": [ - 6 + "6" ], "icon": "cloudcart.svg", "meta": { @@ -1416,7 +1416,7 @@ }, "CloudFlare": { "cats": [ - 31 + "31" ], "env": "^CloudFlare$", "headers": { @@ -1427,7 +1427,7 @@ }, "Cloudera": { "cats": [ - 34 + "34" ], "headers": { "Server": "cloudera" @@ -1437,7 +1437,7 @@ }, "CodeIgniter": { "cats": [ - 18 + "18" ], "headers": { "Set-Cookie": "(?:exp_last_activity|exp_tracker|ci_(?:session|(csrf_token)))\\;version:\\1?2+:" @@ -1449,7 +1449,7 @@ }, "CodeMirror": { "cats": [ - 19 + "19" ], "env": "^CodeMirror$", "icon": "CodeMirror.png", @@ -1457,7 +1457,7 @@ }, "Comandia": { "cats": [ - 6 + "6" ], "env": "^Comandia$", "html": "<link[^>]+=['\"]//cdn\\.mycomandia\\.com", @@ -1466,7 +1466,7 @@ }, "Commerce Server": { "cats": [ - 6 + "6" ], "headers": { "COMMERCE-SERVER-SOFTWARE": "" @@ -1477,7 +1477,7 @@ }, "CompaqHTTPServer": { "cats": [ - 22 + "22" ], "headers": { "Server": "CompaqHTTPServer\\/?([\\d\\.]+)?\\;version:\\1" @@ -1487,7 +1487,7 @@ }, "Concrete5": { "cats": [ - 1 + "1" ], "env": "^CCM_IMAGE_PATH$", "icon": "Concrete5.png", @@ -1500,7 +1500,7 @@ }, "Connect": { "cats": [ - 18 + "18" ], "headers": { "X-Powered-By": "^Connect$" @@ -1511,7 +1511,7 @@ }, "Contao": { "cats": [ - 1 + "1" ], "html": [ "<!--[^>]+powered by (?:TYPOlight|Contao)[^>]*-->", @@ -1526,7 +1526,7 @@ }, "Contenido": { "cats": [ - 1 + "1" ], "icon": "Contenido.png", "implies": "PHP", @@ -1537,7 +1537,7 @@ }, "Contens": { "cats": [ - 1 + "1" ], "icon": "Contens.png", "implies": [ @@ -1551,8 +1551,8 @@ }, "ContentBox": { "cats": [ - 1, - 11 + "1", + "11" ], "icon": "ContentBox.png", "implies": "Adobe ColdFusion", @@ -1563,7 +1563,7 @@ }, "ConversionLab": { "cats": [ - 10 + "10" ], "icon": "ConversionLab.png", "script": "conversionlab\\.trackset\\.com/track/tsend\\.js", @@ -1571,7 +1571,7 @@ }, "Coppermine": { "cats": [ - 7 + "7" ], "html": "<!--Coppermine Photo Gallery ([\\d.]+)\\;version:\\1", "icon": "Coppermine.png", @@ -1580,7 +1580,7 @@ }, "Cosmoshop": { "cats": [ - 6 + "6" ], "icon": "Cosmoshop.png", "script": "cosmoshop_functions\\.js", @@ -1588,7 +1588,7 @@ }, "Cotonti": { "cats": [ - 1 + "1" ], "icon": "Cotonti.png", "implies": "PHP", @@ -1599,7 +1599,7 @@ }, "CouchDB": { "cats": [ - 22 + "22" ], "headers": { "Server": "CouchDB/([\\d.]+)\\;version:\\1" @@ -1609,8 +1609,8 @@ }, "Cowboy": { "cats": [ - 18, - 22 + "18", + "22" ], "headers": { "Server": "Cowboy" @@ -1621,7 +1621,7 @@ }, "CppCMS": { "cats": [ - 1 + "1" ], "headers": { "X-Powered-By": "CppCMS/([\\d.]+)\\;version:\\1" @@ -1632,7 +1632,7 @@ }, "Craft CMS": { "cats": [ - 1 + "1" ], "headers": { "Set-Cookie": "CraftSessionId=", @@ -1644,7 +1644,7 @@ }, "Crazy Egg": { "cats": [ - 10 + "10" ], "env": "^CE2$", "icon": "Crazy Egg.png", @@ -1653,7 +1653,7 @@ }, "Criteo": { "cats": [ - 36 + "36" ], "env": "^criteo", "icon": "Criteo.svg", @@ -1662,7 +1662,7 @@ }, "Cross Pixel": { "cats": [ - 10 + "10" ], "env": "^crsspxl$", "icon": "Cross Pixel.png", @@ -1671,7 +1671,7 @@ }, "CubeCart": { "cats": [ - 6 + "6" ], "html": "(?:Powered by <a href=[^>]+cubecart\\.com|<p[^>]+>Powered by CubeCart)", "icon": "CubeCart.png", @@ -1683,7 +1683,7 @@ }, "Cufon": { "cats": [ - 17 + "17" ], "env": "^Cufon$", "icon": "Cufon.png", @@ -1692,7 +1692,7 @@ }, "D3": { "cats": [ - 25 + "25" ], "env": "^d3$", "icon": "D3.png", @@ -1701,7 +1701,7 @@ }, "DHTMLX": { "cats": [ - 12 + "12" ], "icon": "DHTMLX.png", "script": "dhtmlxcommon\\.js", @@ -1709,7 +1709,7 @@ }, "DM Polopoly": { "cats": [ - 1 + "1" ], "html": "<(?:link [^>]*href|img [^>]*src)=\"/polopoly_fs/", "icon": "DM Polopoly.png", @@ -1718,7 +1718,7 @@ }, "DNN": { "cats": [ - 1 + "1" ], "env": "^DotNetNuke$", "headers": { @@ -1744,7 +1744,7 @@ }, "DTG": { "cats": [ - 1 + "1" ], "html": [ "<a[^>]+Site Powered by DTG" @@ -1755,7 +1755,7 @@ }, "Dancer": { "cats": [ - 18 + "18" ], "headers": { "Server": "Perl Dancer ([\\d.]+)\\;version:\\1", @@ -1767,7 +1767,7 @@ }, "Danneo CMS": { "cats": [ - 1 + "1" ], "headers": { "X-Powered-By": "CMS Danneo ([\\d.]+)\\;version:\\1" @@ -1784,7 +1784,7 @@ }, "Darwin": { "cats": [ - 28 + "28" ], "headers": { "Server": "Darwin", @@ -1795,7 +1795,7 @@ }, "DataLife Engine": { "cats": [ - 1 + "1" ], "env": "^dle_root$", "icon": "DataLife Engine.png", @@ -1810,7 +1810,7 @@ }, "DataTables": { "cats": [ - 12 + "12" ], "icon": "DataTables.png", "implies": "jQuery", @@ -1819,7 +1819,7 @@ }, "David Webbox": { "cats": [ - 22 + "22" ], "headers": { "Server": "David-WebBox/([\\d.a]+ \\(\\d+\\))\\;version:\\1" @@ -1829,7 +1829,7 @@ }, "Debian": { "cats": [ - 28 + "28" ], "headers": { "Server": "Debian", @@ -1840,7 +1840,7 @@ }, "Decorum": { "cats": [ - 22 + "22" ], "headers": { "Server": "DECORUM(?:/([\\d.]+))?\\;version:\\1" @@ -1850,7 +1850,7 @@ }, "DedeCMS": { "cats": [ - 1 + "1" ], "env": "^DedeContainer", "icon": "DedeCMS.png", @@ -1860,14 +1860,14 @@ }, "Dell": { "cats": [ - 40 + "40" ], "icon": "Dell.png", "website": "http://dell.com" }, "Demandware": { "cats": [ - 6 + "6" ], "env": "^dwAnalytics$", "headers": { @@ -1879,7 +1879,7 @@ }, "Deployd": { "cats": [ - 12 + "12" ], "env": "^dpd$", "icon": "Deployd.png", @@ -1888,7 +1888,7 @@ }, "DirectAdmin": { "cats": [ - 9 + "9" ], "headers": { "Server": "DirectAdmin Daemon v([\\d.]+)\\;version:\\1" @@ -1903,7 +1903,7 @@ }, "Discourse": { "cats": [ - 2 + "2" ], "env": "Discourse", "icon": "Discourse.png", @@ -1915,13 +1915,13 @@ }, "Discuz! X": { "cats": [ - 2 + "2" ], "env": [ "^discuz_uid$", "^DISCUZCODE$" ], - "icon": "Discuz! X.png", + "icon": "Discuz X.png", "implies": "PHP", "meta": { "generator": "Discuz! X([\\d\\.]+)?\\;version:\\1" @@ -1930,7 +1930,7 @@ }, "Disqus": { "cats": [ - 15 + "15" ], "env": "^DISQUS", "html": "<div[^>]+id=\"disqus_thread\"", @@ -1940,7 +1940,7 @@ }, "Django": { "cats": [ - 18 + "18" ], "env": "^__admin_media_prefix__", "html": "(?:powered by <a[^>]+>Django ?([\\d.]+)?|<input[^>]*name=[\"']csrfmiddlewaretoken[\"'][^>]*>)\\;version:\\1", @@ -1950,7 +1950,7 @@ }, "Django CMS": { "cats": [ - 1 + "1" ], "icon": "Django CMS.png", "implies": "Django", @@ -1958,7 +1958,7 @@ }, "Dojo": { "cats": [ - 12 + "12" ], "env": "^dojo$", "icon": "Dojo.png", @@ -1967,7 +1967,7 @@ }, "Dokeos": { "cats": [ - 21 + "21" ], "headers": { "X-Powered-By": "Dokeos" @@ -1987,7 +1987,7 @@ }, "DokuWiki": { "cats": [ - 8 + "8" ], "headers": { "Set-Cookie": "DokuWiki=" @@ -2001,7 +2001,7 @@ }, "Dotclear": { "cats": [ - 1 + "1" ], "icon": "Dotclear.png", "implies": "PHP", @@ -2009,7 +2009,7 @@ }, "DoubleClick Ad Exchange (AdX)": { "cats": [ - 36 + "36" ], "icon": "DoubleClick.svg", "script": [ @@ -2021,7 +2021,7 @@ }, "DoubleClick Campaign Manager (DCM)": { "cats": [ - 36 + "36" ], "icon": "DoubleClick.svg", "script": "2mdn\\.net", @@ -2029,7 +2029,7 @@ }, "DoubleClick Floodlight": { "cats": [ - 36 + "36" ], "icon": "DoubleClick.svg", "script": "https?://fls.doubleclick.net", @@ -2037,7 +2037,7 @@ }, "DoubleClick for Publishers (DFP)": { "cats": [ - 36 + "36" ], "icon": "DoubleClick.svg", "script": "googletagservices\\.com/tag/js/gpt(?:_mobile)?\\.js", @@ -2045,7 +2045,7 @@ }, "DovetailWRP": { "cats": [ - 1 + "1" ], "html": "<link[^>]* href=\"\\/DovetailWRP\\/", "icon": "DovetailWRP.png", @@ -2055,7 +2055,7 @@ }, "Doxygen": { "cats": [ - 4 + "4" ], "html": "(?:<!-- Generated by Doxygen ([\\d.]+)|<link[^>]+doxygen\\.css)\\;version:\\1", "icon": "Doxygen.png", @@ -2066,7 +2066,7 @@ }, "DreamWeaver": { "cats": [ - 20 + "20" ], "html": "(?:<!--[^>]*(?:InstanceBeginEditable|Dreamweaver([^>]+)target|DWLayoutDefaultTable)|function MM_preloadImages\\(\\) \\{)\\;version:\\1", "icon": "DreamWeaver.png", @@ -2074,7 +2074,7 @@ }, "Drupal": { "cats": [ - 1 + "1" ], "env": "^Drupal$", "headers": { @@ -2093,7 +2093,7 @@ }, "Drupal Commerce": { "cats": [ - 6 + "6" ], "html": "<[^>]+(?:id=\"block[_-]commerce[_-]cart[_-]cart|class=\"commerce[_-]product[_-]field)", "icon": "Drupal Commerce.png", @@ -2102,9 +2102,9 @@ }, "Dynamicweb": { "cats": [ - 1, - 6, - 10 + "1", + "6", + "10" ], "headers": { "Set-Cookie": "Dynamicweb=" @@ -2118,7 +2118,7 @@ }, "Dynatrace": { "cats": [ - 10 + "10" ], "icon": "Dynatrace.png", "script": "dtagent.*\\.js", @@ -2126,7 +2126,7 @@ }, "E-Commerce Paraguay": { "cats": [ - 6 + "6" ], "icon": "eCommercePy.png", "script": "cdn\\.e-commerceparaguay\\.com", @@ -2134,7 +2134,7 @@ }, "E-Merchant": { "cats": [ - 6 + "6" ], "icon": "E-Merchant.png", "script": "cdn\\.e-merchant\\.com", @@ -2142,7 +2142,7 @@ }, "EC-CUBE": { "cats": [ - 6 + "6" ], "icon": "ec-cube.png", "implies": "PHP", @@ -2154,7 +2154,7 @@ }, "ELOG": { "cats": [ - 19 + "19" ], "html": "<title>ELOG Logbook Selection", "icon": "ELOG.png", @@ -2162,7 +2162,7 @@ }, "ELOG HTTP": { "cats": [ - 22 + "22" ], "headers": { "Server": "ELOG HTTP( \\d[\\-\\d\\.]+)?\\;version:\\1" @@ -2173,7 +2173,7 @@ }, "EPages": { "cats": [ - 6 + "6" ], "headers": { "X-Powered-By": "epages 6" @@ -2184,7 +2184,7 @@ }, "EPiServer": { "cats": [ - 1 + "1" ], "headers": { "Set-Cookie": "EPi(?:Trace|Server)[^;]*=" @@ -2198,7 +2198,7 @@ }, "EPrints": { "cats": [ - 19 + "19" ], "env": "^EPJS_menu_template$", "icon": "EPrints.png", @@ -2210,7 +2210,7 @@ }, "ESERV-10": { "cats": [ - 22 + "22" ], "headers": { "Server": "ESERV-10(?:/([\\d.]+))?\\;version:\\1" @@ -2220,7 +2220,7 @@ }, "EWS-NIC4": { "cats": [ - 22 + "22" ], "headers": { "Server": "EWS-NIC4(?:\\/([\\d\\.a-z]+))?\\;version:\\1" @@ -2231,7 +2231,7 @@ }, "EdgeCast": { "cats": [ - 31 + "31" ], "headers": { "Server": "^ECD\\s\\(\\S+\\)" @@ -2242,7 +2242,7 @@ }, "Elcodi": { "cats": [ - 6 + "6" ], "headers": { "X-Elcodi": "" @@ -2256,7 +2256,7 @@ }, "Eleanor CMS": { "cats": [ - 1 + "1" ], "icon": "Eleanor CMS.png", "implies": "PHP", @@ -2267,7 +2267,7 @@ }, "Eloqua": { "cats": [ - 32 + "32" ], "env": "^elq(?:SiteID|Load|CurESite)$", "icon": "Oracle.png", @@ -2276,7 +2276,7 @@ }, "EmbedThis Appweb": { "cats": [ - 22 + "22" ], "headers": { "Server": "Mbedthis-Appweb(?:/([\\d.]+))?\\;version:\\1" @@ -2286,7 +2286,7 @@ }, "Embedthis-http": { "cats": [ - 22 + "22" ], "headers": { "Server": "Embedthis-http(?:/([\\d.]+))?\\;version:\\1" @@ -2296,7 +2296,7 @@ }, "Ember.js": { "cats": [ - 12 + "12" ], "env": "^Ember$", "icon": "Ember.js.png", @@ -2305,8 +2305,8 @@ }, "Enyo": { "cats": [ - 12, - 26 + "12", + "26" ], "env": "^enyo$", "icon": "Enyo.png", @@ -2315,7 +2315,7 @@ }, "Epoch": { "cats": [ - 25 + "25" ], "html": "]+?href=\"[^\"]+epoch(?:\\.min)?\\.css", "icon": "default.svg", @@ -2325,7 +2325,7 @@ }, "Epom": { "cats": [ - 36 + "36" ], "env": "^Epom", "icon": "Epom.png", @@ -2334,7 +2334,7 @@ }, "Erlang": { "cats": [ - 27 + "27" ], "headers": { "Server": "Erlang( OTP/(?:[\\-\\d\\.ABR]+))?\\;version:\\1" @@ -2344,7 +2344,7 @@ }, "Etherpad": { "cats": [ - 24 + "24" ], "env": [ "^pad(?:editbar|impexp)$" @@ -2361,7 +2361,7 @@ }, "Exagon Concept": { "cats": [ - 1 + "1" ], "headers": { "Server": "Exagon Server" @@ -2371,7 +2371,7 @@ }, "Exhibit": { "cats": [ - 25 + "25" ], "env": "^Exhibit$", "icon": "Exhibit.png", @@ -2380,8 +2380,8 @@ }, "Express": { "cats": [ - 18, - 22 + "18", + "22" ], "headers": { "X-Powered-By": "^Express$" @@ -2392,7 +2392,7 @@ }, "ExpressionEngine": { "cats": [ - 1 + "1" ], "headers": { "Set-Cookie": "(?:exp_last_activity|exp_tracker)" @@ -2403,7 +2403,7 @@ }, "ExtJS": { "cats": [ - 12 + "12" ], "env": "^Ext$", "icon": "ExtJS.png", @@ -2412,7 +2412,7 @@ }, "FAST ESP": { "cats": [ - 29 + "29" ], "html": "]+id=\"fastsearch\"", "icon": "FAST ESP.png", @@ -2420,7 +2420,7 @@ }, "FAST Search for SharePoint": { "cats": [ - 29 + "29" ], "html": "]+ name=\"ParametricSearch", "icon": "FAST Search for SharePoint.png", @@ -2433,7 +2433,7 @@ }, "FWP": { "cats": [ - 6 + "6" ], "html": "|", "icon": "InProces.png", @@ -3542,7 +3542,7 @@ }, "Incapsula": { "cats": [ - 31 + "31" ], "headers": { "X-CDN": "Incapsula" @@ -3552,7 +3552,7 @@ }, "Indexhibit": { "cats": [ - 1 + "1" ], "html": "<(?:link|a href) [^>]+ndxz-studio", "icon": "default.svg", @@ -3568,7 +3568,7 @@ }, "Indico": { "cats": [ - 1 + "1" ], "headers": { "Set-cookie": "MAKACSESSION" @@ -3579,7 +3579,7 @@ }, "Indy": { "cats": [ - 22 + "22" ], "headers": { "Server": "Indy(?:/([\\d.]+))?\\;version:\\1" @@ -3589,7 +3589,7 @@ }, "InfernoJS": { "cats": [ - 12 + "12" ], "env": "^Inferno$", "icon": "InfernoJS.png", @@ -3597,7 +3597,7 @@ }, "Infusionsoft": { "cats": [ - 32 + "32" ], "html": [ "]*name=\"infusionsoft_version\" [^>]*value=\"([^>]*)\" [^>]*\\/>\\;version:\\1", @@ -3608,7 +3608,7 @@ }, "InstantCMS": { "cats": [ - 1 + "1" ], "headers": { "Set-Cookie": "InstantCMS\\[logdate\\]=" @@ -3622,8 +3622,8 @@ }, "Intel Active Management Technology": { "cats": [ - 22, - 46 + "22", + "46" ], "headers": { "Server": "Intel\\(R\\) Active Management Technology(?: ([\\d.]+))?\\;version:\\1" @@ -3633,7 +3633,7 @@ }, "IntenseDebate": { "cats": [ - 15 + "15" ], "icon": "IntenseDebate.png", "script": "intensedebate\\.com", @@ -3641,7 +3641,7 @@ }, "Intercom": { "cats": [ - 10 + "10" ], "env": "^Intercom$", "icon": "Intercom.png", @@ -3650,7 +3650,7 @@ }, "Intershop": { "cats": [ - 6 + "6" ], "icon": "Intershop.png", "script": "(?:is-bin|INTERSHOP)", @@ -3658,7 +3658,7 @@ }, "Invenio": { "cats": [ - 50 + "50" ], "headers": { "Set-cookie": "INVENIOSESSION" @@ -3669,7 +3669,7 @@ }, "Ionicons": { "cats": [ - 17 + "17" ], "html": "]* href=[^>]+ionicons(?:\\.min)?\\.css", "icon": "Ionicons.png", @@ -3677,7 +3677,7 @@ }, "JAlbum": { "cats": [ - 7 + "7" ], "icon": "JAlbum.png", "implies": "Java", @@ -3688,7 +3688,7 @@ }, "JBoss Application Server": { "cats": [ - 22 + "22" ], "headers": { "X-Powered-By": "JBoss(?:-([\\d.]+))?\\;version:\\1" @@ -3698,7 +3698,7 @@ }, "JBoss Web": { "cats": [ - 22 + "22" ], "excludes": "Apache Tomcat", "headers": { @@ -3710,7 +3710,7 @@ }, "JC-HTTPD": { "cats": [ - 22 + "22" ], "excludes": "Apache", "headers": { @@ -3722,7 +3722,7 @@ }, "JS Charts": { "cats": [ - 25 + "25" ], "env": "^JSChart$", "icon": "JS Charts.png", @@ -3731,7 +3731,7 @@ }, "JTL Shop": { "cats": [ - 6 + "6" ], "headers": { "Set-Cookie": "JTLSHOP=" @@ -3742,7 +3742,7 @@ }, "Jalios": { "cats": [ - 1 + "1" ], "icon": "Jalios.png", "meta": { @@ -3752,7 +3752,7 @@ }, "Java": { "cats": [ - 27 + "27" ], "headers": { "Set-Cookie": "JSESSIONID" @@ -3762,7 +3762,7 @@ }, "Java Servlet": { "cats": [ - 18 + "18" ], "headers": { "X-Powered-By": "Servlet(?:.([\\d.]+))?\\;version:\\1" @@ -3773,7 +3773,7 @@ }, "JavaScript Infovis Toolkit": { "cats": [ - 25 + "25" ], "env": "^\\$jit$", "icon": "JavaScript Infovis Toolkit.png", @@ -3782,7 +3782,7 @@ }, "JavaServer Faces": { "cats": [ - 18 + "18" ], "headers": { "X-Powered-By": "JSF(?:/([\\d.]+))?\\;version:\\1" @@ -3793,7 +3793,7 @@ }, "JavaServer Pages": { "cats": [ - 18 + "18" ], "headers": { "X-Powered-By": "JSP(?:/([\\d.]+))?\\;version:\\1" @@ -3804,8 +3804,8 @@ }, "Jekyll": { "cats": [ - 1, - 11 + "1", + "11" ], "icon": "Jekyll.png", "meta": { @@ -3815,7 +3815,7 @@ }, "Jenkins": { "cats": [ - 44 + "44" ], "headers": { "X-Jenkins": "([\\d\\.]+)\\;version:\\1" @@ -3826,7 +3826,7 @@ }, "Jetty": { "cats": [ - 22 + "22" ], "headers": { "Server": "Jetty(?:\\(([\\d\\.]*\\d+))?\\;version:\\1" @@ -3837,7 +3837,7 @@ }, "Jimdo": { "cats": [ - 1 + "1" ], "env": "^jimdo_(?:Data|Gen\\d+)$", "headers": { @@ -3849,8 +3849,8 @@ }, "Jirafe": { "cats": [ - 10, - 32 + "10", + "32" ], "env": "^jirafe$", "icon": "Jirafe.png", @@ -3859,7 +3859,7 @@ }, "Jive": { "cats": [ - 19 + "19" ], "headers": { "X-JIVE-USER-ID": "", @@ -3873,8 +3873,8 @@ }, "Jo": { "cats": [ - 26, - 12 + "26", + "12" ], "env": "^jo(?:Cache|DOM|Event)$", "icon": "Jo.png", @@ -3882,7 +3882,7 @@ }, "JobberBase": { "cats": [ - 19 + "19" ], "env": "^Jobber$", "icon": "JobberBase.png", @@ -3894,7 +3894,7 @@ }, "Joomla": { "cats": [ - 1 + "1" ], "env": "^(?:jcomments|Joomla)$", "headers": { @@ -3911,7 +3911,7 @@ }, "K2": { "cats": [ - 19 + "19" ], "env": "^K2RatingURL$", "html": "", "icon": "Lightspeed.svg", @@ -4279,7 +4279,7 @@ }, "Lighty": { "cats": [ - 18 + "18" ], "headers": { "Set-Cookie": "lighty_version" @@ -4290,7 +4290,7 @@ }, "LimeSurvey": { "cats": [ - 19 + "19" ], "headers": { "generator": "LimeSurvey" @@ -4300,7 +4300,7 @@ }, "LinkSmart": { "cats": [ - 36 + "36" ], "env": "^(?:_mb_site_guid$|LS_JSON|LinkSmart(?:_|$))", "icon": "LinkSmart.png", @@ -4309,7 +4309,7 @@ }, "Linkedin": { "cats": [ - 5 + "5" ], "icon": "Linkedin.svg", "script": "//platform\\.linkedin\\.com/in\\.js", @@ -4317,7 +4317,7 @@ }, "List.js": { "cats": [ - 12 + "12" ], "env": "^List$", "icon": "List.js.png", @@ -4326,7 +4326,7 @@ }, "LiteSpeed": { "cats": [ - 22 + "22" ], "headers": { "Server": "^LiteSpeed$" @@ -4336,7 +4336,7 @@ }, "Lithium": { "cats": [ - 1 + "1" ], "env": [ "^LITHIUM$" @@ -4351,7 +4351,7 @@ }, "LiveAgent": { "cats": [ - 52 + "52" ], "env": "^LiveAgent$", "icon": "LiveAgent.png", @@ -4359,7 +4359,7 @@ }, "LiveChat": { "cats": [ - 52 + "52" ], "icon": "LiveChat.png", "script": "cdn\\.livechatinc\\.com/.*tracking\\.js", @@ -4367,7 +4367,7 @@ }, "LiveJournal": { "cats": [ - 11 + "11" ], "icon": "LiveJournal.png", "url": "\\.livejournal\\.com", @@ -4375,7 +4375,7 @@ }, "LiveStreet CMS": { "cats": [ - 1 + "1" ], "env": "^LIVESTREET", "headers": { @@ -4387,7 +4387,7 @@ }, "Livefyre": { "cats": [ - 15 + "15" ], "env": [ "^fyre$", @@ -4400,7 +4400,7 @@ }, "Liveinternet": { "cats": [ - 10 + "10" ], "html": [ "]*>[^]{0,128}?src\\s*=\\s*['\"]//counter\\.yadro\\.ru/hit(?:;\\S+)?\\?(?:t\\d+\\.\\d+;)?r", @@ -4414,7 +4414,7 @@ }, "Lo-dash": { "cats": [ - 12 + "12" ], "icon": "Lo-dash.png", "script": "lodash.*\\.js", @@ -4422,7 +4422,7 @@ }, "Locomotive": { "cats": [ - 1 + "1" ], "html": "]*/sites/[a-z\\d]{24}/theme/stylesheets", "icon": "Locomotive.png", @@ -4434,8 +4434,8 @@ }, "Logitech Media Server": { "cats": [ - 22, - 38 + "22", + "38" ], "headers": { "Server": "Logitech Media Server(?: \\(([\\d\\.]+))?\\;version:\\1" @@ -4445,7 +4445,7 @@ }, "Lotus Domino": { "cats": [ - 22 + "22" ], "headers": { "Server": "Lotus-Domino" @@ -4456,7 +4456,7 @@ }, "Lua": { "cats": [ - 27 + "27" ], "headers": { "X-Powered-By": "\bLua(?: ([\\d.]+))?\\;version:\\1" @@ -4466,7 +4466,7 @@ }, "Lucene": { "cats": [ - 34 + "34" ], "icon": "Lucene.png", "implies": "Java", @@ -4474,14 +4474,14 @@ }, "M.R. Inc BoxyOS": { "cats": [ - 28 + "28" ], "icon": "M.R. Inc.png", "website": "http://mrincworld.com" }, "M.R. Inc SiteFrame": { "cats": [ - 18 + "18" ], "headers": { "Powered-By": "M\\.R\\. Inc SiteFrame" @@ -4491,7 +4491,7 @@ }, "M.R. Inc Webserver": { "cats": [ - 22 + "22" ], "headers": { "Server": "M\\.R\\. Inc Webserver" @@ -4504,7 +4504,7 @@ }, "MHonArc": { "cats": [ - 50 + "50" ], "html": "\\;version:\\1", "icon": "mhonarc.png", @@ -4512,7 +4512,7 @@ }, "MOBOTIX": { "cats": [ - 39 + "39" ], "icon": "MOBOTIX.png", "meta": { @@ -4525,7 +4525,7 @@ }, "MODX": { "cats": [ - 1 + "1" ], "env": "^MODX_MEDIA_PATH$", "headers": { @@ -4547,7 +4547,7 @@ }, "MadAdsMedia": { "cats": [ - 36 + "36" ], "env": "^setM(?:Iframe|RefURL)$", "icon": "MadAdsMedia.png", @@ -4556,7 +4556,7 @@ }, "Magento": { "cats": [ - 6 + "6" ], "env": [ "^(?:Mage|VarienForm)$" @@ -4580,7 +4580,7 @@ }, "Mailchimp": { "cats": [ - 32 + "32" ], "html": [ "
]*data-mailchimp-url", @@ -4598,7 +4598,7 @@ }, "Mambo": { "cats": [ - 1 + "1" ], "excludes": "Joomla", "icon": "Mambo.png", @@ -4609,7 +4609,7 @@ }, "MantisBT": { "cats": [ - 13 + "13" ], "html": "]+ alt=\"Powered by Mantis Bugtracker", "icon": "MantisBT.png", @@ -4618,7 +4618,7 @@ }, "ManyContacts": { "cats": [ - 5 + "5" ], "icon": "ManyContacts.png", "script": "\\/assets\\/js\\/manycontacts\\.min\\.js", @@ -4626,7 +4626,7 @@ }, "Marionette.js": { "cats": [ - 12 + "12" ], "env": "^Marionette$", "icon": "Marionette.js.svg", @@ -4639,7 +4639,7 @@ }, "Marketo": { "cats": [ - 32 + "32" ], "env": "^Munchkin$", "icon": "Marketo.png", @@ -4648,7 +4648,7 @@ }, "Materialize CSS": { "cats": [ - 18 + "18" ], "html": "]* href=\"[^\"]*materialize(?:\\.min)?\\.css", "icon": "Materialize CSS.png", @@ -4658,7 +4658,7 @@ }, "MathJax": { "cats": [ - 25 + "25" ], "env": "^MathJax$", "icon": "MathJax.png", @@ -4667,7 +4667,7 @@ }, "Mattermost": { "cats": [ - 2 + "2" ], "env": "mm_(?:config|license|user|current_user_id)", "html": "", @@ -4682,7 +4682,7 @@ }, "MaxCDN": { "cats": [ - 31 + "31" ], "headers": { "Server": "^NetDNA", @@ -4693,7 +4693,7 @@ }, "MaxSite CMS": { "cats": [ - 1 + "1" ], "icon": "MaxSite CMS.png", "implies": "PHP", @@ -4704,7 +4704,7 @@ }, "Mean.io": { "cats": [ - 12 + "12" ], "headers": { "X-Powered-CMS": "Mean\\.io" @@ -4719,7 +4719,7 @@ }, "MediaElement.js": { "cats": [ - 14 + "14" ], "env": "^mejs$", "icon": "MediaElement.js.png", @@ -4727,7 +4727,7 @@ }, "MediaTomb": { "cats": [ - 38 + "38" ], "headers": { "Server": "MediaTomb(?:/([\\d.]+))?\\;version:\\1" @@ -4737,7 +4737,7 @@ }, "MediaWiki": { "cats": [ - 8 + "8" ], "html": "(?:]+>Powered by MediaWiki|<[^>]+id=\"t-specialpages)", "icon": "MediaWiki.png", @@ -4749,7 +4749,7 @@ }, "Meebo": { "cats": [ - 5 + "5" ], "html": "(?: