diff --git a/package.json b/package.json
index f998d553d..1fb93d26b 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,8 @@
"dependencies": {
"@prantlf/jsonlint": "^10.2.0",
"adm-zip": "^0.4.14",
- "convert-svg-to-png": "^0.5.0"
+ "convert-svg-to-png": "^0.5.0",
+ "languagedetect": "^2.0.0"
},
"devDependencies": {
"@nuxtjs/eslint-config": "^1.0.1",
diff --git a/src/apps.json b/src/apps.json
index a27f3003b..15a0b9936 100644
--- a/src/apps.json
+++ b/src/apps.json
@@ -80,7 +80,10 @@
"cats": [
12
],
- "html": "]* (?:amp|⚡)[^-]",
+ "html": [
+ "]* (?:amp|⚡)[^-]",
+ "]+demandware\\.edgesuite",
+ "html": [
+ "<[^>]+demandware\\.edgesuite",
+ "/demandware\\.static/"
+ ],
"icon": "Salesforce.svg",
"js": {
"dwAnalytics": ""
@@ -10814,6 +10851,10 @@
41
],
"html": "]+data-stripe",
+ "cookies": {
+ "__stripe_mid": "",
+ "__stripe_sid": ""
+ },
"icon": "Stripe.png",
"js": {
"Stripe.version": "^(.+)$\\;version:\\1"
@@ -11478,6 +11519,14 @@
"script": "tcdn\\.com\\.br",
"website": "https://www.tray.com.br"
},
+ "TrustArc": {
+ "cats": [
+ 67
+ ],
+ "script": "consent\\.trustarc\\.com",
+ "icon": "TrustArc.svg",
+ "website": "http://trustarc.com"
+ },
"Tumblr": {
"cats": [
11
@@ -14716,6 +14765,11 @@
"66": {
"name": "UI frameworks",
"priority": 7
+ },
+ "67": {
+ "name": "Cookie compliance",
+ "priority": 9
}
+
}
}
diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js
index 7b7fc079e..bce3bf326 100644
--- a/src/drivers/npm/driver.js
+++ b/src/drivers/npm/driver.js
@@ -137,7 +137,7 @@ class Driver {
}
open(url) {
- return new Site(url, this)
+ return new Site(url.split('#')[0], this)
}
log(message, source = 'driver') {
diff --git a/src/drivers/webextension/_locales/ca/messages.json b/src/drivers/webextension/_locales/ca/messages.json
index 721464c9d..379a0caae 100644
--- a/src/drivers/webextension/_locales/ca/messages.json
+++ b/src/drivers/webextension/_locales/ca/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Proxys invers" },
"categoryName65": { "message": "Balanceigs de càrrega" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/de/messages.json b/src/drivers/webextension/_locales/de/messages.json
index 847dbf1fa..152ee10bb 100644
--- a/src/drivers/webextension/_locales/de/messages.json
+++ b/src/drivers/webextension/_locales/de/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/el/messages.json b/src/drivers/webextension/_locales/el/messages.json
index 766f7f9b7..a9316d331 100644
--- a/src/drivers/webextension/_locales/el/messages.json
+++ b/src/drivers/webextension/_locales/el/messages.json
@@ -77,5 +77,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/en/messages.json b/src/drivers/webextension/_locales/en/messages.json
index 9f7b85cc0..b7f5f48d4 100644
--- a/src/drivers/webextension/_locales/en/messages.json
+++ b/src/drivers/webextension/_locales/en/messages.json
@@ -79,5 +79,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse proxies" },
"categoryName65": { "message": "Load balancers" },
- "categoryName66": { "message": "UI frameworks" }
+ "categoryName66": { "message": "UI frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/es/messages.json b/src/drivers/webextension/_locales/es/messages.json
index 14d102648..f30c9fdc5 100644
--- a/src/drivers/webextension/_locales/es/messages.json
+++ b/src/drivers/webextension/_locales/es/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/fa/messages.json b/src/drivers/webextension/_locales/fa/messages.json
index adb30b530..3610858df 100644
--- a/src/drivers/webextension/_locales/fa/messages.json
+++ b/src/drivers/webextension/_locales/fa/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "پروکسی معکوس" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/fr/messages.json b/src/drivers/webextension/_locales/fr/messages.json
index 37fd1c2ce..a291b9c42 100644
--- a/src/drivers/webextension/_locales/fr/messages.json
+++ b/src/drivers/webextension/_locales/fr/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/gl_ES/messages.json b/src/drivers/webextension/_locales/gl_ES/messages.json
index 795060901..51ae4aafd 100644
--- a/src/drivers/webextension/_locales/gl_ES/messages.json
+++ b/src/drivers/webextension/_locales/gl_ES/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Proxy inverso" },
"categoryName65": { "message": "Balanceador de carga" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/gr/messages.json b/src/drivers/webextension/_locales/gr/messages.json
index b631044ee..787714b2e 100644
--- a/src/drivers/webextension/_locales/gr/messages.json
+++ b/src/drivers/webextension/_locales/gr/messages.json
@@ -77,5 +77,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/id/messages.json b/src/drivers/webextension/_locales/id/messages.json
index 11d46d599..39737a2be 100644
--- a/src/drivers/webextension/_locales/id/messages.json
+++ b/src/drivers/webextension/_locales/id/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/it/messages.json b/src/drivers/webextension/_locales/it/messages.json
index 27882408a..675d41ae3 100644
--- a/src/drivers/webextension/_locales/it/messages.json
+++ b/src/drivers/webextension/_locales/it/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/ja/messages.json b/src/drivers/webextension/_locales/ja/messages.json
index 666d4d957..2b75819a2 100644
--- a/src/drivers/webextension/_locales/ja/messages.json
+++ b/src/drivers/webextension/_locales/ja/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "リバースプロキシ" },
"categoryName65": { "message": "ロードバランサー" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/pl/messages.json b/src/drivers/webextension/_locales/pl/messages.json
index 90e83acfd..04087bb63 100644
--- a/src/drivers/webextension/_locales/pl/messages.json
+++ b/src/drivers/webextension/_locales/pl/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Proxy wsteczne" },
"categoryName65": { "message": "Równoważenie obciążenia" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/pt/messages.json b/src/drivers/webextension/_locales/pt/messages.json
index a7fd7a55a..7d526e9a4 100644
--- a/src/drivers/webextension/_locales/pt/messages.json
+++ b/src/drivers/webextension/_locales/pt/messages.json
@@ -79,7 +79,8 @@
"categoryName61": { "message": "SaaS" },
"categoryName62": { "message": "PaaS" },
"categoryName63": { "message": "IaaS" },
- "categoryName64": { "message": "Reverse Proxy" },
- "categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName64": { "message": "Reverse Proxy" },
+ "categoryName65": { "message": "Load Balancer" },
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/pt_BR/messages.json b/src/drivers/webextension/_locales/pt_BR/messages.json
index e32b108aa..a4009e2b4 100644
--- a/src/drivers/webextension/_locales/pt_BR/messages.json
+++ b/src/drivers/webextension/_locales/pt_BR/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Proxy Reverso" },
"categoryName65": { "message": "Balanceador de Carga" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/ro/messages.json b/src/drivers/webextension/_locales/ro/messages.json
index a3036e74a..efb1d726d 100644
--- a/src/drivers/webextension/_locales/ro/messages.json
+++ b/src/drivers/webextension/_locales/ro/messages.json
@@ -77,5 +77,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/ru/messages.json b/src/drivers/webextension/_locales/ru/messages.json
index 55d08dca6..68491ed16 100644
--- a/src/drivers/webextension/_locales/ru/messages.json
+++ b/src/drivers/webextension/_locales/ru/messages.json
@@ -79,5 +79,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Обратный прокси" },
"categoryName65": { "message": "Балансировка нагрузки" },
- "categoryName66": { "message": "UI Фреймворк" }
+ "categoryName66": { "message": "UI Фреймворк" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/sk/messages.json b/src/drivers/webextension/_locales/sk/messages.json
index b9ed2ce77..d5bd0c59e 100644
--- a/src/drivers/webextension/_locales/sk/messages.json
+++ b/src/drivers/webextension/_locales/sk/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/tr/messages.json b/src/drivers/webextension/_locales/tr/messages.json
index 63167726a..133782272 100644
--- a/src/drivers/webextension/_locales/tr/messages.json
+++ b/src/drivers/webextension/_locales/tr/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Yük Dengeleyici" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/uk/messages.json b/src/drivers/webextension/_locales/uk/messages.json
index c8c28983f..4b5cda5f2 100644
--- a/src/drivers/webextension/_locales/uk/messages.json
+++ b/src/drivers/webextension/_locales/uk/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/uz/messages.json b/src/drivers/webextension/_locales/uz/messages.json
index b0af1ba9f..dc3982841 100644
--- a/src/drivers/webextension/_locales/uz/messages.json
+++ b/src/drivers/webextension/_locales/uz/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
- "categoryName66": { "message": "UI Frameworks" }
+ "categoryName66": { "message": "UI Frameworks" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/zh_CN/messages.json b/src/drivers/webextension/_locales/zh_CN/messages.json
index 2aadbda4c..39866faa3 100644
--- a/src/drivers/webextension/_locales/zh_CN/messages.json
+++ b/src/drivers/webextension/_locales/zh_CN/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "基础设施即服务(IaaS)" },
"categoryName64": { "message": "反向代理" },
"categoryName65": { "message": "负载均衡" },
- "categoryName66": { "message": "用户界面(UI)框架" }
+ "categoryName66": { "message": "用户界面(UI)框架" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/_locales/zh_TW/messages.json b/src/drivers/webextension/_locales/zh_TW/messages.json
index 9ca2612f3..d24c8f257 100644
--- a/src/drivers/webextension/_locales/zh_TW/messages.json
+++ b/src/drivers/webextension/_locales/zh_TW/messages.json
@@ -81,5 +81,6 @@
"categoryName63": { "message": "基礎設施即服務(IaaS)" },
"categoryName64": { "message": "反向代理伺服器" },
"categoryName65": { "message": "負載平衡器" },
- "categoryName66": { "message": "UI 框架" }
+ "categoryName66": { "message": "UI 框架" },
+ "categoryName67": { "message": "Cookie compliance" }
}
diff --git a/src/drivers/webextension/images/icons/Cookiebot.svg b/src/drivers/webextension/images/icons/Cookiebot.svg
new file mode 100644
index 000000000..c6acb47bd
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Cookiebot.svg
@@ -0,0 +1,19 @@
+
diff --git a/src/drivers/webextension/images/icons/Crownpeak.png b/src/drivers/webextension/images/icons/Crownpeak.png
new file mode 100644
index 000000000..4b80de9df
Binary files /dev/null and b/src/drivers/webextension/images/icons/Crownpeak.png differ
diff --git a/src/drivers/webextension/images/icons/OneTrust.png b/src/drivers/webextension/images/icons/OneTrust.png
new file mode 100644
index 000000000..da57f65e5
Binary files /dev/null and b/src/drivers/webextension/images/icons/OneTrust.png differ
diff --git a/src/drivers/webextension/images/icons/TrustArc.svg b/src/drivers/webextension/images/icons/TrustArc.svg
new file mode 100644
index 000000000..27f47cfca
--- /dev/null
+++ b/src/drivers/webextension/images/icons/TrustArc.svg
@@ -0,0 +1,34 @@
+
+
+
diff --git a/src/drivers/webextension/js/content.js b/src/drivers/webextension/js/content.js
index 71dfbd994..3b031d84b 100644
--- a/src/drivers/webextension/js/content.js
+++ b/src/drivers/webextension/js/content.js
@@ -111,7 +111,7 @@ const Content = {
chrome.runtime.sendMessage({
source: 'content.js',
func: 'analyzeJs',
- args: [location.href, data.wappalyzer.js]
+ args: [location.href.split('#')[0], data.wappalyzer.js]
})
script.remove()
diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js
index a79725e5a..1b1c02ff3 100644
--- a/src/drivers/webextension/js/driver.js
+++ b/src/drivers/webextension/js/driver.js
@@ -528,7 +528,7 @@ const Driver = {
]
if (
- !/((local|dev(elopment)?|stag(e|ing)?|test(ing)?|demo(shop)?|admin|google|cache)\.|\/admin|\.local|127\.)/.test(
+ !/((local|dev(elop(ment)?)?|stag(e|ing)?|preprod|test(ing)?|demo(shop)?|admin|cache)[.-]|localhost|google|\/admin|\.local|\.test|\.dev|127\.|0\.)/.test(
hostname
) &&
hits >= 3
diff --git a/yarn.lock b/yarn.lock
index f011f2b21..a83b36b5a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1242,6 +1242,11 @@ jsonfile@^4.0.0:
optionalDependencies:
graceful-fs "^4.1.6"
+languagedetect@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/languagedetect/-/languagedetect-2.0.0.tgz#4b8fa2b7593b2a3a02fb1100891041c53238936c"
+ integrity sha512-AZb/liiQ+6ZoTj4f1J0aE6OkzhCo8fyH+tuSaPfSo8YHCWLFJrdSixhtO2TYdIkjcDQNaR4RmGaV2A5FJklDMQ==
+
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"