diff --git a/src/apps.json b/src/apps.json index 7b887654f..3b0b05996 100644 --- a/src/apps.json +++ b/src/apps.json @@ -107,13 +107,27 @@ }, "website": "http://awstats.sourceforge.net" }, - "Accelerated Mobile Pages": { + "AMP": { "cats": [ 12 ], - "html": "]* (?:amp|⚡)", + "html": "]* (?:amp|⚡)[^-]", "icon": "Accelerated-Mobile-Pages.svg", - "website": "https://www.ampproject.org" + "website": "https://www.amp.dev" + }, + "AMP Plugin": { + "cats": [ + 1, + 5 + ], + "icon": "Accelerated-Mobile-Pages.svg", + "implies": [ + "WordPress" + ], + "meta": { + "generator": "^AMP Plugin v(\\d+\\.\\d+.*)$\\;version:\\1" + }, + "website": "https://amp-wp.org" }, "Azure": { "cats": [ @@ -774,9 +788,6 @@ "]*\"[^>]*>" }, "Etherpad": { @@ -8912,6 +8945,8 @@ ], "html": "]*>\\s*Raven\\.config\\('[^']*', {\\s+release: '([0-9\\.]+)'\\;version:\\1", "js": { + "Sentry": "", + "Sentry.SDK_VERSION": "(.+)\\;version:\\1", "Raven.config": "", "ravenOptions.whitelistUrls": "" }, @@ -9341,8 +9376,8 @@ "Shopify": "\\;confidence:25" }, "headers": { - "x-shopid": "*\\;confidence:50", - "x-shopify-stage": "*\\;confidence:50" + "x-shopid": "\\;confidence:50", + "x-shopify-stage": "\\;confidence:50" }, "url": "^https?//.+\\.myshopify\\.com", "website": "http://shopify.com" @@ -11495,7 +11530,9 @@ }, "Wix": { "cats": [ - 1 + 1, + 6, + 11 ], "cookies": { "Domain": "\\.wix\\.com" @@ -11506,13 +11543,17 @@ "X-Wix-Server-Artifact-Id": "" }, "icon": "Wix.png", + "implies": [ + "React" + ], "js": { - "wixData": "", - "wixErrors": "", - "wixEvents": "" + "wixBiSession": "" }, - "script": "static\\.wixstatic\\.com", - "website": "http://wix.com" + "meta": { + "generator": "Wix\\.com Website Builder" + }, + "script": "static\\.parastorage\\.com", + "website": "https://www.wix.com" }, "Wolf CMS": { "cats": [ @@ -11582,7 +11623,6 @@ ], "html": [ "]+/wp-(?:content|includes)/", - "]*class=[\"']amp-wp-", "]+s\\d+\\.wp\\.com" ], "icon": "WordPress.svg", @@ -13146,7 +13186,8 @@ ], "html": [ "]*data-styled(?:-components)?[\\s\"]", - "]+data-styled-version=\"([0-9]+)\"\\;version:\\1" + "]+data-styled-version=\"([0-9]+)\"\\;version:\\1", + "<[^>]+sc-component-id: sc-" ], "icon": "styled-components.png", "implies": [ @@ -13320,10 +13361,12 @@ "website": "https://webpack.js.org/" }, "wisyCMS": { - "cats": [ "1" ], + "cats": [ + "1" + ], "icon": "wisyCMS.svg", "meta": { - "generator": "^wisy CMS[ v]{0,3}([0-9.,]*)\\;version:\\1" + "generator": "^wisy CMS[ v]{0,3}([0-9.,]*)\\;version:\\1" }, "website": "https://wisy.3we.de" }, @@ -13396,13 +13439,12 @@ 1, 11 ], - "html": [ - "]+/halo-(?:backend|frontend|common)/" - ], "icon": "Halo.svg", + "meta": { + "generator": "Halo ([\\d.]+)?\\;version:\\1" + }, "implies": "Java", - "script": "/halo-(?:backend|frontend|common)/", - "website": "https://github.com/ruibaby/halo" + "website": "https://halo.run" }, "Rocket": { "cats": [ @@ -13436,7 +13478,9 @@ "website": "https://zipkin.io/" }, "RX Web Server": { - "cats": [22], + "cats": [ + 22 + ], "headers": { "X-Powered-By": "RX-WEB" }, diff --git a/src/drivers/npm/Dockerfile b/src/drivers/npm/Dockerfile index ac4abb3a2..e3c511e18 100644 --- a/src/drivers/npm/Dockerfile +++ b/src/drivers/npm/Dockerfile @@ -8,11 +8,14 @@ RUN apk update && apk add --no-cache \ nodejs \ nodejs-npm -RUN mkdir -p "$WAPPALYZER_ROOT" +RUN mkdir -p "$WAPPALYZER_ROOT/browsers" WORKDIR "$WAPPALYZER_ROOT" ADD apps.json . +ADD browser.js . +ADD browsers/zombie.js ./browsers +ADD cli.js . ADD driver.js . ADD index.js . ADD package.json . @@ -20,4 +23,4 @@ ADD wappalyzer.js . RUN npm i -ENTRYPOINT ["node", "index.js"] +ENTRYPOINT ["node", "cli.js"] diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js index 23e397ce6..fb8f77611 100644 --- a/src/drivers/npm/driver.js +++ b/src/drivers/npm/driver.js @@ -242,7 +242,15 @@ class Driver { const reducedLinks = Array.prototype.reduce.call( browser.links, (results, link) => { - if (link.protocol.match(/https?:/) && link.hostname === this.origPageUrl.hostname && extensions.test(link.pathname)) { + if ( + results + && Object.prototype.hasOwnProperty.call(results, 'push') + && link.protocol + && link.protocol.match(/https?:/) + && link.rel !== 'nofollow' + && link.hostname === this.origPageUrl.hostname + && extensions.test(link.pathname) + ) { link.hash = ''; results.push(url.parse(link.href)); diff --git a/src/drivers/npm/package.json b/src/drivers/npm/package.json index aeeea530d..d6eb34786 100644 --- a/src/drivers/npm/package.json +++ b/src/drivers/npm/package.json @@ -2,7 +2,7 @@ "name": "wappalyzer", "description": "Uncovers the technologies used on websites", "homepage": "https://github.com/AliasIO/Wappalyzer", - "version": "5.8.2", + "version": "5.8.3", "author": "Elbert Alias", "license": "GPL-3.0", "repository": { diff --git a/src/drivers/webextension/manifest.json b/src/drivers/webextension/manifest.json index 86f70d9aa..81e1cc918 100644 --- a/src/drivers/webextension/manifest.json +++ b/src/drivers/webextension/manifest.json @@ -4,7 +4,7 @@ "author": "Elbert Alias", "homepage_url": "https://www.wappalyzer.com", "description": "Identify web technologies", - "version": "5.8.2", + "version": "5.8.3", "default_locale": "en", "manifest_version": 2, "icons": { diff --git a/src/icons/DerakCloud.png b/src/icons/DerakCloud.png new file mode 100644 index 000000000..377b223f2 Binary files /dev/null and b/src/icons/DerakCloud.png differ diff --git a/src/icons/Nuxt.js.svg b/src/icons/Nuxt.js.svg index e0bd713f8..cc279743f 100644 --- a/src/icons/Nuxt.js.svg +++ b/src/icons/Nuxt.js.svg @@ -1,10 +1,7 @@ - - Nuxt Logo - - - - - - - + + + + + +