diff --git a/.travis.yml b/.travis.yml index c19fa52d6..cf4351c55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js node_js: - - "4.2.1" + - "4.2.2" sudo: false before_install: - export WAPPALYZER_ROOT=$TRAVIS_BUILD_DIR diff --git a/bin/wappalyzer-validate b/bin/wappalyzer-validate index a15d5d3c3..a6e8c691e 100755 --- a/bin/wappalyzer-validate +++ b/bin/wappalyzer-validate @@ -29,9 +29,9 @@ echo "Validating apps.json..." jsonlint --quiet -V $WAPPALYZER_ROOT/schema.json $path/apps.json -# echo "Validating regular expressions..." -# -# wappalyzer validate-regex +echo "Validating regular expressions..." + +wappalyzer validate-regex echo "Validating icons..." diff --git a/src/apps.json b/src/apps.json index c25089b49..1e3735874 100755 --- a/src/apps.json +++ b/src/apps.json @@ -131,7 +131,7 @@ 6 ], "headers": { - "OracleCommerceCloud-Version": ".*\\;version:\\1" + "OracleCommerceCloud-Version": "(.*)\\;version:\\1" }, "html": "<[^>]+id=\"oracle-cc\"", "website": "cloud.oracle.com/commerce-cloud", @@ -421,7 +421,7 @@ "env": "^angular$", "script": [ "angular(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "/([\\d.]+(\\-?rc[.\\d]*)*)/angular(\\.min)?\\.js\\;version:\\1", + "/([\\d.]+(?:\\-?rc[.\\d]*)*)/angular(?:\\.min)?\\.js\\;version:\\1", "angular.*\\.js" ], "website": "angularjs.org", @@ -606,7 +606,7 @@ 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", + "html": "Powered by\\s+]+atlassian\\.com/(?:software/jira|jira-bug-tracking/)[^>]+>Atlassian\\s+JIRA(?:[^v]*v(?:ersion: )?(\\d+\\.\\d+(?:\\.\\d+)?))?\\;version:\\1", "implies": "Java", "meta": { "ajs-version-number": "([\\d\\.]+)\\;version:\\1", @@ -795,7 +795,7 @@ 12 ], "implies": "Google Analytics", - "script": "boba(\\.min)?\\.js", + "script": "boba(?:\\.min)?\\.js", "website": "boba.space150.com", "icon": "Boba.js.png" }, @@ -1830,7 +1830,7 @@ "cats": [ 36 ], - "script": "googletagservices\\.com/tag/js/gpt(_mobile|)\\.js", + "script": "googletagservices\\.com/tag/js/gpt(?:_mobile)?\\.js", "website": "www.google.com/dfp", "icon": "DoubleClick for Publishers (DFP).png" }, @@ -2078,7 +2078,7 @@ ], "html": "]+?href=\"[^\"]+epoch(?:\\.min)?\\.css", "implies": "D3", - "script": "epoch(\\.min)?\\.js", + "script": "epoch(?:\\.min)?\\.js", "website": "fastly.github.io/epoch", "icon": "Epoch.png" }, @@ -2096,7 +2096,7 @@ 27 ], "headers": { - "Server": "Erlang( OTP/([\\-\\d\\.ABR]+))?\\;version:\\1" + "Server": "Erlang( OTP/(?:[\\-\\d\\.ABR]+))?\\;version:\\1" }, "website": "www.erlang.org", "icon": "Erlang.png" @@ -2816,7 +2816,7 @@ 12 ], "env": "^Hammer$", - "script": "hammer(\\.min)?\\.js", + "script": "hammer(?:\\.min)?\\.js", "website": "hammerjs.github.io", "icon": "Hammer.js.png" }, @@ -2920,7 +2920,7 @@ "env": "^Hogan$", "script": [ "hogan-(?:-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "([\\d.]+)/hogan(\\.min)?\\.js\\;version:\\1" + "([\\d.]+)/hogan(?:\\.min)?\\.js\\;version:\\1" ], "website": "twitter.github.com/hogan.js", "icon": "Hogan.js.png" @@ -3653,7 +3653,7 @@ "cats": [ 12 ], - "script": "lazy(\\.browser)?(\\.min)?\\.js", + "script": "lazy(?:\\.browser)?(?:\\.min)?\\.js", "website": "danieltao.com/lazy.js", "icon": "Lazy.js.png" }, @@ -4237,7 +4237,7 @@ 1, 6 ], - "html": "(]*mg-(core|plugins|templates)", + "html": "(?:]*mg-(?:core|plugins|templates)", "implies": "PHP", "website": "moguta.ru", "icon": "Moguta.CMS.png" @@ -4992,7 +4992,7 @@ "cats": [ 25 ], - "script": "paths(\\.min)?\\.js", + "script": "paths(?:\\.min)?\\.js", "website": "github.com/andreaferretti/paths-js", "icon": "Paths.js.png" }, @@ -5451,7 +5451,7 @@ "html": "<[^>]+data-react", "script": [ "react(?:\\-with\\-addons)?(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "/([\\d.]+)/react(\\.min)?\\.js\\;version:\\1", + "/([\\d.]+)/react(?:\\.min)?\\.js\\;version:\\1", "react.*\\.js" ], "website": "facebook.github.io/react", @@ -5513,7 +5513,7 @@ 22 ], "headers": { - "Server": "^Resin(?:/(\\S*))?;version=\\1" + "Server": "^Resin(?:/(\\S*))?\\;version:\\1" }, "implies": "Java", "website": "caucho.com", @@ -5534,7 +5534,7 @@ ], "env": "^Rickshaw$", "implies": "D3", - "script": "rickshaw(\\.min)?\\.js", + "script": "rickshaw(?:\\.min)?\\.js", "website": "code.shutterstock.com/rickshaw/", "icon": "Rickshaw.png" }, @@ -5552,7 +5552,7 @@ 12 ], "env": "^riot$", - "script": "riot(?:\\+compiler)?(:?\\.min)?\\.js", + "script": "riot(?:\\+compiler)?(?:\\.min)?\\.js", "website": "muut.com/riotjs", "icon": "Riot.png" }, @@ -6120,7 +6120,7 @@ 22 ], "headers": { - "Server": "Snap/\\d+(\\.\\d+)+" + "Server": "Snap/([.\\d]+)\\;version:\\1" }, "implies": "Haskell", "website": "snapframework.com", @@ -6214,7 +6214,7 @@ "cats": [ 19 ], - "html": "

