main
Elbert Alias 1 year ago
parent fa2c5556bc
commit 5cbc5ac543

@ -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": [

@ -1155,7 +1155,6 @@ class Site {
async probe(url) {
const files = {
robots: '/robots.txt',
magento: '/magento_version',
}
// DNS

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -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." },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -17,6 +17,7 @@
"clearCache": { "message": "キャッシュされた検出値のクリア" },
"nothingToDo": { "message": "ここでは特定出来ません。" },
"noAppsDetected": { "message": "技術は検出されませんでした。" },
"playGame": { "message": "Play a game?" },
"categoryPin": { "message": "常にアイコンを表示" },
"termsAccept": { "message": "OK" },
"termsDecline": { "message": "無効にする" },

@ -17,6 +17,7 @@
"clearCache": { "message": "캐시된 식별 정보 지우기" },
"nothingToDo": { "message": "여기에는 할 일이 없네요." },
"noAppsDetected": { "message": "식별된 기술이 없습니다." },
"playGame": { "message": "Play a game?" },
"categoryPin": { "message": "항상 아이콘 보이기" },
"termsAccept": { "message": "동의합니다" },
"termsDecline": { "message": "비활성화" },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -17,6 +17,7 @@
"clearCache": { "message": "Очистить кешированные результаты" },
"nothingToDo": { "message": "Здесь нечего делать" },
"noAppsDetected": { "message": "Не удалось определить ни одну технологию" },
"playGame": { "message": "Play a game?" },
"categoryPin": { "message": "Всегда отображать эту категорию иконкой"},
"termsAccept": { "message": "Я принимаю условия" },
"termsDecline": { "message": "Отключить" },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -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" },

@ -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;

@ -69,7 +69,9 @@
<div class="empty empty--hidden">
<div class="empty__text" data-i18n="noAppsDetected">&nbsp;</div>
<div class="ttt-game">
<a class="empty__play-game" href="#" data-i18n="playGame">&nbsp;</a>
<div class="ttt-game ttt-game--hidden">
<div class="ttt-player">
<svg class="ttt-player-icon ttt-player-icon-x ttt-player-icon--ahead" viewBox="0 0 24 24">
<path fill="currentColor" d="M19,10C19,11.38 16.88,12.5 15.5,12.5C14.12,12.5 12.75,11.38 12.75,10H11.25C11.25,11.38 9.88,12.5 8.5,12.5C7.12,12.5 5,11.38 5,10H4.25C4.09,10.64 4,11.31 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,11.31 19.91,10.64 19.75,10H19M12,4C9.04,4 6.45,5.61 5.07,8H18.93C17.55,5.61 14.96,4 12,4M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z" />

@ -1,13 +1,25 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M32 0H0V32H32V0Z" fill="url(#paint0_linear_0_20)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.03213 12.2175L16.0425 8L23.9954 12.2262L24 15.9848L16.0684 11.4786L8 15.9997L8.03213 12.2175Z" fill="#FEFEFE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.00256 17.5812L15.9824 13.1003L23.9847 17.777L23.9835 19.9903L22.7105 20.6665L15.9643 16.9099L9.22469 20.6952L8.00581 20.0086L8.00256 17.5812Z" fill="#FEFEFE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.7606 22.1398L15.9824 19.1187L21.2467 22.1398L18.0584 23.9999L15.9864 22.809L13.9735 23.9065L10.7606 22.1398Z" fill="#4A4A4A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.7606 21.5821L15.9824 18.561L21.2467 21.5821L18.0584 23.4423L15.9864 22.2514L13.9735 23.3489L10.7606 21.5821Z" fill="#FEFEFE"/>
<defs>
<linearGradient id="paint0_linear_0_20" x1="8.73718" y1="1.74336" x2="23.2628" y2="30.2566" gradientUnits="userSpaceOnUse">
<stop stop-color="#5FC5C4"/>
<stop offset="1" stop-color="#4CC7EC"/>
</linearGradient>
</defs>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW 2020 (64-Bit) -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="32px" height="32px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 32 32"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
<defs>
<style type="text/css">
<![CDATA[
.fil1 {fill:#FEFEFE}
.fil2 {fill:#4A4A4A}
.fil0 {fill:#009EDB}
]]>
</style>
</defs>
<g id="Layer_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<rect class="fil0" width="32" height="32" rx="4" ry="4"/>
<polygon class="fil1" points="8.214,12.61 16.055,8.456 23.84,12.619 23.844,16.32 16.08,11.882 8.183,16.335 "/>
<polygon class="fil1" points="8.185,17.893 15.996,13.479 23.829,18.085 23.828,20.265 22.582,20.931 15.978,17.232 9.381,20.96 8.188,20.283 "/>
<polygon class="fil2" points="10.885,22.382 15.996,19.407 21.149,22.382 18.028,24.214 16,23.042 14.03,24.122 "/>
<polygon class="fil1" points="10.885,21.833 15.996,18.858 21.149,21.833 18.028,23.665 16,22.492 14.03,23.573 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -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

@ -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
}

@ -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')

@ -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": {

@ -1947,7 +1947,7 @@
"recurring"
],
"saas": true,
"website": "https://rotic.ir"
"website": "https://rotic.io"
},
"RoundCube": {
"cats": [

@ -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),

Loading…
Cancel
Save