diff --git a/bin/wappalyzer-validate-regex b/bin/wappalyzer-validate-regex
index 445479aaa..36012c57a 100755
--- a/bin/wappalyzer-validate-regex
+++ b/bin/wappalyzer-validate-regex
@@ -56,7 +56,7 @@ for ( app in json.apps ) {
//Report error
if(amountOfCaptureGroups > amountOfCaptureGroupsNeeded) {
- throw new Error('The pattern uses more capture groups than needed. Use non-capturing roups where appropriate.\n' + app + ': ' + type + ': ' + pattern);
+ throw new Error('The pattern uses more capture groups than needed. Use non-capturing groups where appropriate.\n' + app + ': ' + type + ': ' + pattern);
}else if(amountOfCaptureGroups < amountOfCaptureGroupsNeeded){
throw new Error('The version string references more capture groups than there are in the pattern! Remove any incorrect back references from the version string and/or add the missing capture groups to the pattern.\n' + app + ': ' + type + ': ' + pattern);
} else if(highestBackReference > amountOfCaptureGroups){
diff --git a/src/apps.json b/src/apps.json
index 7b12d2267..0b978e196 100755
--- a/src/apps.json
+++ b/src/apps.json
@@ -1,5 +1,68 @@
{
- "apps": {
+ "apps": {
+ "Strato": {
+ "cats": [
+ 6
+ ],
+ "html": "",
+ "website": "shop.strato.com",
+ "icon": "strato.png"
+ },
+ "Modified": {
+ "cats": [
+ 6
+ ],
+ "meta": {
+ "generator": "\\(c\\) by modified eCommerce Shopsoftware ------ http://www.modified-shop.org"
+ },
+ "icon": "modified.png",
+ "website": "www.modified-shop.org/"
+ },
+ "Mietshop": {
+ "cats": [
+ 6
+ ],
+ "meta": {
+ "generator": "Mietshop"
+ },
+ "html": "",
+ "website": "www.epages.com/",
+ "icon": "epages.png"
+ },
+ "AfterBuy": {
+ "cats": [
+ 6
+ ],
+ "html": [
+ "This OnlineStore is brought to you by ViA-Online GmbH Afterbuy. Information and contribution at https://www.afterbuy.de"
+ ],
+ "icon": "after-buy.png",
+ "script": "shop-static\\.afterbuy\\.de",
+ "website": "www.afterbuy.de"
+ },
+ "Xonic": {
+ "cats": [
+ 6
+ ],
+ "html": ["Powered by xonic-solutions Shopsoftware"],
+ "meta": {
+ "keywords": "xonic-solutions"
+ },
+ "script": "core/jslib/jquery\\.xonic\\.js\\.php",
+ "website": "www.xonic-solutions.de",
+ "icon": "xonic.png"
+ },
"1C-Bitrix": {
"cats": [
1
@@ -65,6 +128,28 @@
"icon": "3ware.png",
"website": "www.3ware.com"
},
+ "a-blog cms": {
+ "cats": [
+ 1
+ ],
+ "icon": "a-blog cms.png",
+ "implies": "PHP",
+ "meta": {
+ "generator": "a-blog cms"
+ },
+ "website": "www.a-blogcms.jp"
+ },
+ "anchorCache": {
+ "cats": [
+ 23
+ ],
+ "meta": {
+ "generator": "anchorCache"
+ },
+ "icon": "anchorCache.png",
+ "implies": "PHP",
+ "website": "www.anchorcache.eu"
+ },
"AMPcms": {
"cats": [
1
@@ -293,17 +378,6 @@
],
"website": "blogengine.ru"
},
- "AfterBuy": {
- "cats": [
- 6
- ],
- "html": [
- "
This OnlineStore is brought to you by ViA-Online GmbH Afterbuy. Information and contribution at https://www.afterbuy.de"
- ],
- "icon": "after-buy.png",
- "script": "shop-static\\.afterbuy\\.de",
- "website": "www.afterbuy.de"
- },
"Airee": {
"cats": [
31
@@ -403,21 +477,6 @@
},
"website": "anchorcms.com"
},
- "Angular Material": {
- "cats": [
- 18
- ],
- "env": "^angular$",
- "icon": "Angular.svg",
- "implies": [
- "AngularJS"
- ],
- "script": [
- "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular-material(?:\\.min)?\\.js\\;version:\\1",
- "angular-material.*\\.js"
- ],
- "website": "material.angularjs.org"
- },
"AngularJS": {
"cats": [
12
@@ -431,6 +490,21 @@
],
"website": "angularjs.org"
},
+ "Angular Material": {
+ "cats": [
+ 18
+ ],
+ "env": "^angular$",
+ "icon": "Angular.svg",
+ "implies": [
+ "AngularJS"
+ ],
+ "script": [
+ "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular-material(?:\\.min)?\\.js\\;version:\\1",
+ "angular-material.*\\.js"
+ ],
+ "website": "material.angularjs.org"
+ },
"Apache": {
"cats": [
22
@@ -642,14 +716,6 @@
"script": "^https?://edge\\.avangate\\.net/",
"website": "avangate.com"
},
- "BEM": {
- "cats": [
- 12
- ],
- "html": "<[^>]+data-bem",
- "icon": "BEM.png",
- "website": "www.en.bem.info"
- },
"BIGACE": {
"cats": [
1
@@ -709,6 +775,14 @@
"implies": "Python",
"website": "docs.python.org/2/library/basehttpserver.html"
},
+ "BEM": {
+ "cats": [
+ 12
+ ],
+ "html": "<[^>]+data-bem",
+ "icon": "BEM.png",
+ "website": "www.en.bem.info"
+ },
"BigDump": {
"cats": [
3
@@ -721,13 +795,13 @@
],
"website": "www.ozerov.de/bigdump.php"
},
- "BigCommerce": {
+ "Bigcommerce": {
"cats": [
6
],
"env": "^compareProducts$",
"html": "]+cdn\\d+\\.bigcommerce\\.com/v",
- "icon": "BigCommerce.svg",
+ "icon": "Bigcommerce.png",
"script": "cdn\\d+\\.bigcommerce\\.com/v",
"url": "mybigcommerce\\.com",
"website": "www.bigcommerce.com"
@@ -928,6 +1002,16 @@
"icon": "C++.png",
"website": "isocpp.org"
},
+ "Caddy": {
+ "cats": [
+ 22
+ ],
+ "headers": {
+ "Server": "^Caddy$"
+ },
+ "icon": "caddy.svg",
+ "website": "caddyserver.com"
+ },
"CFML": {
"cats": [
27
@@ -1015,16 +1099,6 @@
"icon": "CacheFly.png",
"website": "www.cachefly.com"
},
- "Caddy": {
- "cats": [
- 22
- ],
- "headers": {
- "Server": "^Caddy$"
- },
- "icon": "caddy.svg",
- "website": "caddyserver.com"
- },
"CakePHP": {
"cats": [
18
@@ -1978,17 +2052,6 @@
"implies": "ELOG",
"website": "midas.psi.ch/elog"
},
- "EPages": {
- "cats": [
- 6
- ],
- "headers": {
- "X-Powered-By": "epages 6"
- },
- "html": "",
- "icon": "epages.png",
- "website": "www.epages.com/"
- },
"EPiServer": {
"cats": [
1
@@ -2879,17 +2942,6 @@
"icon": "default.png",
"website": "???"
},
- "HTTP/2": {
- "cats": [
- 19
- ],
- "excludes": "SPDY",
- "headers": {
- "X-Firefox-Spdy": "h2"
- },
- "icon": "default.png",
- "website": "http2.github.io"
- },
"Hammer.js": {
"cats": [
12
@@ -3017,6 +3069,17 @@
},
"website": "hotarucms.org"
},
+ "HTTP/2": {
+ "cats": [
+ 19
+ ],
+ "headers": {
+ "X-Firefox-Spdy": "h2"
+ },
+ "icon": "default.png",
+ "excludes": "SPDY",
+ "website": "http2.github.io"
+ },
"HubSpot": {
"cats": [
32
@@ -3026,17 +3089,6 @@
"icon": "HubSpot.png",
"website": "hubspot.com"
},
- "Hugo": {
- "cats": [
- 1,
- 11
- ],
- "icon": "Hugo.png",
- "meta": {
- "generator": "Hugo ([\\d.]+)?\\;version:\\1"
- },
- "website": "gohugo.io"
- },
"Hybris": {
"cats": [
6
@@ -3049,6 +3101,17 @@
"implies": "Java",
"website": "hybris.com"
},
+ "Hugo": {
+ "cats": [
+ 1,
+ 11
+ ],
+ "icon": "Hugo.png",
+ "meta": {
+ "generator": "Hugo ([\\d.]+)?\\;version:\\1"
+ },
+ "website": "gohugo.io"
+ },
"IBM Coremetrics": {
"cats": [
10
@@ -3122,6 +3185,15 @@
"script": "^https?://(?:[^/]+\\.)?i(?:oam|v)wbox\\.de/",
"website": "infonline.de"
},
+ "Ink": {
+ "cats": [
+ 18
+ ],
+ "html": "
]*href=\"[^\"]+ink(?:\\.min)?\\.css",
+ "icon": "Ink.png",
+ "script": "ink.*\\.js",
+ "website": "ink.sapo.pt"
+ },
"IPB": {
"cats": [
2
@@ -3224,15 +3296,6 @@
"icon": "default.png",
"website": "indyproject.org"
},
- "Ink": {
- "cats": [
- 18
- ],
- "html": "
]*href=\"[^\"]+ink(?:\\.min)?\\.css",
- "icon": "Ink.png",
- "script": "ink-all(?:\\.min)?.js",
- "website": "ink.sapo.pt"
- },
"InstantCMS": {
"cats": [
1
@@ -3841,15 +3904,6 @@
"script": "^https?://cdn\\.linksmart\\.com/linksmart_([\\d.]+?)(?:\\.min)?\\.js\\;version:\\1",
"website": "linksmart.com"
},
- "List.js": {
- "cats": [
- 12
- ],
- "env": "^List$",
- "icon": "List.js.png",
- "script": "^list\\.(?:min\\.)?js$",
- "website": "www.listjs.com"
- },
"LiteSpeed": {
"cats": [
22
@@ -4281,17 +4335,6 @@
},
"website": "sharepoint.microsoft.com"
},
- "Mietshop": {
- "cats": [
- 6
- ],
- "html": "
]*href=\"[^>]*\\/mt-content\\/[^>]*\\.css",
"icon": "MotoCMS.svg",
+ "script": ".*\\/mt-includes\\/[asetj]{2,6}\\/.*\\.js.*",
+ "html": "]*href=\"[^>]*\\/mt-content\\/[^>]*\\.css",
"implies": [
"PHP",
"AngularJS",
"jQuery"
],
- "script": ".*\\/mt-includes\\/[asetj]{2,6}\\/.*\\.js.*",
"website": "motocms.com"
},
"Movable Type": {
@@ -4729,13 +4762,6 @@
"icon": "Nginx.svg",
"website": "nginx.org"
},
- "Node.js": {
- "cats": [
- 27
- ],
- "icon": "node.js.png",
- "website": "nodejs.org"
- },
"OWL Carousel": {
"cats": [
5,
@@ -5444,7 +5470,7 @@
"^priceDisplayMethod$\\;confidence:25",
"^priceDisplayPrecision$\\;confidence:25"
],
- "html": "Powered by ]+>PrestaShop",
+ "html":"Powered by ]+>PrestaShop",
"icon": "PrestaShop.png",
"implies": "PHP",
"meta": {
@@ -5463,13 +5489,11 @@
"website": "projectwonderful.com"
},
"Prospector": {
- "cats": [
- 36
- ],
- "html": "<[^>]+data-name=['\"]prospectscript",
- "icon": "Prospector.png",
- "script": "processprospector\\.js",
- "website": "prospector.io"
+ "website": "prospector.io",
+ "cats": [ 36 ],
+ "html": "<[^>]+data-name=['\"]prospectscript",
+ "script": "processprospector\\.js",
+ "icon": "Prospector.png"
},
"Prototype": {
"cats": [
@@ -5489,14 +5513,6 @@
"script": "protovis.*\\.js",
"website": "mbostock.github.com/protovis"
},
- "PubMatic": {
- "cats": [
- 36
- ],
- "icon": "PubMatic.png",
- "script": "https?://[^/]*\\.pubmatic\\.com",
- "website": "www.pubmatic.com/"
- },
"Public CMS": {
"cats": [
1
@@ -5509,6 +5525,14 @@
"implies": "Java",
"website": "www.publiccms.com"
},
+ "PubMatic": {
+ "cats": [
+ 36
+ ],
+ "icon": "PubMatic.png",
+ "script": "https?://[^/]*\\.pubmatic\\.com",
+ "website": "www.pubmatic.com/"
+ },
"Pure CSS": {
"cats": [
18
@@ -5548,7 +5572,7 @@
"website": "www.quantcast.com"
},
"Question2Answer": {
- "cats": [
+ "cats" : [
15
],
"html": "
+