© [-\\d]+ Splunk Inc\\.(?: Splunk ([\\d\\.]+( build [\\d\\.]*\\d)?))?[^<]*

\\;version:\\1", + "html": "

© [-\\d]+ Splunk Inc\\.(?: Splunk ([\\d\\.]+(?: build [\\d\\.]*\\d)?))?[^<]*

\\;version:\\1", "meta": { "author": "Splunk Inc\\;confidence:50" }, @@ -6393,7 +6393,7 @@ ], "env": "^swal$", "html": "]+?href=\"[^\"]+sweet-alert(?:\\.min)?\\.css", - "script": "sweet-alert(\\.min)?\\.js", + "script": "sweet-alert(?:\\.min)?\\.js", "website": "tristanedwards.me/sweetalert", "icon": "SweetAlert.png" }, @@ -6436,8 +6436,12 @@ "cats": [ 19 ], +<<<<<<< HEAD "env": "^SyntaxHighlighter$", "html": "(]*sh(Core|Brush|ThemeDefault)", +======= + "html": "<(?:script|link)[^>]*sh(?:Core|Brush|ThemeDefault)", +>>>>>>> 266a1e2b853d7e64e40b3ab4e8f6d2d442a6734b "website": "github.com/syntaxhighlighter", "icon": "SyntaxHighlighter.png" }, @@ -6740,7 +6744,7 @@ 25 ], "env": "^twemoji$", - "script": "twemoji(\\.min)?\\.js", + "script": "twemoji(?:\\.min)?\\.js", "website": "twitter.github.io/twemoji/", "icon": "Twitter Emoji (Twemoji).png" }, @@ -6759,7 +6763,7 @@ ], "env": "^typeahead$", "implies": "jQuery\\;confidence:50", - "script": "(typeahead|bloodhound)(\\.jquery|\\.bundle)?(\\.min)?\\.js", + "script": "(?:typeahead|bloodhound)\\.(?:jquery|bundle)?(?:\\.min)?\\.js", "website": "twitter.github.io/typeahead.js", "icon": "Twitter typeahead.js.png" }, @@ -7094,7 +7098,7 @@ "env": "^Vue$", "script": [ "vue(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "/([\\d.]+)/vue(\\.min)?\\.js\\;version:\\1", + "/([\\d.]+)/vue(?:\\.min)?\\.js\\;version:\\1", "vue.*\\.js\\;confidence:20" ], "website": "vuejs.org", @@ -7147,7 +7151,7 @@ 22 ], "headers": { - "Server": "^Warp/(\\d+(?:\\.\\d+)+)?$;version:\\1" + "Server": "^Warp/(\\d+(?:\\.\\d+)+)?$\\;version:\\1" }, "implies": "Haskell", "website": "www.stackage.org/package/warp", @@ -7419,7 +7423,7 @@ "cats": [ 38 ], - "html": "Wowza Media Server \\d+ ((\\w+ Edition )?\\d+\\.[\\d\\.]+( build\\d+)?)?\\;version:\\1", + "html": "<title>Wowza Media Server \\d+ ((?:\\w+ Edition )?\\d+\\.[\\d\\.]+(?: build\\d+)?)?\\;version:\\1", "website": "www.wowza.com", "icon": "Wowza Media Server.png" }, @@ -7447,7 +7451,7 @@ "cats": [ 22 ], - "html": "<title>XAMPP( Version ([\\d\\.]+))?\\;version:\\1\\;confidence:90", + "html": "XAMPP(?: Version ([\\d\\.]+))?\\;version:\\1\\;confidence:90", "implies": [ "Apache", "MySQL", @@ -7487,7 +7491,7 @@ "env": "^XRegExp$", "script": [ "xregexp(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "/([\\d.]+)/xregexp(\\.min)?\\.js\\;version:\\1", + "/([\\d.]+)/xregexp(?:\\.min)?\\.js\\;version:\\1", "xregexp.*\\.js" ], "website": "xregexp.com", @@ -8023,7 +8027,7 @@ "env": "^jQuery$", "script": [ "jquery(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "/([\\d.]+)/jquery(\\.min)?\\.js\\;version:\\1", + "/([\\d.]+)/jquery(?:\\.min)?\\.js\\;version:\\1", "jquery.*\\.js" ], "website": "jquery.com", @@ -8034,7 +8038,7 @@ 26 ], "implies": "jQuery", - "script": "jquery\\.mobile(?:-([\\d.]+rc\\d))?.*\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1", + "script": "jquery\\.mobile(?:-([\\d.]+rc\\d))?.*\\.js(?:\\?ver=([\\d.]+))?\\;version:\\1?\\1:\\2", "website": "jquerymobile.com", "icon": "jQuery Mobile.png" }, @@ -8054,7 +8058,7 @@ "implies": "jQuery", "script": [ "jquery-ui(?:-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "([\\d.]+)/jquery-ui(\\.min)?\\.js\\;version:\\1", + "([\\d.]+)/jquery-ui(?:\\.min)?\\.js\\;version:\\1", "jquery-ui.*\\.js" ], "website": "jqueryui.com", @@ -8472,7 +8476,7 @@ 25 ], "env": "^Shine$", - "script": "shine(\\.min)?\\.js", + "script": "shine(?:\\.min)?\\.js", "website": "bigspaceship.github.io/shine.js/", "icon": "shine.js.png" }, @@ -8586,7 +8590,7 @@ ], "env": "^vis$", "html": "]+?href=\"[^\"]+vis(?:\\.min)?\\.css", - "script": "vis(\\.min)?\\.js", + "script": "vis(?:\\.min)?\\.js", "website": "visjs.org", "icon": "vis.js.png" }, @@ -8648,7 +8652,7 @@ "env": "^yepnope$", "script": [ "yepnope-(?:-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "([\\d.]+)/yepnope(\\.min)?\\.js\\;version:\\1", + "([\\d.]+)/yepnope(?:\\.min)?\\.js\\;version:\\1", "yepnope.*\\.js" ], "website": "yepnopejs.com", diff --git a/src/drivers/chrome/manifest.json b/src/drivers/chrome/manifest.json index ebb88704b..35550522c 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.41", + "version": "2.42", "default_locale": "en", "manifest_version": 2, "icons": { diff --git a/src/icons/penguin.png b/src/icons/penguin.png deleted file mode 100644 index e87a6a655..000000000 Binary files a/src/icons/penguin.png and /dev/null differ