diff --git a/bin/validate b/bin/validate index 1d6587600..dd9b12729 100755 --- a/bin/validate +++ b/bin/validate @@ -6,7 +6,7 @@ set -eu echo "Validating apps.json..." -jsonlint-cli -s schema.json src/apps.json +jsonlint-cli -tps schema.json src/apps.json > /tmp/apps.json && mv /tmp/apps.json src/apps.json echo "Validating regular expressions..." diff --git a/schema.json b/schema.json index ac366218f..0f161fbeb 100644 --- a/schema.json +++ b/schema.json @@ -35,9 +35,9 @@ }, "required": true }, - "env": { - "type": [ "string", "array" ], - "items": { + "js": { + "type": "object", + "additionalProperties": { "type": "string" } }, diff --git a/src/apps.json b/src/apps.json index 6b3c4cac6..12176a11a 100644 --- a/src/apps.json +++ b/src/apps.json @@ -1,11444 +1,12120 @@ { - "apps": { - "1&1": { - "cats": [ - "6" - ], - "icon": "1and1.svg", - "implies": "PHP", - "url": "/shop/catalog/browse\\?sessid=", - "website": "http://1and1.com" - }, - "1C-Bitrix": { - "cats": [ - "1" - ], - "headers": { - "Set-Cookie": "^BITRIX_", - "X-Powered-CMS": "^Bitrix Site Manager" - }, - "html": "(?:]+components/bitrix|(?:src|href)=\"/bitrix/(?:js|templates))", - "icon": "1C-Bitrix.png", - "implies": "PHP", - "script": "1c-bitrix", - "website": "http://www.1c-bitrix.ru" - }, - "2z Project": { - "cats": [ - "1" - ], - "icon": "2z Project.png", - "meta": { - "generator": "2z project ([\\d.]+)\\;version:\\1" - }, - "website": "http://2zproject-cms.ru" - }, - "3DM": { - "cats": [ - "19" - ], - "html": "3ware 3DM([\\d\\.]+)?\\;version:\\1", - "icon": "3DM.png", - "implies": "3ware", - "website": "http://www.3ware.com" - }, - "3dCart": { - "cats": [ - "1", - "6" - ], - "headers": { - "Set-Cookie": "3dvisit", - "X-Powered-By": "3DCART" - }, - "icon": "3dCart.png", - "script": "(?:twlh(?:track)?\\.asp|3d_upsell\\.js)", - "website": "http://www.3dcart.com" - }, - "3ware": { - "cats": [ - "22" - ], - "headers": { - "Server": "3ware\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "3ware.png", - "website": "http://www.3ware.com" - }, - "AD EBiS": { - "cats": [ - "10" - ], - "html": [ - "<!-- EBiS contents tag", - "<!--EBiS tag", - "<!-- Tag EBiS", - "<!-- EBiS common tag" - ], - "icon": "ebis.png", - "website": "http://www.ebis.ne.jp" - }, - "Amber": { - "cats": [ - "18", - "22" - ], - "headers": { - "X-Powered-By": "^Amber$" - }, - "icon": "amber.png", - "website": "https://amberframework.org" - }, - "AMPcms": { - "cats": [ - "1" - ], - "env": "^amp_js_init$", - "headers": { - "Set-Cookie": "^AMP=", - "X-AMP-Version": "([\\d.]+)\\;version:\\1" - }, - "icon": "AMPcms.png", - "implies": "PHP", - "website": "http://www.ampcms.org" - }, - "AOLserver": { - "cats": [ - "22" - ], - "headers": { - "Server": "AOLserver/?([\\d.]+)?\\;version:\\1" - }, - "icon": "AOLserver.png", - "website": "http://aolserver.com" - }, - "AT Internet Analyzer": { - "cats": [ - "10" - ], - "env": [ - "^xtsite$", - "^ATInternet$" - ], - "icon": "AT Internet.png", - "website": "http://atinternet.com/en" - }, - "AT Internet XiTi": { - "cats": [ - "10" - ], - "env": "^Xt_", - "icon": "AT Internet.png", - "script": "xiti\\.com/hit\\.xiti", - "website": "http://atinternet.com/en" - }, - "ATEN": { - "cats": [ - "22" - ], - "headers": { - "Server": "ATEN HTTP Server(?:\\(?V?([\\d\\.]+)\\)?)?\\;version:\\1" - }, - "icon": "ATEN.png", - "website": "http://www.aten.com" - }, - "AWStats": { - "cats": [ - "10" - ], - "icon": "AWStats.png", - "implies": "Perl", - "meta": { - "generator": "AWStats ([\\d.]+(?: \\(build [\\d.]+\\))?)\\;version:\\1" - }, - "website": "http://awstats.sourceforge.net" - }, - "Accessible Portal": { - "cats": [ - "1" - ], - "icon": "Accessible Portal.png", - "implies": "PHP", - "meta": { - "generator": "Accessible Portal" - }, - "website": "http://www.accessibleportal.com" - }, - "Act-On": { - "cats": [ - "32" - ], - "env": "^ActOn$", - "icon": "ActOn.png", - "website": "http://act-on.com" - }, - "Prebid": { - "cats": [ - "36" - ], - "icon": "Prebid.png", - "env": [ - "pbjs", - "PREBID_TIMEOUT" - ], - "script": [ - "/prebid\\.js", - "adnxs\\.com/[^\"]*(?:prebid|/pb\\.js)" - ], - "website": "http://prebid.org" - }, - "AdInfinity": { - "cats": [ - "36" - ], - "icon": "AdInfinity.png", - "script": "adinfinity\\.com\\.au", - "website": "http://adinfinity.com.au" - }, - "AdRiver": { - "cats": [ - "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/)", - "icon": "AdRiver.png", - "script": "(?:adriver\\.core\\.\\d\\.js|https?://(?:content|ad|masterh\\d)\\.adriver\\.ru/)", - "website": "http://adriver.ru" - }, - "AdRoll": { - "cats": [ - "36" - ], - "env": "^adroll_", - "icon": "AdRoll.svg", - "script": "(?:a|s)\\.adroll\\.com", - "website": "http://adroll.com" - }, - "Adcash": { - "cats": [ - "36" - ], - "env": "^(?:ac_bgclick_URL|ct_(?:siteunder|tag|n(?:SuUrl(?:Opp)?)|Su(?:Loaded|Url)))$", - "icon": "Adcash.svg", - "script": "^[^\\/]*//(?:[^\\/]+\\.)?adcash\\.com/(?:script|ad)/", - "url": "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_", - "website": "http://adcash.com" - }, - "AddShoppers": { - "cats": [ - "5" - ], - "icon": "AddShoppers.png", - "script": "cdn\\.shop\\.pe/widget/", - "website": "http://www.addshoppers.com" - }, - "AddThis": { - "cats": [ - "5" - ], - "env": "^addthis", - "icon": "AddThis.svg", - "script": "addthis\\.com/js/", - "website": "http://www.addthis.com" - }, - "AddToAny": { - "cats": [ - "5" - ], - "env": "^a2apage_init$", - "icon": "AddToAny.png", - "script": "addtoany\\.com/menu/page\\.js", - "website": "http://www.addtoany.com" - }, - "Adminer": { - "cats": [ - "3" - ], - "html": [ - "Adminer</a> <span class=\"version\">([\\d.]+)</span>\\;version:\\1", - "onclick=\"bodyClick\\(event\\);\" onload=\"verifyVersion\\('([\\d.]+)'\\);\">\\;version:\\1" - ], - "icon": "adminer.png", - "implies": "PHP", - "website": "http://www.adminer.org" - }, - "Adnegah": { - "cats": [ - "36" - ], - "headers": { - "X-Advertising-By": "adnegah\\.net" - }, - "html": "<iframe [^>]*src=\"[^\"]+adnegah\\.net", - "icon": "adnegah.png", - "script": "[^a-z]adnegah.*\\.js$", - "website": "https://Adnegah.net" - }, - "Adobe ColdFusion": { - "cats": [ - "18" - ], - "env": "^_cfEmails$", - "headers": { - "Cookie": "CFTOKEN=" - }, - "html": "<!-- START headerTags\\.cfm", - "icon": "Adobe ColdFusion.svg", - "implies": "CFML", - "script": "/cfajax/", - "url": "\\.cfm(?:$|\\?)", - "website": "http://adobe.com/products/coldfusion-family.html" - }, - "Adobe Experience Manager": { - "cats": [ - "1" - ], - "html": [ - "<div class=\"[^\"]*parbase", - "<div[^>]+data-component-path=\"[^\"+]jcr:" - ], - "icon": "Adobe Experience Manager.svg", - "implies": "Java", - "script": "/etc/designs/", - "website": "http://www.adobe.com/au/marketing-cloud/enterprise-content-management.html" - }, - "Adobe GoLive": { - "cats": [ - "20" - ], - "icon": "Adobe GoLive.png", - "meta": { - "generator": "Adobe GoLive(?:\\s([\\d.]+))?\\;version:\\1" - }, - "website": "http://www.adobe.com/products/golive" - }, - "Adobe Muse": { - "cats": [ - "20" - ], - "icon": "Adobe Muse.svg", - "meta": { - "generator": "^Muse(?:$| ?/?(\\d[\\d.]+))\\;version:\\1" - }, - "website": "http://muse.adobe.com" - }, - "Adobe RoboHelp": { - "cats": [ - "4" - ], - "env": "^gbWh(?:Ver|Lang|Msg|Util|Proxy)$", - "icon": "Adobe RoboHelp.svg", - "meta": { - "generator": "^Adobe RoboHelp(?: ([\\d]+))?\\;version:\\1" - }, - "script": "(?:wh(?:utils|ver|proxy|lang|topic|msg)|ehlpdhtm)\\.js", - "website": "http://adobe.com/products/robohelp.html" - }, - "Advanced Web Stats": { - "cats": [ - "10" - ], - "html": "aws\\.src = [^<]+caphyon-analytics", - "icon": "Advanced Web Stats.png", - "implies": "Java", - "website": "http://www.advancedwebstats.com" - }, - "Advert Stream": { - "cats": [ - "36" - ], - "env": "^advst_is_above_the_fold$", - "icon": "Advert Stream.png", - "script": "(?:ad\\.advertstream\\.com|adxcore\\.com)", - "website": "http://www.advertstream.com" - }, - "Adzerk": { - "cats": [ - "36" - ], - "env": "^ados(?:Results)?$", - "html": "<iframe [^>]*src=\"[^\"]+adzerk\\.net", - "icon": "Adzerk.png", - "script": "adzerk\\.net/ados\\.js", - "website": "http://adzerk.com" - }, - "Aegea": { - "cats": [ - "11" - ], - "headers": { - "X-Powered-By": "^E2 Aegea v(\\d+)$\\;version:\\1" - }, - "icon": "Aegea.png", - "implies": [ - "PHP", - "jQuery" - ], - "website": "http://blogengine.ru" - }, - "AfterBuy": { - "cats": [ - "6" - ], - "html": [ - "<dd>This OnlineStore is brought to you by ViA-Online GmbH Afterbuy\\. Information and contribution at https://www\\.afterbuy\\.de</dd>" - ], - "icon": "after-buy.png", - "script": "shop-static\\.afterbuy\\.de", - "website": "http://www.afterbuy.de" - }, - "Afosto": { - "cats": [ - "6" - ], - "headers": { - "X-Powered-By": "Afosto SaaS BV" - }, - "icon": "Afosto.svg", - "website": "http://afosto.com" - }, - "Aircall": { - "cats": [ - "52" - ], - "icon": "aircall.png", - "script": "^https?://cdn\\.aircall\\.io/", - "website": "http://aircall.io" - }, - "Airee": { - "cats": [ - "31" - ], - "headers": { - "Server": "Airee" - }, - "icon": "Airee.png", - "website": "http://xn--80aqc2a.xn--p1ai" - }, - "Akamai": { - "cats": [ - "31" - ], - "headers": { - "X-Akamai-Transformed": "" - }, - "icon": "akamai.svg", - "website": "http://akamai.com" - }, - "Akka HTTP": { - "cats": [ - "18", - "22" - ], - "headers": { - "Server": "akka-http(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "akka-http.png", - "website": "http://akka.io" - }, - "Algolia Realtime Search": { - "cats": [ - "29" - ], - "env": "^AlgoliaSearch$", - "icon": "Algolia Realtime Search.svg", - "website": "http://www.algolia.com" - }, - "Allegro RomPager": { - "cats": [ - "22" - ], - "headers": { - "Server": "Allegro-Software-RomPager(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "Allegro RomPager.png", - "website": "http://allegrosoft.com/embedded-web-server-s2" - }, - "AlloyUI": { - "cats": [ - "12" - ], - "env": "^AUI$", - "icon": "AlloyUI.png", - "implies": [ - "Bootstrap", - "YUI" - ], - "script": "^https?://cdn\\.alloyui\\.com/", - "website": "http://www.alloyui.com" - }, - "Amaya": { - "cats": [ - "20" - ], - "icon": "Amaya.png", - "meta": { - "generator": "Amaya(?: V?([\\d.]+[a-z]))?\\;version:\\1" - }, - "website": "http://www.w3.org/Amaya" - }, - "Amazon Cloudfront": { - "cats": [ - "31" - ], - "headers": { - "X-Amz-Cf-Id": "" - }, - "icon": "Amazon-Cloudfront.svg", - "website": "http://aws.amazon.com/cloudfront/" - }, - "Amazon EC2": { - "cats": [ - "22" - ], - "headers": { - "Server": "\\(Amazon\\)" - }, - "icon": "aws-ec2.svg", - "website": "http://aws.amazon.com/ec2/" - }, - "Amazon S3": { - "cats": [ - "19" - ], - "headers": { - "Server": "AmazonS3" - }, - "icon": "aws-s3.svg", - "website": "http://aws.amazon.com/s3/" - }, - "Ametys": { - "cats": [ - "1" - ], - "icon": "Ametys.png", - "implies": "Java", - "meta": { - "generator": "(?:Ametys|Anyware Technologies)" - }, - "script": "ametys\\.js", - "website": "http://ametys.org" - }, - "Amiro.CMS": { - "cats": [ - "1" - ], - "icon": "Amiro.CMS.png", - "implies": "PHP", - "meta": { - "generator": "Amiro" - }, - "website": "http://amirocms.com" - }, - "Angular Material": { - "cats": [ - "18" - ], - "env": "^ngMaterial$", - "icon": "Angular.svg", - "implies": "AngularJS", - "script": [ - "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular-material(?:\\.min)?\\.js\\;version:\\1", - "angular-material.*\\.js" - ], - "website": "http://material.angularjs.org" - }, - "AngularJS": { - "cats": [ - "12" - ], - "env": "^angular$", - "icon": "AngularJS.svg", - "script": [ - "angular(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular(?:\\.min)?\\.js\\;version:\\1", - "angular.*\\.js" - ], - "website": "http://angularjs.org" - }, - "Apache": { - "cats": [ - "22" - ], - "headers": { - "Server": "(?:Apache(?:$|/([\\d.]+)|[^/-])|(?:^|\b)HTTPD)\\;version:\\1" - }, - "icon": "Apache.svg", - "website": "http://apache.org" - }, - "Apache HBase": { - "cats": [ - "34" - ], - "html": "<style[^>]+static/hbase", - "icon": "Apache HBase.png", - "implies": "Java", - "website": "http://hbase.apache.org" - }, - "Apache Hadoop": { - "cats": [ - "34" - ], - "html": "<style[^>]+static/hadoop", - "icon": "Apache Hadoop.svg", - "website": "http://hadoop.apache.org" - }, - "Apache JSPWiki": { - "cats": [ - "8" - ], - "html": "<html[^>]* xmlns:jspwiki=", - "icon": "Apache JSPWiki.png", - "implies": "Apache Tomcat", - "script": "jspwiki", - "url": "wiki\\.jsp", - "website": "http://jspwiki.org" - }, - "Apache Tomcat": { - "cats": [ - "22" - ], - "headers": { - "Server": "^Apache-Coyote(/1\\.1)?$\\;version:\\1?4.1+:", - "X-Powered-By": "\bTomcat\b(?:-([\\d.]+))?\\;version:\\1" - }, - "icon": "Apache Tomcat.svg", - "implies": "Java", - "website": "http://tomcat.apache.org" - }, - "Apache Traffic Server": { - "cats": [ - "22" - ], - "headers": { - "Server": "ATS/?([\\d.]+)?\\;version:\\1" - }, - "icon": "Apache Traffic Server.png", - "website": "http://trafficserver.apache.org/" - }, - "Apache Wicket": { - "cats": [ - "18" - ], - "env": "^Wicket", - "icon": "Apache Wicket.svg", - "implies": "Java", - "website": "http://wicket.apache.org" - }, - "ApexPages": { - "cats": [ - "51" - ], - "headers": { - "X-Powered-By": "Salesforce\\.com ApexPages" - }, - "icon": "ApexPages.png", - "implies": "Salesforce", - "website": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro.htm" - }, - "Apostrophe CMS": { - "cats": [ - "1" - ], - "html": "<[^>]+data-apos-refreshable[^>]", - "icon": "apostrophecms.svg", - "implies": "Node.js", - "website": "http://apostrophecms.org" - }, - "AppNexus": { - "cats": [ - "36" - ], - "html": "<(?:iframe|img)[^>]+adnxs\\.(?:net|com)", - "icon": "AppNexus.svg", - "script": "adnxs\\.(?:net|com)", - "website": "http://appnexus.com" - }, - "Arastta": { - "cats": [ - "6" - ], - "excludes": "OpenCart", - "headers": { - "Arastta": "(.*)\\;version:\\1", - "X-Arastta": "" - }, - "html": "Powered by <a [^>]*href=\"https?://(?:www\\.)?arastta\\.org[^>]+>Arastta", - "icon": "Arastta.svg", - "implies": "PHP", - "script": "arastta\\.js", - "website": "http://arastta.org" - }, - "Arc Forum": { - "cats": [ - "2" - ], - "html": "ping\\.src = node\\.href;\\s+[^>]+\\s+}\\s+</script>", - "icon": "Arc Forum.png", - "website": "http://arclanguage.org" - }, - "ArcGIS API for JavaScript": { - "cats": [ - "35" - ], - "script": [ - "js\\.arcgis\\.com", - "basemaps\\.arcgis\\.com" - ], - "icon": "arcgis_icon.png", - "website": "https://developers.arcgis.com/javascript/" - }, - "Artifactory": { - "cats": [ - "47" - ], - "env": "^ArtifactoryUpdates$", - "html": [ - "<span class=\"version\">Artifactory(?: Pro)?(?: Power Pack)?(?: ([\\d.]+))?\\;version:\\1" - ], - "icon": "Artifactory.svg", - "script": [ - "wicket/resource/org\\.artifactory\\." - ], - "website": "http://jfrog.com/open-source/#os-arti" - }, - "Artifactory Web Server": { - "cats": [ - "22" - ], - "headers": { - "Server": "Artifactory(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "Artifactory.svg", - "implies": [ - "Artifactory" - ], - "website": "http://jfrog.com/open-source/#os-arti" - }, - "ArvanCloud": { - "cats": [ - "31" - ], - "env": "^ArvanCloud$", - "headers": { - "AR-PoweredBy": "Arvan Cloud \\(arvancloud\\.com\\)" - }, - "icon": "ArvanCloud.png", - "website": "http://www.ArvanCloud.com" - }, - "AsciiDoc": { - "cats": [ - "1", - "20", - "27" - ], - "env": "^asciidoc$", - "icon": "AsciiDoc.png", - "meta": { - "generator": "^AsciiDoc ([\\d.]+)\\;version:\\1" - }, - "website": "http://www.methods.co.nz/asciidoc" - }, - "Asciinema": { - "cats": [ - "14" - ], - "env": "^asciinema$", - "script": "asciinema\\.org/", - "icon": "asciinema.png", - "html": "<asciinema-player", - "website": "https://asciinema.org/" - }, - "Atlassian Bitbucket": { - "cats": [ - "47" - ], - "env": "^bitbucket$", - "icon": "Atlassian Bitbucket.svg", - "implies": "Python", + "apps": { + "1&1": { + "cats": [ + "6" + ], + "icon": "1and1.svg", + "implies": "PHP", + "url": "/shop/catalog/browse\\?sessid=", + "website": "http://1and1.com" + }, + "1C-Bitrix": { + "cats": [ + "1" + ], + "headers": { + "Set-Cookie": "^BITRIX_", + "X-Powered-CMS": "^Bitrix Site Manager" + }, + "html": "(?:<link[^>]+components/bitrix|(?:src|href)=\"/bitrix/(?:js|templates))", + "icon": "1C-Bitrix.png", + "implies": "PHP", + "script": "1c-bitrix", + "website": "http://www.1c-bitrix.ru" + }, + "2z Project": { + "cats": [ + "1" + ], + "icon": "2z Project.png", + "meta": { + "generator": "2z project ([\\d.]+)\\;version:\\1" + }, + "website": "http://2zproject-cms.ru" + }, + "3DM": { + "cats": [ + "19" + ], + "html": "<title>3ware 3DM([\\d\\.]+)?\\;version:\\1", + "icon": "3DM.png", + "implies": "3ware", + "website": "http://www.3ware.com" + }, + "3dCart": { + "cats": [ + "1", + "6" + ], + "headers": { + "Set-Cookie": "3dvisit", + "X-Powered-By": "3DCART" + }, + "icon": "3dCart.png", + "script": "(?:twlh(?:track)?\\.asp|3d_upsell\\.js)", + "website": "http://www.3dcart.com" + }, + "3ware": { + "cats": [ + "22" + ], + "headers": { + "Server": "3ware\\/?([\\d\\.]+)?\\;version:\\1" + }, + "icon": "3ware.png", + "website": "http://www.3ware.com" + }, + "AD EBiS": { + "cats": [ + "10" + ], + "html": [ + "<!-- EBiS contents tag", + "<!--EBiS tag", + "<!-- Tag EBiS", + "<!-- EBiS common tag" + ], + "icon": "ebis.png", + "website": "http://www.ebis.ne.jp" + }, + "Amber": { + "cats": [ + "18", + "22" + ], + "headers": { + "X-Powered-By": "^Amber$" + }, + "icon": "amber.png", + "website": "https://amberframework.org" + }, + "AMPcms": { + "cats": [ + "1" + ], + "js": { + "amp_js_init": "" + }, + "headers": { + "Set-Cookie": "^AMP=", + "X-AMP-Version": "([\\d.]+)\\;version:\\1" + }, + "icon": "AMPcms.png", + "implies": "PHP", + "website": "http://www.ampcms.org" + }, + "AOLserver": { + "cats": [ + "22" + ], + "headers": { + "Server": "AOLserver/?([\\d.]+)?\\;version:\\1" + }, + "icon": "AOLserver.png", + "website": "http://aolserver.com" + }, + "AT Internet Analyzer": { + "cats": [ + "10" + ], + "js": { + "xtsite": "", + "ATInternet": "" + }, + "icon": "AT Internet.png", + "website": "http://atinternet.com/en" + }, + "AT Internet XiTi": { + "cats": [ + "10" + ], + "js": { + "Xt_": "" + }, + "icon": "AT Internet.png", + "script": "xiti\\.com/hit\\.xiti", + "website": "http://atinternet.com/en" + }, + "ATEN": { + "cats": [ + "22" + ], + "headers": { + "Server": "ATEN HTTP Server(?:\\(?V?([\\d\\.]+)\\)?)?\\;version:\\1" + }, + "icon": "ATEN.png", + "website": "http://www.aten.com" + }, + "AWStats": { + "cats": [ + "10" + ], + "icon": "AWStats.png", + "implies": "Perl", + "meta": { + "generator": "AWStats ([\\d.]+(?: \\(build [\\d.]+\\))?)\\;version:\\1" + }, + "website": "http://awstats.sourceforge.net" + }, + "Accessible Portal": { + "cats": [ + "1" + ], + "icon": "Accessible Portal.png", + "implies": "PHP", + "meta": { + "generator": "Accessible Portal" + }, + "website": "http://www.accessibleportal.com" + }, + "Act-On": { + "cats": [ + "32" + ], + "js": { + "ActOn": "" + }, + "icon": "ActOn.png", + "website": "http://act-on.com" + }, + "Prebid": { + "cats": [ + "36" + ], + "icon": "Prebid.png", + "js": { + "pbjs": "", + "PREBID_TIMEOUT": "" + }, + "script": [ + "/prebid\\.js", + "adnxs\\.com/[^\"]*(?:prebid|/pb\\.js)" + ], + "website": "http://prebid.org" + }, + "AdInfinity": { + "cats": [ + "36" + ], + "icon": "AdInfinity.png", + "script": "adinfinity\\.com\\.au", + "website": "http://adinfinity.com.au" + }, + "AdRiver": { + "cats": [ + "36" + ], + "js": { + "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/)", + "icon": "AdRiver.png", + "script": "(?:adriver\\.core\\.\\d\\.js|https?://(?:content|ad|masterh\\d)\\.adriver\\.ru/)", + "website": "http://adriver.ru" + }, + "AdRoll": { + "cats": [ + "36" + ], + "js": { + "adroll_": "" + }, + "icon": "AdRoll.svg", + "script": "(?:a|s)\\.adroll\\.com", + "website": "http://adroll.com" + }, + "Adcash": { + "cats": [ + "36" + ], + "js": { + "ac_bgclick_URL": "", + "ct_siteunder": "", + "ct_tag": "", + "ct_nSuUrl": "", + "ct_nOpp": "", + "SuLoaded": "", + "SuUrl": "" + }, + "icon": "Adcash.svg", + "script": "^[^\\/]*//(?:[^\\/]+\\.)?adcash\\.com/(?:script|ad)/", + "url": "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_", + "website": "http://adcash.com" + }, + "AddShoppers": { + "cats": [ + "5" + ], + "icon": "AddShoppers.png", + "script": "cdn\\.shop\\.pe/widget/", + "website": "http://www.addshoppers.com" + }, + "AddThis": { + "cats": [ + "5" + ], + "js": { + "addthis": "" + }, + "icon": "AddThis.svg", + "script": "addthis\\.com/js/", + "website": "http://www.addthis.com" + }, + "AddToAny": { + "cats": [ + "5" + ], + "js": { + "a2apage_init": "" + }, + "icon": "AddToAny.png", + "script": "addtoany\\.com/menu/page\\.js", + "website": "http://www.addtoany.com" + }, + "Adminer": { + "cats": [ + "3" + ], + "html": [ + "Adminer</a> <span class=\"version\">([\\d.]+)</span>\\;version:\\1", + "onclick=\"bodyClick\\(event\\);\" onload=\"verifyVersion\\('([\\d.]+)'\\);\">\\;version:\\1" + ], + "icon": "adminer.png", + "implies": "PHP", + "website": "http://www.adminer.org" + }, + "Adnegah": { + "cats": [ + "36" + ], + "headers": { + "X-Advertising-By": "adnegah\\.net" + }, + "html": "<iframe [^>]*src=\"[^\"]+adnegah\\.net", + "icon": "adnegah.png", + "script": "[^a-z]adnegah.*\\.js$", + "website": "https://Adnegah.net" + }, + "Adobe ColdFusion": { + "cats": [ + "18" + ], + "js": { + "_cfEmails": "" + }, + "headers": { + "Cookie": "CFTOKEN=" + }, + "html": "<!-- START headerTags\\.cfm", + "icon": "Adobe ColdFusion.svg", + "implies": "CFML", + "script": "/cfajax/", + "url": "\\.cfm(?:$|\\?)", + "website": "http://adobe.com/products/coldfusion-family.html" + }, + "Adobe Experience Manager": { + "cats": [ + "1" + ], + "html": [ + "<div class=\"[^\"]*parbase", + "<div[^>]+data-component-path=\"[^\"+]jcr:" + ], + "icon": "Adobe Experience Manager.svg", + "implies": "Java", + "script": "/etc/designs/", + "website": "http://www.adobe.com/au/marketing-cloud/enterprise-content-management.html" + }, + "Adobe GoLive": { + "cats": [ + "20" + ], + "icon": "Adobe GoLive.png", + "meta": { + "generator": "Adobe GoLive(?:\\s([\\d.]+))?\\;version:\\1" + }, + "website": "http://www.adobe.com/products/golive" + }, + "Adobe Muse": { + "cats": [ + "20" + ], + "icon": "Adobe Muse.svg", + "meta": { + "generator": "^Muse(?:$| ?/?(\\d[\\d.]+))\\;version:\\1" + }, + "website": "http://muse.adobe.com" + }, + "Adobe RoboHelp": { + "cats": [ + "4" + ], + "js": { + "gbWhVer": "", + "gbWhLang": "", + "gbWhMsg": "", + "gbWhUtil": "", + "gbWhProxy": "" + }, + "icon": "Adobe RoboHelp.svg", + "meta": { + "generator": "^Adobe RoboHelp(?: ([\\d]+))?\\;version:\\1" + }, + "script": "(?:wh(?:utils|ver|proxy|lang|topic|msg)|ehlpdhtm)\\.js", + "website": "http://adobe.com/products/robohelp.html" + }, + "Advanced Web Stats": { + "cats": [ + "10" + ], + "html": "aws\\.src = [^<]+caphyon-analytics", + "icon": "Advanced Web Stats.png", + "implies": "Java", + "website": "http://www.advancedwebstats.com" + }, + "Advert Stream": { + "cats": [ + "36" + ], + "js": { + "advst_is_above_the_fold": "" + }, + "icon": "Advert Stream.png", + "script": "(?:ad\\.advertstream\\.com|adxcore\\.com)", + "website": "http://www.advertstream.com" + }, + "Adzerk": { + "cats": [ + "36" + ], + "js": { + "ados": "", + "adosResults": "" + }, + "html": "<iframe [^>]*src=\"[^\"]+adzerk\\.net", + "icon": "Adzerk.png", + "script": "adzerk\\.net/ados\\.js", + "website": "http://adzerk.com" + }, + "Aegea": { + "cats": [ + "11" + ], + "headers": { + "X-Powered-By": "^E2 Aegea v(\\d+)$\\;version:\\1" + }, + "icon": "Aegea.png", + "implies": [ + "PHP", + "jQuery" + ], + "website": "http://blogengine.ru" + }, + "AfterBuy": { + "cats": [ + "6" + ], + "html": [ + "<dd>This OnlineStore is brought to you by ViA-Online GmbH Afterbuy\\. Information and contribution at https://www\\.afterbuy\\.de</dd>" + ], + "icon": "after-buy.png", + "script": "shop-static\\.afterbuy\\.de", + "website": "http://www.afterbuy.de" + }, + "Afosto": { + "cats": [ + "6" + ], + "headers": { + "X-Powered-By": "Afosto SaaS BV" + }, + "icon": "Afosto.svg", + "website": "http://afosto.com" + }, + "Aircall": { + "cats": [ + "52" + ], + "icon": "aircall.png", + "script": "^https?://cdn\\.aircall\\.io/", + "website": "http://aircall.io" + }, + "Airee": { + "cats": [ + "31" + ], + "headers": { + "Server": "Airee" + }, + "icon": "Airee.png", + "website": "http://xn--80aqc2a.xn--p1ai" + }, + "Akamai": { + "cats": [ + "31" + ], + "headers": { + "X-Akamai-Transformed": "" + }, + "icon": "akamai.svg", + "website": "http://akamai.com" + }, + "Akka HTTP": { + "cats": [ + "18", + "22" + ], + "headers": { + "Server": "akka-http(?:/([\\d.]+))?\\;version:\\1" + }, + "icon": "akka-http.png", + "website": "http://akka.io" + }, + "Algolia Realtime Search": { + "cats": [ + "29" + ], + "js": { + "AlgoliaSearch": "" + }, + "icon": "Algolia Realtime Search.svg", + "website": "http://www.algolia.com" + }, + "Allegro RomPager": { + "cats": [ + "22" + ], + "headers": { + "Server": "Allegro-Software-RomPager(?:/([\\d.]+))?\\;version:\\1" + }, + "icon": "Allegro RomPager.png", + "website": "http://allegrosoft.com/embedded-web-server-s2" + }, + "AlloyUI": { + "cats": [ + "12" + ], + "js": { + "AUI": "" + }, + "icon": "AlloyUI.png", + "implies": [ + "Bootstrap", + "YUI" + ], + "script": "^https?://cdn\\.alloyui\\.com/", + "website": "http://www.alloyui.com" + }, + "Amaya": { + "cats": [ + "20" + ], + "icon": "Amaya.png", + "meta": { + "generator": "Amaya(?: V?([\\d.]+[a-z]))?\\;version:\\1" + }, + "website": "http://www.w3.org/Amaya" + }, + "Amazon Cloudfront": { + "cats": [ + "31" + ], + "headers": { + "X-Amz-Cf-Id": "" + }, + "icon": "Amazon-Cloudfront.svg", + "website": "http://aws.amazon.com/cloudfront/" + }, + "Amazon EC2": { + "cats": [ + "22" + ], + "headers": { + "Server": "\\(Amazon\\)" + }, + "icon": "aws-ec2.svg", + "website": "http://aws.amazon.com/ec2/" + }, + "Amazon S3": { + "cats": [ + "19" + ], + "headers": { + "Server": "AmazonS3" + }, + "icon": "aws-s3.svg", + "website": "http://aws.amazon.com/s3/" + }, + "Ametys": { + "cats": [ + "1" + ], + "icon": "Ametys.png", + "implies": "Java", + "meta": { + "generator": "(?:Ametys|Anyware Technologies)" + }, + "script": "ametys\\.js", + "website": "http://ametys.org" + }, + "Amiro.CMS": { + "cats": [ + "1" + ], + "icon": "Amiro.CMS.png", + "implies": "PHP", + "meta": { + "generator": "Amiro" + }, + "website": "http://amirocms.com" + }, + "Angular Material": { + "cats": [ + "18" + ], + "js": { + "ngMaterial": "" + }, + "icon": "Angular.svg", + "implies": "AngularJS", + "script": [ + "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular-material(?:\\.min)?\\.js\\;version:\\1", + "angular-material.*\\.js" + ], + "website": "http://material.angularjs.org" + }, + "AngularJS": { + "cats": [ + "12" + ], + "js": { + "angular": "" + }, + "icon": "AngularJS.svg", + "script": [ + "angular(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", + "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular(?:\\.min)?\\.js\\;version:\\1", + "angular.*\\.js" + ], + "website": "http://angularjs.org" + }, + "Apache": { + "cats": [ + "22" + ], + "headers": { + "Server": "(?:Apache(?:$|/([\\d.]+)|[^/-])|(?:^|\b)HTTPD)\\;version:\\1" + }, + "icon": "Apache.svg", + "website": "http://apache.org" + }, + "Apache HBase": { + "cats": [ + "34" + ], + "html": "<style[^>]+static/hbase", + "icon": "Apache HBase.png", + "implies": "Java", + "website": "http://hbase.apache.org" + }, + "Apache Hadoop": { + "cats": [ + "34" + ], + "html": "<style[^>]+static/hadoop", + "icon": "Apache Hadoop.svg", + "website": "http://hadoop.apache.org" + }, + "Apache JSPWiki": { + "cats": [ + "8" + ], + "html": "<html[^>]* xmlns:jspwiki=", + "icon": "Apache JSPWiki.png", + "implies": "Apache Tomcat", + "script": "jspwiki", + "url": "wiki\\.jsp", + "website": "http://jspwiki.org" + }, + "Apache Tomcat": { + "cats": [ + "22" + ], + "headers": { + "Server": "^Apache-Coyote(/1\\.1)?$\\;version:\\1?4.1+:", + "X-Powered-By": "\bTomcat\b(?:-([\\d.]+))?\\;version:\\1" + }, + "icon": "Apache Tomcat.svg", + "implies": "Java", + "website": "http://tomcat.apache.org" + }, + "Apache Traffic Server": { + "cats": [ + "22" + ], + "headers": { + "Server": "ATS/?([\\d.]+)?\\;version:\\1" + }, + "icon": "Apache Traffic Server.png", + "website": "http://trafficserver.apache.org/" + }, + "Apache Wicket": { + "cats": [ + "18" + ], + "js": { + "Wicket": "" + }, + "icon": "Apache Wicket.svg", + "implies": "Java", + "website": "http://wicket.apache.org" + }, + "ApexPages": { + "cats": [ + "51" + ], + "headers": { + "X-Powered-By": "Salesforce\\.com ApexPages" + }, + "icon": "ApexPages.png", + "implies": "Salesforce", + "website": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro.htm" + }, + "Apostrophe CMS": { + "cats": [ + "1" + ], + "html": "<[^>]+data-apos-refreshable[^>]", + "icon": "apostrophecms.svg", + "implies": "Node.js", + "website": "http://apostrophecms.org" + }, + "AppNexus": { + "cats": [ + "36" + ], + "html": "<(?:iframe|img)[^>]+adnxs\\.(?:net|com)", + "icon": "AppNexus.svg", + "script": "adnxs\\.(?:net|com)", + "website": "http://appnexus.com" + }, + "Arastta": { + "cats": [ + "6" + ], + "excludes": "OpenCart", + "headers": { + "Arastta": "(.*)\\;version:\\1", + "X-Arastta": "" + }, + "html": "Powered by <a [^>]*href=\"https?://(?:www\\.)?arastta\\.org[^>]+>Arastta", + "icon": "Arastta.svg", + "implies": "PHP", + "script": "arastta\\.js", + "website": "http://arastta.org" + }, + "Arc Forum": { + "cats": [ + "2" + ], + "html": "ping\\.src = node\\.href;\\s+[^>]+\\s+}\\s+</script>", + "icon": "Arc Forum.png", + "website": "http://arclanguage.org" + }, + "ArcGIS API for JavaScript": { + "cats": [ + "35" + ], + "script": [ + "js\\.arcgis\\.com", + "basemaps\\.arcgis\\.com" + ], + "icon": "arcgis_icon.png", + "website": "https://developers.arcgis.com/javascript/" + }, + "Artifactory": { + "cats": [ + "47" + ], + "js": { + "ArtifactoryUpdates": "" + }, + "html": [ + "<span class=\"version\">Artifactory(?: Pro)?(?: Power Pack)?(?: ([\\d.]+))?\\;version:\\1" + ], + "icon": "Artifactory.svg", + "script": [ + "wicket/resource/org\\.artifactory\\." + ], + "website": "http://jfrog.com/open-source/#os-arti" + }, + "Artifactory Web Server": { + "cats": [ + "22" + ], + "headers": { + "Server": "Artifactory(?:/([\\d.]+))?\\;version:\\1" + }, + "icon": "Artifactory.svg", + "implies": [ + "Artifactory" + ], + "website": "http://jfrog.com/open-source/#os-arti" + }, + "ArvanCloud": { + "cats": [ + "31" + ], + "js": { + "ArvanCloud": "" + }, + "headers": { + "AR-PoweredBy": "Arvan Cloud \\(arvancloud\\.com\\)" + }, + "icon": "ArvanCloud.png", + "website": "http://www.ArvanCloud.com" + }, + "AsciiDoc": { + "cats": [ + "1", + "20", + "27" + ], + "js": { + "asciidoc": "" + }, + "icon": "AsciiDoc.png", + "meta": { + "generator": "^AsciiDoc ([\\d.]+)\\;version:\\1" + }, + "website": "http://www.methods.co.nz/asciidoc" + }, + "Asciinema": { + "cats": [ + "14" + ], + "js": { + "asciinema": "" + }, + "script": "asciinema\\.org/", + "icon": "asciinema.png", + "html": "<asciinema-player", + "website": "https://asciinema.org/" + }, + "Atlassian Bitbucket": { + "cats": [ + "47" + ], + "js": { + "bitbucket": "" + }, + "icon": "Atlassian Bitbucket.svg", + "implies": "Python", "html": "<li>Atlassian Bitbucket <span title=\"[a-z0-9]+\" id=\"product-version\" data-commitid=\"[a-z0-9]+\" data-system-build-number=\"[a-z0-9]+\"> v([\\d.]+)<\\;version:\\1", - "meta": { - "application-name": "Bitbucket" - }, - "website": "http://www.atlassian.com/software/bitbucket/overview/" - }, - "Atlassian Confluence": { - "cats": [ - "8" - ], - "headers": { - "X-Confluence-Request-Time": "" - }, - "html": "Powered by <a href=[^>]+atlassian\\.com/software/confluence(?:[^>]+>Atlassian Confluence</a> ([\\d.]+))?\\;version:\\1", - "icon": "Atlassian Confluence.svg", - "implies": "Java", - "meta": { - "confluence-request-time": "" - }, - "website": "http://www.atlassian.com/software/confluence/overview/team-collaboration-software" - }, - "Atlassian FishEye": { - "cats": [ - "47" - ], - "headers": { - "Set-cookie": "FESESSIONID" - }, - "html": "<title>(?:Log in to )?FishEye (?:and Crucible )?([\\d.]+)?\\;version:\\1", - "icon": "Atlassian FishEye.svg", - "website": "http://www.atlassian.com/software/fisheye/overview/" - }, - "Atlassian Jira": { - "cats": [ - "13" - ], - "env": "^jira$", - "html": "Powered by\\s+]+atlassian\\.com/(?:software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA(?:[^v]*v(?:ersion: )?(\\d+\\.\\d+(?:\\.\\d+)?))?\\;version:\\1", - "icon": "Atlassian Jira.svg", - "implies": "Java", - "meta": { - "ajs-version-number": "([\\d\\.]+)\\;version:\\1", - "application-name": "JIRA" - }, - "website": "http://www.atlassian.com/software/jira/overview/" - }, - "Atlassian Jira Issue Collector": { - "cats": [ - "13", - "47" - ], - "icon": "Atlassian Jira.svg", - "script": [ - "jira-issue-collector-plugin", - "atlassian\\.jira\\.collector\\.plugin" - ], - "website": "http://www.atlassian.com/software/jira/overview/" - }, - "Aurelia": { - "cats": [ - "12" - ], - "html": [ - "<[^>]+aurelia-app=[^>]", - "<[^>]+data-main=[^>]aurelia-bootstrapper", - "<[^>]+au-target-id=[^>]\\d" - ], - "icon": "Aurelia.svg", - "script": [ - "aurelia(?:\\.min)?\\.js" - ], - "website": "http://aurelia.io" - }, - "Avangate": { - "cats": [ - "6" - ], - "env": "^(?:__)?avng8_", - "html": "]* href=\"^https?://edge\\.avangate\\.net/", - "icon": "Avangate.svg", - "script": "^https?://edge\\.avangate\\.net/", - "website": "http://avangate.com" - }, - "BEM": { - "cats": [ - "12" - ], - "html": "<[^>]+data-bem", - "icon": "BEM.png", - "website": "http://en.bem.info" - }, - "BIGACE": { - "cats": [ - "1" - ], - "html": "(?:Powered by ]+BIGACE|", - "icon": "Business Catalyst.png", - "script": "CatalystScripts", - "website": "http://businesscatalyst.com" - }, - "BuySellAds": { - "cats": [ - "36" - ], - "env": "^_bsa", - "html": "]*>[^<]+?bsa\\.src\\s*=\\s*['\"](?:https?:)?\\/{2}\\w\\d\\.buysellads\\.com\\/[\\w\\d\\/]+?bsa\\.js['\"]", - "icon": "BuySellAds.png", - "script": "^https?://s\\d\\.buysellads\\.com/", - "website": "http://buysellads.com" - }, - "C++": { - "cats": [ - "27" - ], - "icon": "C++.png", - "website": "http://isocpp.org" - }, - "CFML": { - "cats": [ - "27" - ], - "icon": "CFML.png", - "website": "http://adobe.com/products/coldfusion-family.html" - }, - "CKEditor": { - "cats": [ - "24" - ], - "env": "^CKEDITOR$", - "icon": "CKEditor.png", - "website": "http://ckeditor.com" - }, - "CMS Made Simple": { - "cats": [ - "1" - ], - "headers": { - "Set-Cookie": "^CMSSESSID" - }, - "icon": "CMS Made Simple.png", - "implies": "PHP", - "meta": { - "generator": "CMS Made Simple" - }, - "website": "http://cmsmadesimple.org" - }, - "CMSimple": { - "cats": [ - "1" - ], - "implies": "PHP", - "meta": { - "generator": "CMSimple( [\\d.]+)?\\;version:\\1" - }, - "website": "http://www.cmsimple.org/en" - }, - "CO2Stats": { - "cats": [ - "10" - ], - "html": "src=[^>]+co2stats\\.com/propres\\.php", - "icon": "CO2Stats.png", - "website": "http://co2stats.com" - }, - "CPG Dragonfly": { - "cats": [ - "1" - ], - "headers": { - "X-Powered-By": "^Dragonfly CMS" - }, - "icon": "CPG Dragonfly.png", - "implies": "PHP", - "meta": { - "generator": "CPG Dragonfly" - }, - "website": "http://dragonflycms.org" - }, - "CS Cart": { - "cats": [ - "6" - ], - "env": "^fn_compare_strings$", - "html": [ - " Powered by (?:]+cs-cart\\.com|CS-Cart)", - "\\.cm-noscript[^>]+" - ], - "icon": "CS Cart.png", - "implies": "PHP", - "website": "http://www.cs-cart.com" - }, - "CacheFly": { - "cats": [ - "31" - ], - "headers": { - "Server": "^CFS ", - "X-CF1": "", - "X-CF2": "" - }, - "icon": "CacheFly.png", - "website": "http://www.cachefly.com" - }, - "Caddy": { - "cats": [ - "22" - ], - "headers": { - "Server": "^Caddy$" - }, - "icon": "caddy.svg", - "implies": "Go", - "website": "http://caddyserver.com" - }, - "CakePHP": { - "cats": [ - "18" - ], - "headers": { - "Set-Cookie": "cakephp=" - }, - "icon": "CakePHP.png", - "implies": "PHP", - "meta": { - "application-name": "CakePHP" - }, - "website": "http://cakephp.org" - }, - "Canon": { - "cats": [ - "40" - ], - "icon": "Canon.png", - "website": "http://www.canon.com" - }, - "Canon HTTP Server": { - "cats": [ - "22" - ], - "headers": { - "Server": "CANON HTTP Server(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "Canon.png", - "implies": "Canon", - "website": "http://www.canon.com" - }, - "Captch Me": { - "cats": [ - "16", - "36" - ], - "env": "^Captchme", - "icon": "Captch Me.svg", - "script": "^https?://api\\.captchme\\.net/", - "website": "http://captchme.com" - }, - "Carbon Ads": { - "cats": [ - "36" - ], - "env": "^_carbonads", - "html": "<[a-z]+ [^>]*id=\"carbonads-container\"", - "icon": "Carbon Ads.png", - "script": "[^\\/]*\\/\\/(?:engine|srv)\\.carbonads\\.com\\/", - "website": "http://carbonads.net" - }, - "Cargo": { - "cats": [ - "1" - ], - "html": "]+Cargo feed", - "icon": "Cargo.png", - "implies": "PHP", - "meta": { - "cargo_title": "" - }, - "script": "/cargo\\.", - "website": "http://cargocollective.com" - }, - "Catberry.js": { - "cats": [ - "12", - "18" - ], - "env": "^catberry$", - "headers": { - "X-Powered-By": "Catberry" - }, - "icon": "Catberry.js.png", - "implies": "Node.js", - "website": "http://catberry.org" - }, - "Catwalk": { - "cats": [ - "22" - ], - "headers": { - "Server": "Catwalk\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "Catwalk.png", - "implies": "Canon", - "website": "http://www.canon.com" - }, - "CentOS": { - "cats": [ - "28" - ], - "headers": { - "Server": "CentOS", - "X-Powered-By": "CentOS" - }, - "icon": "CentOS.png", - "website": "http://centos.org" - }, - "CenteHTTPd": { - "cats": [ - "22" - ], - "headers": { - "Server": "CenteHTTPd(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "CenteHTTPd.png", - "website": "http://cente.jp/cente/app/HTTPdc.html" - }, - "Chameleon": { - "cats": [ - "1" - ], - "icon": "Chameleon.png", - "implies": [ - "Apache", - "PHP" - ], - "meta": { - "generator": "chameleon-cms" - }, - "website": "http://chameleon-system.de" - }, - "Chamilo": { - "cats": [ - "21" - ], - "headers": { - "X-Powered-By": "Chamilo ([\\d.]+)\\;version:\\1" - }, - "html": "\">Chamilo ([\\d.]+)\\;version:\\1", - "icon": "Chamilo.png", - "implies": "PHP", - "meta": { - "generator": "Chamilo ([\\d.]+)\\;version:\\1" - }, - "website": "http://www.chamilo.org" - }, - "Chart.js": { - "cats": [ - "25" - ], - "env": "^Chart$\\;confidence:50", - "icon": "Chart.js.svg", - "script": [ - "Chart(?:\\.bundle)?(?:\\.min)?\\.js\\;confidence:50", - "chartjs\\.org/dist/([\\d.]+(?:-[^/]+)?|master|latest)/Chart.*\\.js\\;version:\\1", - "cdnjs\\.cloudflare\\.com/ajax/libs/Chart\\.js/([\\d.]+(?:-[^/]+)?)/Chart.*\\.js\\;version:\\1", - "cdn\\.jsdelivr\\.net/npm/chart\\.js@([\\d.]+(?:-[^/]+)?|latest)/dist/Chart.*\\.js\\;version:\\1", - "cdn\\.jsdelivr\\.net/gh/chartjs/Chart\\.js@([\\d.]+(?:-[^/]+)?|latest)/dist/Chart.*\\.js\\;version:\\1" - ], - "website": "http://www.chartjs.org" - }, - "Chartbeat": { - "cats": [ - "10" - ], - "env": "^_sf_(?:endpt|async_config)$", - "icon": "Chartbeat.png", - "script": "chartbeat\\.js", - "website": "http://chartbeat.com" - }, - "Cherokee": { - "cats": [ - "22" - ], - "headers": { - "Server": "Cherokee(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "Cherokee.png", - "website": "http://www.cherokee-project.com" - }, - "CherryPy": { - "cats": [ - "18", - "22" - ], - "headers": { - "Server": "CherryPy\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "CherryPy.png", - "implies": "Python", - "website": "http://www.cherrypy.org" - }, - "Chitika": { - "cats": [ - "36" - ], - "env": "ch_c(?:lient|olor_site_link)", - "icon": "Chitika.png", - "script": "scripts\\.chitika\\.net/", - "website": "http://chitika.com" - }, - "Ckan": { - "cats": [ - "1" - ], - "headers": { - "Access-Control-Allow-Headers": "X-CKAN-API-KEY", - "Link": "; rel=shortlink" - }, - "icon": "Ckan.png", - "implies": [ - "Python", - "Solr", - "Java", - "PostgreSQL" - ], - "meta": { - "generator": ".*ckan.*" - }, - "website": "http://ckan.org/" - }, - "ClickHeat": { - "cats": [ - "10" - ], - "env": "^clickHeat", - "icon": "ClickHeat.png", - "implies": "PHP", - "script": "clickheat.*\\.js", - "website": "http://www.labsmedia.com/clickheat/index.html" - }, - "ClickTale": { - "cats": [ - "10" - ], - "env": "^ClickTale", - "icon": "ClickTale.png", - "website": "http://www.clicktale.com" - }, - "Clicky": { - "cats": [ - "10" - ], - "env": "^clicky$", - "icon": "Clicky.png", - "script": "static\\.getclicky\\.com", - "website": "http://getclicky.com" - }, - "Clientexec": { - "cats": [ - "6" - ], - "html": "clientexec\\.[^>]*\\s?=\\s?[^>]*;", - "icon": "Clientexec.png", - "website": "http://www.clientexec.com" - }, - "Clipboard.js": { - "cats": [ - "19" - ], - "env": "^Clipboard$", - "icon": "Clipboard.js.svg", - "script": "clipboard(?:\\.min)?\\.js", - "website": "https://clipboardjs.com/" - }, - "CloudCart": { - "cats": [ - "6" - ], - "icon": "cloudcart.svg", - "meta": { - "author": "^CloudCart LLC$" - }, - "script": "/cloudcart-(?:assets|storage)/", - "website": "http://cloudcart.com" - }, - "CloudFlare": { - "cats": [ - "31" - ], - "env": "^CloudFlare$", - "headers": { - "Server": "cloudflare" - }, - "icon": "CloudFlare.svg", - "website": "http://www.cloudflare.com" - }, - "Cloudera": { - "cats": [ - "34" - ], - "headers": { - "Server": "cloudera" - }, - "icon": "Cloudera.png", - "website": "http://www.cloudera.com" - }, - "CodeIgniter": { - "cats": [ - "18" - ], - "headers": { - "Set-Cookie": "(?:exp_last_activity|exp_tracker|ci_(?:session|(csrf_token)))\\;version:\\1?2+:" - }, - "html": "]+name=\"ci_csrf_token\"\\;version:2+", - "icon": "CodeIgniter.png", - "implies": "PHP", - "website": "http://codeigniter.com" - }, - "CodeMirror": { - "cats": [ - "19" - ], - "env": "^CodeMirror$", - "icon": "CodeMirror.png", - "website": "http://codemirror.net" - }, - "CoinHive": { - "cats": [ - "56" - ], - "env": "^CoinHive$", - "script": "\\/(?:coinhive|(authedmine))(?:\\.min)?\\.js\\;version:\\1?opt-in:", - "url": "https?://cnhv\\.co/", - "icon": "CoinHive.svg", - "website": "https://coinhive.com" - }, - "CoinHive Captcha": { - "cats": [ - "16", - "56" - ], - "html": "(?:]+class=\"coinhive-captcha[^>]+data-key|]+data-key[^>]+class=\"coinhive-captcha)", - "script": "https?://authedmine\\.com/(?:lib/captcha|captcha)", - "icon": "CoinHive.svg", - "website": "https://coinhive.com" - }, - "Comandia": { - "cats": [ - "6" - ], - "env": "^Comandia$", - "html": "]+=['\"]//cdn\\.mycomandia\\.com", - "icon": "Comandia.svg", - "website": "http://comandia.com" - }, - "Commerce Server": { - "cats": [ - "6" - ], - "headers": { - "COMMERCE-SERVER-SOFTWARE": "" - }, - "icon": "Commerce Server.png", - "implies": "Microsoft ASP.NET", - "website": "http://commerceserver.net" - }, - "CompaqHTTPServer": { - "cats": [ - "22" - ], - "headers": { - "Server": "CompaqHTTPServer\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "HP.svg", - "website": "http://www.hp.com" - }, - "Concrete5": { - "cats": [ - "1" - ], - "env": "^CCM_IMAGE_PATH$", - "icon": "Concrete5.png", - "implies": "PHP", - "meta": { - "generator": "concrete5 - ([\\d.ab]+)\\;version:\\1" - }, - "script": "concrete/js/", - "website": "http://concrete5.org" - }, - "Connect": { - "cats": [ - "18" - ], - "headers": { - "X-Powered-By": "^Connect$" - }, - "icon": "Connect.png", - "implies": "Node.js", - "website": "http://www.senchalabs.org/connect" - }, - "Contao": { - "cats": [ - "1" - ], - "html": [ - "", - "]+(?:typolight|contao)\\.css" - ], - "icon": "Contao.png", - "implies": "PHP", - "meta": { - "generator": "^Contao Open Source CMS$" - }, - "website": "http://contao.org" - }, - "Contenido": { - "cats": [ - "1" - ], - "icon": "Contenido.png", - "implies": "PHP", - "meta": { - "generator": "Contenido ([\\d.]+)\\;version:\\1" - }, - "website": "http://contenido.org/en" - }, - "Contens": { - "cats": [ - "1" - ], - "icon": "Contens.png", - "implies": [ - "Java", - "CFML" - ], - "meta": { - "generator": "Contensis CMS Version ([\\d.]+)\\;version:\\1" - }, - "website": "http://www.contens.com/en/pub/index.cfm" - }, - "ContentBox": { - "cats": [ - "1", - "11" - ], - "icon": "ContentBox.png", - "implies": "Adobe ColdFusion", - "meta": { - "generator": "ContentBox powered by ColdBox" - }, - "website": "http://www.gocontentbox.org" - }, - "Contentful": { - "cats": [ - "1" - ], - "html": "<[^>]+(?:https?:)?//(?:assets|downloads|images|videos)\\.contentful\\.com", - "icon": "Contentful.svg", - "website": "http://www.contentful.com" - }, - "ConversionLab": { - "cats": [ - "10" - ], - "icon": "ConversionLab.png", - "script": "conversionlab\\.trackset\\.com/track/tsend\\.js", - "website": "http://www.trackset.it/conversionlab" - }, - "Coppermine": { - "cats": [ - "7" - ], - "html": "|", - "icon": "InProces.png", - "script": "brein/inproces/website/websitefuncties\\.js", - "website": "http://www.brein.nl/oplossing/product/website" - }, - "Incapsula": { - "cats": [ - "31" - ], - "headers": { - "X-CDN": "Incapsula" - }, - "icon": "Incapsula.png", - "website": "http://www.incapsula.com" - }, - "Indexhibit": { - "cats": [ - "1" - ], - "html": "<(?:link|a href) [^>]+ndxz-studio", - "implies": [ - "PHP", - "Apache", - "Exhibit" - ], - "meta": { - "generator": "Indexhibit" - }, - "website": "http://www.indexhibit.org" - }, - "Indico": { - "cats": [ - "1" - ], - "headers": { - "Set-cookie": "MAKACSESSION" - }, - "html": "Powered by\\s+(?:CERN )?(?:CDS )?Indico( [\\d\\.]+)?\\;version:\\1", - "icon": "Indico.png", - "website": "http://indico-software.org" - }, - "Indy": { - "cats": [ - "22" - ], - "headers": { - "Server": "Indy(?:/([\\d.]+))?\\;version:\\1" - }, - "website": "http://indyproject.org" - }, - "InfernoJS": { - "cats": [ - "12" - ], - "env": "^Inferno$", - "icon": "InfernoJS.png", - "website": "https://infernojs.org/" - }, - "Infusionsoft": { - "cats": [ - "32" - ], - "html": [ - "]*name=\"infusionsoft_version\" [^>]*value=\"([^>]*)\" [^>]*\\/>\\;version:\\1", - "]*value=\"([^>]*)\" [^>]*name=\"infusionsoft_version\" [^>]*\\/>\\;version:\\1" - ], - "icon": "infusionsoft.svg", - "website": "http://infusionsoft.com" - }, - "InstantCMS": { - "cats": [ - "1" - ], - "headers": { - "Set-Cookie": "InstantCMS\\[logdate\\]=" - }, - "icon": "InstantCMS.png", - "implies": "PHP", - "meta": { - "generator": "InstantCMS" - }, - "website": "http://www.instantcms.ru" - }, - "Intel Active Management Technology": { - "cats": [ - "22", - "46" - ], - "headers": { - "Server": "Intel\\(R\\) Active Management Technology(?: ([\\d.]+))?\\;version:\\1" - }, - "icon": "Intel Active Management Technology.png", - "website": "http://intel.com" - }, - "IntenseDebate": { - "cats": [ - "15" - ], - "icon": "IntenseDebate.png", - "script": "intensedebate\\.com", - "website": "http://intensedebate.com" - }, - "Intercom": { - "cats": [ - "10" - ], - "env": "^Intercom$", - "icon": "Intercom.png", - "script": "(?:api\\.intercom\\.io/api|static\\.intercomcdn\\.com/intercom\\.v1)", - "website": "http://intercom.io" - }, - "Intershop": { - "cats": [ - "6" - ], - "icon": "Intershop.png", - "script": "(?:is-bin|INTERSHOP)", - "website": "http://intershop.com" - }, - "Invenio": { - "cats": [ - "50" - ], - "headers": { - "Set-cookie": "INVENIOSESSION" - }, - "html": "(?:Powered by|System)\\s+(?:CERN )?(?:CDS )?Invenio\\s*v?([\\d\\.]+)?\\;version:\\1", - "icon": "Invenio.png", - "website": "http://invenio-software.org" - }, - "Ionicons": { - "cats": [ - "17" - ], - "html": "]* href=[^>]+ionicons(?:\\.min)?\\.css", - "icon": "Ionicons.png", - "website": "http://ionicons.com" - }, - "JAlbum": { - "cats": [ - "7" - ], - "icon": "JAlbum.png", - "implies": "Java", - "meta": { - "generator": "JAlbum( [\\d.]+)?\\;version:\\1" - }, - "website": "http://jalbum.net/en" - }, - "JBoss Application Server": { - "cats": [ - "22" - ], - "headers": { - "X-Powered-By": "JBoss(?:-([\\d.]+))?\\;version:\\1" - }, - "icon": "JBoss Application Server.png", - "website": "http://jboss.org/jbossas.html" - }, - "JBoss Web": { - "cats": [ - "22" - ], - "excludes": "Apache Tomcat", - "headers": { - "X-Powered-By": "JBossWeb(?:-([\\d.]+))?\\;version:\\1" - }, - "icon": "JBoss Web.png", - "implies": "JBoss Application Server", - "website": "http://jboss.org/jbossweb" - }, - "JC-HTTPD": { - "cats": [ - "22" - ], - "excludes": "Apache", - "headers": { - "Server": "JC-HTTPD(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "JC-HTTPD.png", - "implies": "Canon", - "website": "http://canon.com" - }, - "JET Enterprise": { - "cats": [ - "6" - ], - "headers": { - "powered": "jet-enterprise" - }, - "icon": "JET Enterprise.svg", - "website": "http://www.jetecommerce.com.br/" - }, - "JS Charts": { - "cats": [ - "25" - ], - "env": "^JSChart$", - "icon": "JS Charts.png", - "script": "jscharts.*\\.js", - "website": "http://www.jscharts.com" - }, - "JTL Shop": { - "cats": [ - "6" - ], - "headers": { - "Set-Cookie": "JTLSHOP=" - }, - "html": "(?:]+name=\"JTLSHOP|]*>Jekyll]+id=\"wrapper_r\"|<[^>]+(?:feed|components)/com_|]+class=\"pill)\\;confidence:50", - "icon": "Joomla.svg", - "implies": "PHP", - "meta": { - "generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1" - }, - "url": "option=com_", - "website": "http://joomla.org" - }, - "JSEcoin": { - "cats": [ - "56" - ], - "env": "^jseMine$", - "script": "^(?:https):?//load\\.jsecoin\\.com/server/load/", - "icon": "JSEcoin.png", - "website": "https://jsecoin.com/" - }, - "K2": { - "cats": [ - "19" - ], - "env": "^K2RatingURL$", - "html": "", - "icon": "Lightspeed.svg", - "script": "http://assets\\.webshopapp\\.com", - "url": "seoshop.webshopapp.com", - "website": "http://www.lightspeedhq.com/products/ecommerce/" - }, - "Lighty": { - "cats": [ - "18" - ], - "headers": { - "Set-Cookie": "lighty_version" - }, - "icon": "Lighty.png", - "implies": "PHP", - "website": "http://gitlab.com/lighty/framework" - }, - "LimeSurvey": { - "cats": [ - "19" - ], - "headers": { - "generator": "LimeSurvey" - }, - "icon": "LimeSurvey.png", - "website": "http://limesurvey.org/" - }, - "LinkSmart": { - "cats": [ - "36" - ], - "env": "^(?:_mb_site_guid$|LS_JSON|LinkSmart(?:_|$))", - "icon": "LinkSmart.png", - "script": "^https?://cdn\\.linksmart\\.com/linksmart_([\\d.]+?)(?:\\.min)?\\.js\\;version:\\1", - "website": "http://linksmart.com" - }, - "Linkedin": { - "cats": [ - "5" - ], - "icon": "Linkedin.svg", - "script": "//platform\\.linkedin\\.com/in\\.js", - "website": "http://linkedin.com" - }, - "List.js": { - "cats": [ - "12" - ], - "env": "^List$", - "icon": "List.js.png", - "script": "^list\\.(?:min\\.)?js$", - "website": "http://www.listjs.com" - }, - "LiteSpeed": { - "cats": [ - "22" - ], - "headers": { - "Server": "^LiteSpeed$" - }, - "icon": "LiteSpeed.svg", - "website": "http://litespeedtech.com" - }, - "Lithium": { - "cats": [ - "1" - ], - "env": [ - "^LITHIUM$" - ], - "headers": { - "Set-Cookie": "LithiumVisitor=" - }, - "html": " ]+Powered by Lithium", - "icon": "Lithium.png", - "implies": "PHP", - "website": "http://www.lithium.com" - }, - "LiveAgent": { - "cats": [ - "52" - ], - "env": "^LiveAgent$", - "icon": "LiveAgent.png", - "website": "http://www.ladesk.com" - }, - "LiveChat": { - "cats": [ - "52" - ], - "icon": "LiveChat.png", - "script": "cdn\\.livechatinc\\.com/.*tracking\\.js", - "website": "http://livechatinc.com" - }, - "LiveJournal": { - "cats": [ - "11" - ], - "icon": "LiveJournal.png", - "url": "\\.livejournal\\.com", - "website": "http://www.livejournal.com" - }, - "LivePerson": { - "cats": [ - "52" - ], - "icon": "LivePerson.png", - "script": "^https?://lptag\\.liveperson\\.net/tag/tag\\.js", - "website": "https://www.liveperson.com/" - }, - "LiveStreet CMS": { - "cats": [ - "1" - ], - "env": "^LIVESTREET", - "headers": { - "X-Powered-By": "LiveStreet CMS" - }, - "icon": "LiveStreet CMS.png", - "implies": "PHP", - "website": "http://livestreetcms.com" - }, - "Livefyre": { - "cats": [ - "15" - ], - "env": [ - "^fyre$", - "^FyreLoader$" - ], - "html": "<[^>]+(?:id|class)=\"livefyre", - "icon": "Livefyre.png", - "script": "livefyre_init\\.js", - "website": "http://livefyre.com" - }, - "Liveinternet": { - "cats": [ - "10" - ], - "html": [ - "]*>[^]{0,128}?src\\s*=\\s*['\"]//counter\\.yadro\\.ru/hit(?:;\\S+)?\\?(?:t\\d+\\.\\d+;)?r", - "", - "", - "]*/sites/[a-z\\d]{24}/theme/stylesheets", - "icon": "Locomotive.png", - "implies": [ - "Ruby on Rails", - "MongoDB" - ], - "website": "http://www.locomotivecms.com" - }, - "Logitech Media Server": { - "cats": [ - "22", - "38" - ], - "headers": { - "Server": "Logitech Media Server(?: \\(([\\d\\.]+))?\\;version:\\1" - }, - "icon": "Logitech Media Server.png", - "website": "http://www.mysqueezebox.com" - }, - "Lotus Domino": { - "cats": [ - "22" - ], - "headers": { - "Server": "Lotus-Domino" - }, - "icon": "Lotus Domino.png", - "implies": "Java", - "website": "http://www-01.ibm.com/software/lotus/products/domino" - }, - "Lua": { - "cats": [ - "27" - ], - "headers": { - "X-Powered-By": "\bLua(?: ([\\d.]+))?\\;version:\\1" - }, - "icon": "Lua.png", - "website": "http://www.lua.org" - }, - "Lucene": { - "cats": [ - "34" - ], - "icon": "Lucene.png", - "implies": "Java", - "website": "http://lucene.apache.org/core/" - }, - "Luigi’s Box": { - "cats": [ - "10", - "29" - ], - "env": "^Luigis$", - "icon": "Luigisbox.svg", - "website": "https://www.luigisbox.com" - }, - "M.R. Inc BoxyOS": { - "cats": [ - "28" - ], - "icon": "M.R. Inc.png", - "website": "http://mrincworld.com" - }, - "M.R. Inc SiteFrame": { - "cats": [ - "18" - ], - "headers": { - "Powered-By": "M\\.R\\. Inc SiteFrame" - }, - "icon": "M.R. Inc.png", - "website": "http://mrincworld.com" - }, - "M.R. Inc Webserver": { - "cats": [ - "22" - ], - "headers": { - "Server": "M\\.R\\. Inc Webserver" - }, - "icon": "M.R. Inc.png", - "implies": [ - "M.R. Inc BoxyOS" - ], - "website": "http://mrincworld.com" - }, - "MHonArc": { - "cats": [ - "50" - ], - "html": "\\;version:\\1", - "icon": "mhonarc.png", - "website": "http://www.mhonarc.at" - }, - "MOBOTIX": { - "cats": [ - "39" - ], - "icon": "MOBOTIX.png", - "meta": { - "author": "MOBOTIX AG\\;confidence:40", - "copyright": "MOBOTIX AG\\;confidence:40", - "publisher": "MOBOTIX AG\\;confidence:40" - }, - "url": "control/userimage\\.html\\;confidence:70", - "website": "http://mobotix.com" - }, - "MODX": { - "cats": [ - "1" - ], - "env": "^MODX_MEDIA_PATH$", - "headers": { - "Set-Cookie": "SN5[a-f\\d]{12}", - "X-Powered-By": "^MODX" - }, - "html": [ - "]+>Powered by MODX", - "<(?:link|script)[^>]+assets/snippets/\\;confidence:20", - "]+id=\"ajaxSearch_form\\;confidence:20", - "]+id=\"ajaxSearch_input\\;confidence:20" - ], - "icon": "MODX.png", - "implies": "PHP", - "meta": { - "generator": "MODX[^\\d.]*([\\d.]+)?\\;version:\\1" - }, - "website": "http://modx.com" - }, - "MadAdsMedia": { - "cats": [ - "36" - ], - "env": "^setM(?:Iframe|RefURL)$", - "icon": "MadAdsMedia.png", - "script": "^https?://(?:ads-by|pixel)\\.madadsmedia\\.com/", - "website": "http://madadsmedia.com" - }, - "Magento": { - "cats": [ - "6" - ], - "env": [ - "^(?:Mage|VarienForm)$" - ], - "headers": { - "Set-Cookie": "frontend=\\;confidence:50" - }, - "html": [ - "