diff --git a/README.md b/README.md index 30511e626..88cd4b6c9 100644 --- a/README.md +++ b/README.md @@ -178,14 +178,14 @@ Work in progress, experimental. See https://wiki.mozilla.org/Jetpack. ### Python -A Python port by [SebastianLopienski](https://github.com/SebastianLopienski). +A Python port by [SebastianLopienski](https://github.com/SebastianLopienski). Part of a research project at [CERN](http://cern.ch). https://github.com/SebastianLopienski/WAD ### Python -A Python driver by [@ebradbury](https://github.com/ebradbury). Part of a research project at [CERN](http://cern.ch). +A Python driver by [@ebradbury](https://github.com/ebradbury). https://github.com/ebradbury/Wappalyzer/tree/master/drivers/python diff --git a/share/apps.json b/share/apps.json index 179e52e49..a068f1848 100644 --- a/share/apps.json +++ b/share/apps.json @@ -120,7 +120,7 @@ }, "Apache": { "cats": [ 22 ], - "headers": { "Server": "(Apache($|/([\\d\\.]+)|[^/-])|HTTPD)\\;version:\\3" } + "headers": { "Server": "(Apache($|/([\\d\\.]+)|[^/-])|(^|\\b)HTTPD)\\;version:\\3" } }, "Apache JSPWiki": { "cats": [ 8 ], @@ -161,7 +161,7 @@ "cats": [ 13 ], "env": "^jira$", "script": "/jira/s/", - "url": "/secure/Dashboard.jspa", + "url": "/secure/Dashboard.jspa", "html": "Powered by\\s+]+atlassian\\.com/(software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA([^v]*v(ersion: )?(\\d+\\.\\d+(\\.\\d+)?))?\\;version:\\4", "implies": [ "Java" ] }, @@ -529,7 +529,7 @@ "cats": [ 1 ], "script": "drupal\\.js", "html": "Drupal(\\.extend)?.+settings|<(link|style)[^>]+sites/(default|all)/(themes|modules)/", - "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, + "headers": { "X-Drupal-Cache": ".*", "X-Generator": "Drupal(\\s([\\d\\.]+))?\\;version:\\2", "Expires": "19 Nov 1978" }, "env": "^Drupal$", "implies": [ "PHP" ] }, @@ -553,6 +553,10 @@ "cats": [ 31 ], "headers": { "Server": "^ECS " } }, + "Embedthis-http": { + "cats": [ 22 ], + "headers": { "Server": "Embedthis-http" } + }, "EPiServer": { "cats": [ 1 ], "meta": { "generator": "EPiServer" }, @@ -658,6 +662,10 @@ "meta": { "generator": "GetSimple" }, "implies": [ "PHP" ] }, + "GoAhead": { + "cats": [ 22 ], + "headers": { "Server": "GoAhead" } + }, "Google Analytics": { "cats": [ 10 ], "html": "_gaq\\.push\\(\\['_setAccount", @@ -804,7 +812,7 @@ "JAlbum": { "cats": [ 7 ], "meta": { "generator": "JAlbum( [\\d\\.]+)?\\;version:\\1" }, - "implies": [ "Java" ] + "implies": [ "Java" ] }, "Jalios": { "cats": [ 1 ], @@ -822,17 +830,17 @@ "JavaServer Faces": { "cats": [ 18 ], "headers": { "X-Powered-By": "JSF(/([\\d\\.]+))?\\;version:\\2" }, - "implies": [ "Java" ] + "implies": [ "Java" ] }, "JavaServer Pages": { "cats": [ 18 ], "headers": { "X-Powered-By": "JSP(/([\\d\\.]+))?\\;version:\\2" }, - "implies": [ "Java" ] + "implies": [ "Java" ] }, "Java Servlet": { "cats": [ 18 ], "headers": { "X-Powered-By": "Servlet(/([\\d\\.]+))?\\;version:\\2" }, - "implies": [ "Java" ] + "implies": [ "Java" ] }, "Jirafe": { "cats": [ 10, 32 ], @@ -869,7 +877,7 @@ }, "jQuery": { "cats": [ 12 ], - "scripts": [ "jquery(\\-|\\.)([\\d\\.]*\\d)[^/]*\\.js\\;version:\\2", "([\\d\\.]+)/jquery(\\.min)?\\.js\\;version:\\1", "jquery.*\\.js" ], + "script": [ "jquery(\\-|\\.)([\\d\\.]*\\d)[^/]*\\.js\\;version:\\2", "([\\d\\.]+)/jquery(\\.min)?\\.js\\;version:\\1", "jquery.*\\.js" ], "env": "^jQuery$" }, "jQuery Mobile": { @@ -920,7 +928,7 @@ "KineticJS": { "cats": [ 25 ], "script": "kinetic(-v?([\\d\\.]+))?\\.js\\;version:\\2" - }, + }, "KISSmetrics": { "cats": [ 10 ], "env": "^KM_COOKIE_DOMAIN$" @@ -964,7 +972,7 @@ }, "lighttpd": { "cats": [ 22 ], - "headers": { "Server": "lighttpd" } + "headers": { "Server": "lighttpd(/([\\d\\.]+))?\\;version:\\2" } }, "LimeSurvey": { "cats": [ 19 ], @@ -979,6 +987,11 @@ "script": "addtoany\\.com/menu/page\\.js", "env": "^a2apage_init$" }, + "Locomotive": { + "cats": [ 1 ], + "html": "\/sites\/[a-zA-Z0-9]{24}\/theme\/stylesheets\/", + "implies": [ "Ruby", "Ruby on Rails" ] + }, "Lotus Domino": { "cats": [ 22 ], "headers": { "Server": "Lotus-Domino" } @@ -1061,16 +1074,16 @@ "env": "^MODX_MEDIA_PATH$", "headers": { "X-Powered-By": "^MODx", "Set-Cookie": "SN4[a-f\\d]{12}|utmcct=/applications/modx" }, "implies": [ "PHP" ] - }, + }, "mod_fastcgi": { "cats": [ 33 ], - "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, - "implies": [ "Apache" ] - }, + "headers": { "Server": "mod_fastcgi(/([\\d\\.]+))?\\;version:\\2" }, + "implies": [ "Apache" ] + }, "mod_python": { "cats": [ 33 ], - "headers": { "Server": "mod_python(/([\\d\\.]+))?\\;version:\\2" }, - "implies": [ "Python", "Apache" ] + "headers": { "Server": "mod_python(/([\\d\\.]+))?\\;version:\\2" }, + "implies": [ "Python", "Apache" ] }, "mod_rack": { "cats": [ 33 ], @@ -1084,14 +1097,14 @@ }, "mod_ssl": { "cats": [ 33 ], - "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, - "implies": [ "Apache" ] + "headers": { "Server": "mod_ssl(/([\\d\\.]+))?\\;version:\\2" }, + "implies": [ "Apache" ] }, "mod_wsgi": { "cats": [ 33 ], "headers": { "Server": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2", "X-Powered-By": "mod_wsgi(/([\\d\\.]+))?\\;version:\\2" }, "implies": [ "Python", "Apache" ] - }, + }, "MoinMoin": { "cats": [ 8 ], "script": "moin(_static(\\d)(\\d)(\\d)|.+)/common/js/common\\.js\\;version:\\2.\\3.\\4", @@ -1204,7 +1217,7 @@ "OpenGrok": { "cats": [ 19 ], "headers": { "Set-Cookie": "OpenGrok" }, - "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, + "meta": { "generator": "OpenGrok( v?([\\d\\.]+))?\\;version:\\2" }, "implies": [ "Java" ] }, "OpenGSE": { @@ -1223,8 +1236,8 @@ }, "OpenSSL": { "cats": [ 33 ], - "headers": { "Server": "OpenSSL(/([\\d\\.]+[a-z]?))?\\;version:\\2" } - }, + "headers": { "Server": "OpenSSL(/([\\d\\.]+[a-z]?))?\\;version:\\2" } + }, "OpenText Web Solutions": { "cats": [ 1 ], "html": "