diff --git a/schema.json b/schema.json index 0ff6516c8..fcc621371 100644 --- a/schema.json +++ b/schema.json @@ -153,18 +153,16 @@ } ] }, - "magento": { - "oneOf": [ - { - "type": "array", - "items": { - "$ref": "#/definitions/non-empty-non-blank-string" - } + "probe": { + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^.+$": { }, - { - "$ref": "#/definitions/non-empty-non-blank-string" + "additionalProperties": { + "type": "string" } - ] + } }, "certIssuer": { "oneOf": [ diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js index 1ca4a49c3..5f0e73602 100644 --- a/src/drivers/npm/driver.js +++ b/src/drivers/npm/driver.js @@ -1155,7 +1155,6 @@ class Site { async probe(url) { const files = { robots: '/robots.txt', - magento: '/magento_version', } // DNS diff --git a/src/drivers/webextension/_locales/ca/messages.json b/src/drivers/webextension/_locales/ca/messages.json index 95921df10..622d6a333 100644 --- a/src/drivers/webextension/_locales/ca/messages.json +++ b/src/drivers/webextension/_locales/ca/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Esborrar la memòria cau de les deteccions" }, "nothingToDo": { "message": "Res a fer aquí." }, "noAppsDetected": { "message": "No s'ha detectat cap tecnologia." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Mostrar sempre la icona" }, "termsAccept": { "message": "M'està bé" }, "termsDecline": { "message": "Desactivar" }, diff --git a/src/drivers/webextension/_locales/de/messages.json b/src/drivers/webextension/_locales/de/messages.json index aa039ea5d..bf6043970 100644 --- a/src/drivers/webextension/_locales/de/messages.json +++ b/src/drivers/webextension/_locales/de/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Cache leeren" }, "nothingToDo": { "message": "Nichts zu tun." }, "noAppsDetected": { "message": "Keine Applikationen gefunden" }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Icon immer anzeigen" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/el/messages.json b/src/drivers/webextension/_locales/el/messages.json index dd34cd39c..a9c99b344 100644 --- a/src/drivers/webextension/_locales/el/messages.json +++ b/src/drivers/webextension/_locales/el/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Καμία ενέργεια." }, "noAppsDetected": { "message": "Δεν ανιχνεύθηκαν εφαρμογές." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/en/messages.json b/src/drivers/webextension/_locales/en/messages.json index 22f86fb81..38a02269c 100644 --- a/src/drivers/webextension/_locales/en/messages.json +++ b/src/drivers/webextension/_locales/en/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Nothing to do here." }, "noAppsDetected": { "message": "No technologies detected." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/es/messages.json b/src/drivers/webextension/_locales/es/messages.json index bd55bc3e4..3ea15a8f1 100644 --- a/src/drivers/webextension/_locales/es/messages.json +++ b/src/drivers/webextension/_locales/es/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Limpiar detecciones cacheadas" }, "nothingToDo": { "message": "Nada que hacer aquí." }, "noAppsDetected": { "message": "Aplicaciones no detectadas." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Siempre mostrar icono" }, "termsAccept": { "message": "Estoy bien con eso" }, "termsDecline": { "message": "Deshabilitar" }, diff --git a/src/drivers/webextension/_locales/fa/messages.json b/src/drivers/webextension/_locales/fa/messages.json index 74c760c2a..7f2570c81 100644 --- a/src/drivers/webextension/_locales/fa/messages.json +++ b/src/drivers/webextension/_locales/fa/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "پاکسازی شناسایی های کش شده" }, "nothingToDo": { "message": "هیچ چیز برای انجام اینجا نیست." }, "noAppsDetected": { "message": "هیچ فن‌آوری شناسایی نشده است." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "همیشه نماد را نشان بده" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/fr/messages.json b/src/drivers/webextension/_locales/fr/messages.json index 919cd4a21..8bcd54f39 100644 --- a/src/drivers/webextension/_locales/fr/messages.json +++ b/src/drivers/webextension/_locales/fr/messages.json @@ -3,6 +3,7 @@ "twitter": { "message": "Suivre Wappalyzer sur Twitter" }, "website": { "message": "Aller sur wappalyzer.com" }, "noAppsDetected": { "message": "Pas d'applications détectées." }, + "playGame": { "message": "Play a game?" }, "nothingToDo": { "message": "Rien à faire ici." }, "optionTracking": { "message": "Envoyer anonymement des rapports sur les applications détectées à wappalyzer.com pour la recherche" }, "optionThemeMode": { "message": "Activer la compatibilité de mode sombre." }, diff --git a/src/drivers/webextension/_locales/gl_ES/messages.json b/src/drivers/webextension/_locales/gl_ES/messages.json index 8bb72a56f..3a0bd0dda 100644 --- a/src/drivers/webextension/_locales/gl_ES/messages.json +++ b/src/drivers/webextension/_locales/gl_ES/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Nada que facer por aquí." }, "noAppsDetected": { "message": "Non se identificaron aplicativos." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Amosar sempre icono" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/gr/messages.json b/src/drivers/webextension/_locales/gr/messages.json index e8fd8a7ce..0650ba7a3 100644 --- a/src/drivers/webextension/_locales/gr/messages.json +++ b/src/drivers/webextension/_locales/gr/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Καμία ενέργεια." }, "noAppsDetected": { "message": "Δεν ανιχνεύθηκαν εφαρμογές." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/id/messages.json b/src/drivers/webextension/_locales/id/messages.json index 79dc35a9f..4a070e034 100644 --- a/src/drivers/webextension/_locales/id/messages.json +++ b/src/drivers/webextension/_locales/id/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Tak ada yang dilakukan disini." }, "noAppsDetected": { "message": "Tidak ada aplikasi yang terdeteksi." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/it/messages.json b/src/drivers/webextension/_locales/it/messages.json index b3549bf09..a4b853dfb 100644 --- a/src/drivers/webextension/_locales/it/messages.json +++ b/src/drivers/webextension/_locales/it/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Niente da fare qui." }, "noAppsDetected": { "message": "Nessuna applicazione rilevata." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/ja/messages.json b/src/drivers/webextension/_locales/ja/messages.json index 072b65fde..e7e7c375d 100644 --- a/src/drivers/webextension/_locales/ja/messages.json +++ b/src/drivers/webextension/_locales/ja/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "キャッシュされた検出値のクリア" }, "nothingToDo": { "message": "ここでは特定出来ません。" }, "noAppsDetected": { "message": "技術は検出されませんでした。" }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "常にアイコンを表示" }, "termsAccept": { "message": "OK" }, "termsDecline": { "message": "無効にする" }, diff --git a/src/drivers/webextension/_locales/ko/messages.json b/src/drivers/webextension/_locales/ko/messages.json index 3a2217455..bb9fd5fdd 100644 --- a/src/drivers/webextension/_locales/ko/messages.json +++ b/src/drivers/webextension/_locales/ko/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "캐시된 식별 정보 지우기" }, "nothingToDo": { "message": "여기에는 할 일이 없네요." }, "noAppsDetected": { "message": "식별된 기술이 없습니다." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "항상 아이콘 보이기" }, "termsAccept": { "message": "동의합니다" }, "termsDecline": { "message": "비활성화" }, diff --git a/src/drivers/webextension/_locales/nl/messages.json b/src/drivers/webextension/_locales/nl/messages.json index 85935f9f5..3866ef53f 100644 --- a/src/drivers/webextension/_locales/nl/messages.json +++ b/src/drivers/webextension/_locales/nl/messages.json @@ -3,6 +3,7 @@ "twitter": { "message": "Volg Wappalyzer op Twitter" }, "website": { "message": "Ga naar wappalyzer.com" }, "noAppsDetected": { "message": "Geen toepassingen gedetecteerd" }, + "playGame": { "message": "Play a game?" }, "nothingToDo": { "message": "Hier is niets te doen" }, "optionTracking": { "message": "Stuur anoniem geïdentificeerd technologieën naar wappalyzer.com" }, "optionThemeMode": { "message": "Donkere modus compatibiliteit inschakelen" }, diff --git a/src/drivers/webextension/_locales/pl/messages.json b/src/drivers/webextension/_locales/pl/messages.json index aef18a2c0..43a88250e 100644 --- a/src/drivers/webextension/_locales/pl/messages.json +++ b/src/drivers/webextension/_locales/pl/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Nic tu nie ma." }, "noAppsDetected": { "message": "Nie wykryto żadnych aplikacji." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Zawsze pokazuj tą ikonę" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/pt/messages.json b/src/drivers/webextension/_locales/pt/messages.json index 10462ad32..17759afdd 100644 --- a/src/drivers/webextension/_locales/pt/messages.json +++ b/src/drivers/webextension/_locales/pt/messages.json @@ -3,6 +3,7 @@ "twitter": { "message": "Seguir Wappalyzer no Twitter" }, "website": { "message": "Ir para wappalyzer.com" }, "noAppsDetected": { "message": "Não foi detectada nenhuma tecnologia." }, + "playGame": { "message": "Play a game?" }, "nothingToDo": { "message": "Nada a fazer aqui." }, "optionDynamicIcon": { "message": "Utilizar o ícone da tecnologia em vez do logótipo do Wappalyzer" }, "optionTracking": { "message": "Envie anonimamente tecnologias identificadas para wappalyzer.com" }, diff --git a/src/drivers/webextension/_locales/pt_BR/messages.json b/src/drivers/webextension/_locales/pt_BR/messages.json index ed68be623..38e91dcb8 100644 --- a/src/drivers/webextension/_locales/pt_BR/messages.json +++ b/src/drivers/webextension/_locales/pt_BR/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Nada a fazer aqui." }, "noAppsDetected": { "message": "Nenhuma tecnologia identificada." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Sempre mostrar ícone" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/ro/messages.json b/src/drivers/webextension/_locales/ro/messages.json index adb78c3b8..d8739d8c9 100644 --- a/src/drivers/webextension/_locales/ro/messages.json +++ b/src/drivers/webextension/_locales/ro/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Nimic de făcut pe pagina curentă." }, "noAppsDetected": { "message": "Nici o aplicație detectată." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Afișează icon tot timpul" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/ru/messages.json b/src/drivers/webextension/_locales/ru/messages.json index fb43680e6..d3bcdacd8 100644 --- a/src/drivers/webextension/_locales/ru/messages.json +++ b/src/drivers/webextension/_locales/ru/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Очистить кешированные результаты" }, "nothingToDo": { "message": "Здесь нечего делать" }, "noAppsDetected": { "message": "Не удалось определить ни одну технологию" }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Всегда отображать эту категорию иконкой"}, "termsAccept": { "message": "Я принимаю условия" }, "termsDecline": { "message": "Отключить" }, diff --git a/src/drivers/webextension/_locales/sk/messages.json b/src/drivers/webextension/_locales/sk/messages.json index 1fe24f138..9b750e224 100644 --- a/src/drivers/webextension/_locales/sk/messages.json +++ b/src/drivers/webextension/_locales/sk/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Nie je tu čo robiť." }, "noAppsDetected": { "message": "Žiadne aplikácie neboli zistené." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/tr/messages.json b/src/drivers/webextension/_locales/tr/messages.json index 28b19da23..26a73bb73 100644 --- a/src/drivers/webextension/_locales/tr/messages.json +++ b/src/drivers/webextension/_locales/tr/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Burada yapacak birşey yok." }, "noAppsDetected": { "message": "Uygulamalar tespit edilemedi." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Her zaman bu kategorinin ikonunu kullan" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/uk/messages.json b/src/drivers/webextension/_locales/uk/messages.json index 15ce279bf..95ee799be 100644 --- a/src/drivers/webextension/_locales/uk/messages.json +++ b/src/drivers/webextension/_locales/uk/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Тут нічого робити." }, "noAppsDetected": { "message": "Нічого не знайдено." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Завжди показувати іконку Wappalyzer" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/uz/messages.json b/src/drivers/webextension/_locales/uz/messages.json index 2778a8899..bceecdaa6 100644 --- a/src/drivers/webextension/_locales/uz/messages.json +++ b/src/drivers/webextension/_locales/uz/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "Bu yerda tekshirib bolmaydi." }, "noAppsDetected": { "message": "Hech qanday dastur aniqlanmadi." }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "Always show icon" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/zh_CN/messages.json b/src/drivers/webextension/_locales/zh_CN/messages.json index 2d3467fc8..69e88e9fd 100644 --- a/src/drivers/webextension/_locales/zh_CN/messages.json +++ b/src/drivers/webextension/_locales/zh_CN/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "清除检测缓存" }, "nothingToDo": { "message": "这里无事可做。" }, "noAppsDetected": { "message": "未检测到任何技术。" }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "总是显示图标" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/_locales/zh_TW/messages.json b/src/drivers/webextension/_locales/zh_TW/messages.json index 5d29f076e..cda10ea33 100644 --- a/src/drivers/webextension/_locales/zh_TW/messages.json +++ b/src/drivers/webextension/_locales/zh_TW/messages.json @@ -17,6 +17,7 @@ "clearCache": { "message": "Clear cached detections" }, "nothingToDo": { "message": "這裡什麼也沒有。" }, "noAppsDetected": { "message": "未識別到技術。" }, + "playGame": { "message": "Play a game?" }, "categoryPin": { "message": "永遠顯示圖示" }, "termsAccept": { "message": "I'm ok with that" }, "termsDecline": { "message": "Disable" }, diff --git a/src/drivers/webextension/css/styles.css b/src/drivers/webextension/css/styles.css index 52cdd97f5..a7df2bba8 100644 --- a/src/drivers/webextension/css/styles.css +++ b/src/drivers/webextension/css/styles.css @@ -544,10 +544,11 @@ small { .empty { height: calc(100% - 4.5rem); text-align: center; - margin: 2.5rem 0 3.5rem 0; + margin: 2.5rem 0; } .empty__text { + font-size: 1rem; margin-bottom: 1.5rem; } @@ -555,6 +556,14 @@ small { display: none; } +.empty__play-game { + color: var(--color-text-lighten); +} + +.empty__play-game--hidden { + display: none; +} + .category { page-break-inside: avoid; break-inside: avoid-column; @@ -794,6 +803,10 @@ body.dynamic-icon .category__heading:hover .category__pin { width: 13rem; } +.ttt-game--hidden { + display: none; +} + .ttt-player-icon { color: var(--color-primary); width: 1.2rem; diff --git a/src/drivers/webextension/html/popup.html b/src/drivers/webextension/html/popup.html index 5571fe4e0..b64fc4738 100644 --- a/src/drivers/webextension/html/popup.html +++ b/src/drivers/webextension/html/popup.html @@ -69,7 +69,9 @@
 
-
+   + +
diff --git a/src/drivers/webextension/images/icons/Rotic.svg b/src/drivers/webextension/images/icons/Rotic.svg index 1f4562184..ab9ae67d9 100644 --- a/src/drivers/webextension/images/icons/Rotic.svg +++ b/src/drivers/webextension/images/icons/Rotic.svg @@ -1,13 +1,25 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js index 32f3781e4..3b5882298 100644 --- a/src/drivers/webextension/js/driver.js +++ b/src/drivers/webextension/js/driver.js @@ -12,7 +12,7 @@ const { } = Wappalyzer const { agent, promisify, getOption, setOption, open, globEscape } = Utils -const expiry = 1000 * 60 * 60 * 12 +const expiry = 1000 * 60 * 60 * 48 const maxHostnames = 100 diff --git a/src/drivers/webextension/js/js.js b/src/drivers/webextension/js/js.js index 74bc74b15..f5db2b5a5 100644 --- a/src/drivers/webextension/js/js.js +++ b/src/drivers/webextension/js/js.js @@ -9,8 +9,6 @@ const { technologies } = data.wappalyzer - removeEventListener('message', onMessage) - postMessage({ wappalyzer: { js: technologies.reduce((technologies, { name, chains }) => { @@ -46,7 +44,7 @@ }) } - addEventListener('message', onMessage) + addEventListener('message', onMessage, { once: true }) } catch (e) { // Fail quietly } diff --git a/src/drivers/webextension/js/popup.js b/src/drivers/webextension/js/popup.js index 138b3307e..6c4ed2781 100644 --- a/src/drivers/webextension/js/popup.js +++ b/src/drivers/webextension/js/popup.js @@ -245,7 +245,8 @@ const Popup = { body: document.body, terms: document.querySelector('.terms'), detections: document.querySelector('.detections'), - empty: document.querySelector('.empty'), + playGame: document.querySelector('.empty__play-game'), + game: document.querySelector('.ttt-game'), footer: document.querySelector('.footer'), tabPlus: document.querySelector('.tab--plus'), termsButtonAccept: document.querySelector('.terms__button--accept'), @@ -480,7 +481,7 @@ const Popup = { await setOption('collapseFooter', !collapsed) }) - Array.from(document.querySelectorAll('a')).forEach((a) => + Array.from(document.querySelectorAll('a[href^="http"]')).forEach((a) => { a.addEventListener('click', (event) => { event.preventDefault() event.stopImmediatePropagation() @@ -491,7 +492,16 @@ const Popup = { return false }) - ) + }) + + // Game + el.playGame.addEventListener('click', (event) => { + event.preventDefault() + event.stopImmediatePropagation() + + el.playGame.classList.add('empty__play-game--hidden') + el.game.classList.remove('ttt-game--hidden') + }) // Apply internationalization i18n() @@ -543,6 +553,8 @@ const Popup = { const el = { empty: document.querySelector('.empty'), + playGame: document.querySelector('.empty__play-game'), + game: document.querySelector('.ttt-game'), detections: document.querySelector('.detections'), issue: document.querySelector('.issue'), plusDownload: document.querySelector('.plus-download'), @@ -554,6 +566,8 @@ const Popup = { if (!detections || !detections.length) { el.empty.classList.remove('empty--hidden') + el.playGame.classList.remove('empty__play-game--hidden') + el.game.classList.add('ttt-game--hidden') el.detections.classList.add('detections--hidden') el.issue.classList.add('issue--hidden') el.plusDownload.classList.add('plus-download--hidden') diff --git a/src/technologies/m.json b/src/technologies/m.json index 56a20e0c8..b71023be3 100644 --- a/src/technologies/m.json +++ b/src/technologies/m.json @@ -153,9 +153,7 @@ "description": "MRW is a Spanish courier company specialised in express national and international shipping services.", "icon": "MRW.png", "requiresCategory": 6, - "text": [ - "\\bMRW\\b" - ], + "text": "\\bMRW\\b", "website": "https://www.mrw.es" }, "MSHOP": { @@ -302,7 +300,9 @@ "Mage": "", "VarienForm": "" }, - "magento": "Magento/([0-9.]+)\\;version:\\1", + "probe": { + "/magento_version": "Magento/([0-9.]+)\\;version:\\1" + }, "oss": true, "scriptSrc": [ "js/mage", @@ -2283,9 +2283,7 @@ "description": "Mondial Relay is a parcel shipping and delivery service in Europe.", "icon": "Mondial Relay.svg", "requiresCategory": 6, - "text": [ - "\\bMondial Relay\\b" - ], + "text": "\\bMondial Relay\\b", "website": "https://www.mondialrelay.com" }, "Mondo Media": { @@ -2643,9 +2641,7 @@ "description": "My Flying Box is an international parcel shipping company.", "icon": "My Flying Box.svg", "requiresCategory": 6, - "text": [ - "\\bMy Flying Box\\b" - ], + "text": "\\bMy Flying Box\\b", "website": "https://www.myflyingbox.com/" }, "My Food Link": { diff --git a/src/technologies/r.json b/src/technologies/r.json index a9dfa39a3..d85edc71e 100644 --- a/src/technologies/r.json +++ b/src/technologies/r.json @@ -1947,7 +1947,7 @@ "recurring" ], "saas": true, - "website": "https://rotic.ir" + "website": "https://rotic.io" }, "RoundCube": { "cats": [ diff --git a/src/wappalyzer.js b/src/wappalyzer.js index 38541fd26..68350b086 100644 --- a/src/wappalyzer.js +++ b/src/wappalyzer.js @@ -192,6 +192,10 @@ const Wappalyzer = { if (matches) { matches.forEach((match, index) => { + if (String(match).length > 10) { + return + } + // Parse ternary operator const ternary = new RegExp(`\\\\${index}\\?([^:]+):(.*)$`).exec( version @@ -301,7 +305,6 @@ const Wappalyzer = { scripts: oo, css: oo, robots: oo, - magento: oo, certIssuer: oo, scriptSrc: om, cookies: mm, @@ -350,7 +353,6 @@ const Wappalyzer = { scripts, css, robots, - magento, meta, headers, dns, @@ -397,7 +399,6 @@ const Wappalyzer = { css: transform(css), certIssuer: transform(certIssuer), robots: transform(robots), - magento: transform(magento), meta: transform(meta), scriptSrc: transform(scriptSrc), js: transform(js, true),