diff --git a/README.md b/README.md index 6204affb3..240b4d20f 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,9 @@ Patterns (regular expressions) are kept in [`src/technologies/`](https://github. "meta": { "generator": "(?:Example|Another Example)" }, + "probe": { + "/path": "" + }, "scriptSrc": "example-([0-9.]+)\\.js\\;confidence:50\\;version:\\1", "scripts": "function webpackJsonpCallback\\(data\\) {", "url": "example\\.com", @@ -367,6 +370,14 @@ Plus any of: "\\.example-class" + + probe + Object + + Request a URL to test for its existence or match text content (NPM driver only). + + { "/path": "Example text" } + robots String | Array 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/categories.json b/src/categories.json index f9f3eaa27..a5d7ab64e 100644 --- a/src/categories.json +++ b/src/categories.json @@ -744,6 +744,20 @@ "priority": 6 }, "108": { + "groups": [ + 1 + ], + "name": "Ecommerce frontends", + "priority": 6 + }, + "109": { + "groups": [ + 6 + ], + "name": "Domain parking", + "priority": 9 + }, + "110": { "groups": [ 1 ], diff --git a/src/drivers/npm/README.md b/src/drivers/npm/README.md index d73ec227a..5f4181513 100644 --- a/src/drivers/npm/README.md +++ b/src/drivers/npm/README.md @@ -21,22 +21,27 @@ wappalyzer [options] #### Options ``` --b, --batch-size=... Process links in batches --d, --debug Output debug messages --t, --delay=ms Wait for ms milliseconds between requests --h, --help This text ---html-max-cols=... Limit the number of HTML characters per line processed ---html-max-rows=... Limit the number of HTML lines processed --D, --max-depth=... Don't analyse pages more than num levels deep --m, --max-urls=... Exit when num URLs have been analysed --w, --max-wait=... Wait no more than ms milliseconds for page resources to load --P, --pretty Pretty-print JSON output --p, --probe Perform a deeper scan by performing additional requests and inspecting DNS records ---proxy=... Proxy URL, e.g. 'http://user:pass@proxy:8080' --r, --recursive Follow links on pages (crawler) --a, --user-agent=... Set the user agent string --n, --no-scripts Disabled JavaScript on web pages --N, --no-redirect Disable cross-domain redirects +-b, --batch-size=... Process links in batches +-d, --debug Output debug messages +-t, --delay=ms Wait for ms milliseconds between requests +-h, --help This text +-H, --header Extra header to send with requests +--html-max-cols=... Limit the number of HTML characters per line processed +--html-max-rows=... Limit the number of HTML lines processed +-D, --max-depth=... Don't analyse pages more than num levels deep +-m, --max-urls=... Exit when num URLs have been analysed +-w, --max-wait=... Wait no more than ms milliseconds for page resources to load +-p, --probe=[basic|full] Perform a deeper scan by performing additional requests and inspecting DNS records +-P, --pretty Pretty-print JSON output +--proxy=... Proxy URL, e.g. 'http://user:pass@proxy:8080' +-r, --recursive Follow links on pages (crawler) +-a, --user-agent=... Set the user agent string +-n, --no-scripts Disabled JavaScript on web pages +-N, --no-redirect Disable cross-domain redirects +-e, --extended Output additional information +--local-storage=... JSON object to use as local storage +--session-storage=... JSON object to use as session storage + ``` @@ -51,9 +56,9 @@ $ npm i wappalyzer ### Usage ```javascript -const Wappalyzer = require('wappalyzer'); +const Wappalyzer = require('wappalyzer') -const url = 'https://www.wappalyzer.com'; +const url = 'https://www.wappalyzer.com' const options = { debug: false, @@ -81,7 +86,13 @@ const wappalyzer = new Wappalyzer(options) // Optionally set additional request headers const headers = {} - const site = await wappalyzer.open(url, headers) + // Optionally set local and/or session storage + const storage = { + local: {} + session: {} + } + + const site = await wappalyzer.open(url, headers, storage) // Optionally capture and output errors site.on('error', console.error) diff --git a/src/drivers/npm/cli.js b/src/drivers/npm/cli.js index e3b243f57..357fbf975 100755 --- a/src/drivers/npm/cli.js +++ b/src/drivers/npm/cli.js @@ -72,28 +72,43 @@ Examples: docker wappalyzer/cli https://www.example.com --pretty Options: - -b, --batch-size=... Process links in batches - -d, --debug Output debug messages - -t, --delay=ms Wait for ms milliseconds between requests - -h, --help This text - -H, --header Extra header to send with requests - --html-max-cols=... Limit the number of HTML characters per line processed - --html-max-rows=... Limit the number of HTML lines processed - -D, --max-depth=... Don't analyse pages more than num levels deep - -m, --max-urls=... Exit when num URLs have been analysed - -w, --max-wait=... Wait no more than ms milliseconds for page resources to load - -p, --probe Perform a deeper scan by performing additional requests and inspecting DNS records - -P, --pretty Pretty-print JSON output - --proxy=... Proxy URL, e.g. 'http://user:pass@proxy:8080' - -r, --recursive Follow links on pages (crawler) - -a, --user-agent=... Set the user agent string - -n, --no-scripts Disabled JavaScript on web pages - -N, --no-redirect Disable cross-domain redirects - -e, --extended Output additional information + -b, --batch-size=... Process links in batches + -d, --debug Output debug messages + -t, --delay=ms Wait for ms milliseconds between requests + -h, --help This text + -H, --header Extra header to send with requests + --html-max-cols=... Limit the number of HTML characters per line processed + --html-max-rows=... Limit the number of HTML lines processed + -D, --max-depth=... Don't analyse pages more than num levels deep + -m, --max-urls=... Exit when num URLs have been analysed + -w, --max-wait=... Wait no more than ms milliseconds for page resources to load + -p, --probe=[basic|full] Perform a deeper scan by performing additional requests and inspecting DNS records + -P, --pretty Pretty-print JSON output + --proxy=... Proxy URL, e.g. 'http://user:pass@proxy:8080' + -r, --recursive Follow links on pages (crawler) + -a, --user-agent=... Set the user agent string + -n, --no-scripts Disabled JavaScript on web pages + -N, --no-redirect Disable cross-domain redirects + -e, --extended Output additional information + --local-storage=... JSON object to use as local storage + --session-storage=... JSON object to use as session storage `) process.exit(options.help ? 0 : 1) } +try { + const { hostname } = new URL(url) + + if (!hostname) { + throw new Error('Invalid URL') + } +} catch (error) { + // eslint-disable-next-line no-console + console.log(error.message || error.toString()) + + process.exit(1) +} + const headers = {} if (options.header) { @@ -106,13 +121,38 @@ if (options.header) { ) } +const storage = { + local: {}, + session: {}, +} + +for (const type of Object.keys(storage)) { + if (options[`${type}Storage`]) { + try { + storage[type] = JSON.parse(options[`${type}Storage`]) + + if ( + !options[`${type}Storage`] || + !Object.keys(options[`${type}Storage`]).length + ) { + throw new Error('Object has no properties') + } + } catch (error) { + // eslint-disable-next-line no-console + console.log(`${type}Storage error: ${error.message || error}`) + + process.exit(1) + } + } +} + ;(async function () { const wappalyzer = new Wappalyzer(options) try { await wappalyzer.init() - const site = await wappalyzer.open(url, headers) + const site = await wappalyzer.open(url, headers, storage) const results = await site.analyze() @@ -124,10 +164,23 @@ if (options.header) { process.exit(0) } catch (error) { - // eslint-disable-next-line no-console - console.error(error) + try { + await Promise.race([ + wappalyzer.destroy(), + new Promise((resolve, reject) => + setTimeout( + () => reject(new Error('Attempt to close the browser timed out')), + 3000 + ) + ), + ]) + } catch (error) { + // eslint-disable-next-line no-console + console.error(error.message || String(error)) + } - await wappalyzer.destroy() + // eslint-disable-next-line no-console + console.error(error.message || String(error)) process.exit(1) } diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js index 6a2653e39..f51d288df 100644 --- a/src/drivers/npm/driver.js +++ b/src/drivers/npm/driver.js @@ -131,7 +131,20 @@ function getDom(page, technologies = Wappalyzer.technologies) { dom[selector].forEach(({ exists, text, properties, attributes }) => { nodes.forEach((node) => { - if (exists) { + if ( + technologies.filter(({ name: _name }) => _name === name) + .length >= 50 + ) { + return + } + + if ( + exists && + technologies.findIndex( + ({ name: _name, selector: _selector, exists }) => + name === _name && selector === _selector && exists === '' + ) === -1 + ) { technologies.push({ name, selector, @@ -140,9 +153,18 @@ function getDom(page, technologies = Wappalyzer.technologies) { } if (text) { - const value = node.textContent.trim() - - if (value) { + // eslint-disable-next-line unicorn/prefer-text-content + const value = ( + node.textContent ? node.textContent.trim() : '' + ).slice(0, 1000000) + + if ( + value && + technologies.findIndex( + ({ name: _name, selector: _selector, text }) => + name === _name && selector === _selector && text === value + ) === -1 + ) { technologies.push({ name, selector, @@ -153,7 +175,21 @@ function getDom(page, technologies = Wappalyzer.technologies) { if (properties) { Object.keys(properties).forEach((property) => { - if (Object.prototype.hasOwnProperty.call(node, property)) { + if ( + Object.prototype.hasOwnProperty.call(node, property) && + technologies.findIndex( + ({ + name: _name, + selector: _selector, + property: _property, + value, + }) => + name === _name && + selector === _selector && + property === _property && + value === toScalar(value) + ) === -1 + ) { const value = node[property] if (typeof value !== 'undefined') { @@ -170,7 +206,21 @@ function getDom(page, technologies = Wappalyzer.technologies) { if (attributes) { Object.keys(attributes).forEach((attribute) => { - if (node.hasAttribute(attribute)) { + if ( + node.hasAttribute(attribute) && + technologies.findIndex( + ({ + name: _name, + selector: _selector, + attribute: _atrribute, + value, + }) => + name === _name && + selector === _selector && + attribute === _atrribute && + value === toScalar(value) + ) === -1 + ) { const value = node.getAttribute(attribute) technologies.push({ @@ -239,7 +289,7 @@ function get(url, options = {}) { }, }, (response) => { - if (response.statusCode >= 400) { + if (response.statusCode >= 300) { return reject( new Error(`${response.statusCode} ${response.statusMessage}`) ) @@ -287,7 +337,12 @@ class Driver { this.options.debug = Boolean(+this.options.debug) this.options.recursive = Boolean(+this.options.recursive) - this.options.probe = Boolean(+this.options.probe) + this.options.probe = + String(this.options.probe || '').toLowerCase() === 'basic' + ? 'basic' + : String(this.options.probe || '').toLowerCase() === 'full' + ? 'full' + : Boolean(+this.options.probe) && 'full' this.options.delay = parseInt(this.options.delay, 10) this.options.maxDepth = parseInt(this.options.maxDepth, 10) this.options.maxUrls = parseInt(this.options.maxUrls, 10) @@ -355,8 +410,42 @@ class Driver { } } - open(url, headers = {}) { - return new Site(url.split('#')[0], headers, this) + async open(url, headers = {}, storage = {}) { + const site = new Site(url.split('#')[0], headers, this) + + if (storage.local || storage.session) { + this.log('Setting storage...') + + const page = await site.newPage(site.originalUrl) + + await page.setRequestInterception(true) + + page.on('request', (request) => + request.respond({ + status: 200, + contentType: 'text/plain', + body: 'ok', + }) + ) + + await page.goto(url) + + await page.evaluate((storage) => { + ;['local', 'session'].forEach((type) => { + Object.keys(storage[type] || {}).forEach((key) => { + window[`${type}Storage`].setItem(key, storage[type][key]) + }) + }) + }, storage) + + try { + await page.close() + } catch { + // Continue + } + } + + return site } log(message, source = 'driver') { @@ -487,50 +576,10 @@ class Site { status: 0, } - if (!this.browser) { - await this.initDriver() - - if (!this.browser) { - throw new Error('Browser closed') - } - } - - let page - - try { - page = await this.browser.newPage() - - if (!page || page.isClosed()) { - throw new Error('Page did not open') - } - } catch (error) { - error.message += ` (${url})` - - this.error(error) - - await this.initDriver() - - page = await this.browser.newPage() - } - - this.pages.push(page) - - page.setJavaScriptEnabled(!this.options.noScripts) - - page.setDefaultTimeout(this.options.maxWait) + const page = await this.newPage(url) await page.setRequestInterception(true) - await page.setUserAgent(this.options.userAgent) - - page.on('dialog', (dialog) => dialog.dismiss()) - - page.on('error', (error) => { - error.message += ` (${url})` - - this.error(error) - }) - let responseReceived = false page.on('request', async (request) => { @@ -693,6 +742,15 @@ class Site { }), {} ) + + // Change Google Analytics 4 cookie from _ga_XXXXXXXXXX to _ga_* + Object.keys(cookies).forEach((name) => { + if (/_ga_[A-Z0-9]+/.test(name)) { + cookies['_ga_*'] = cookies[name] + + delete cookies[name] + } + }) } catch (error) { error.message += ` (${url})` @@ -980,6 +1038,52 @@ class Site { } } + async newPage(url) { + if (!this.browser) { + await this.initDriver() + + if (!this.browser) { + throw new Error('Browser closed') + } + } + + let page + + try { + page = await this.browser.newPage() + + if (!page || page.isClosed()) { + throw new Error('Page did not open') + } + } catch (error) { + error.message += ` (${url})` + + this.error(error) + + await this.initDriver() + + page = await this.browser.newPage() + } + + this.pages.push(page) + + page.setJavaScriptEnabled(!this.options.noScripts) + + page.setDefaultTimeout(this.options.maxWait) + + await page.setUserAgent(this.options.userAgent) + + page.on('dialog', (dialog) => dialog.dismiss()) + + page.on('error', (error) => { + error.message += ` (${url})` + + this.error(error) + }) + + return page + } + async analyze(url = this.originalUrl, index = 1, depth = 1) { if (this.options.recursive) { await sleep(this.options.delay * index) @@ -1067,6 +1171,7 @@ class Site { website, cpe, categories, + rootPath, }) => ({ slug, name, @@ -1081,6 +1186,7 @@ class Site { slug, name, })), + rootPath, }) ), patterns, @@ -1092,9 +1198,25 @@ class Site { } async probe(url) { - const files = { - robots: '/robots.txt', - magento: '/magento_version', + const paths = [ + { + type: 'robots', + path: '/robots.txt', + }, + ] + + if (this.options.probe === 'full') { + Wappalyzer.technologies + .filter(({ probe }) => Object.keys(probe).length) + .forEach((technology) => { + paths.push( + ...Object.keys(technology.probe).map((path) => ({ + type: 'probe', + path, + technology, + })) + ) + }) } // DNS @@ -1120,9 +1242,7 @@ class Site { await Promise.allSettled([ // Static files - ...Object.keys(files).map(async (file, index) => { - const path = files[file] - + ...paths.map(async ({ type, path, technology }, index) => { try { await sleep(this.options.delay * index) @@ -1133,7 +1253,17 @@ class Site { this.log(`Probe ok (${path})`) - await this.onDetect(url, analyze({ [file]: body.slice(0, 100000) })) + const text = body.slice(0, 100000) + + await this.onDetect( + url, + analyze( + { + [type]: path ? { [path]: [text] } : text, + }, + technology && [technology] + ) + ) } catch (error) { this.error(`Probe failed (${path}): ${error.message || error}`) } @@ -1196,14 +1326,32 @@ class Site { this.detections = this.detections .concat(detections) .filter( - ({ technology: { name }, pattern: { regex } }, index, detections) => + ( + { technology: { name }, pattern: { regex }, version }, + index, + detections + ) => detections.findIndex( - ({ technology: { name: _name }, pattern: { regex: _regex } }) => + ({ + technology: { name: _name }, + pattern: { regex: _regex }, + version: _version, + }) => name === _name && + version === _version && (!regex || regex.toString() === _regex.toString()) ) === index ) + // Track if technology was identified on website's root path + detections.forEach(({ technology: { name } }) => { + const detection = this.detections.find( + ({ technology: { name: _name } }) => name === _name + ) + + detection.rootPath = detection.rootPath || url.pathname === '/' + }) + if (this.cache[url.href]) { const resolved = resolve(this.detections) diff --git a/src/drivers/npm/package.json b/src/drivers/npm/package.json index 220d1300e..dee09ea96 100644 --- a/src/drivers/npm/package.json +++ b/src/drivers/npm/package.json @@ -13,7 +13,7 @@ "software" ], "homepage": "https://www.wappalyzer.com/", - "version": "6.10.44", + "version": "6.10.53", "author": "Wappalyzer", "license": "MIT", "repository": { @@ -43,4 +43,4 @@ "engines": { "node": ">=16" } -} +} \ No newline at end of file diff --git a/src/drivers/webextension/_locales/ca/messages.json b/src/drivers/webextension/_locales/ca/messages.json index dde197615..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/de/messages.json b/src/drivers/webextension/_locales/de/messages.json index 15573f1c1..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/el/messages.json b/src/drivers/webextension/_locales/el/messages.json index 3bd1c2597..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" }, @@ -199,5 +200,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/en/messages.json b/src/drivers/webextension/_locales/en/messages.json index dc4f6e94a..0deb4c40c 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" }, @@ -204,5 +205,7 @@ "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, "categoryName107": { "message": "Fulfilment" }, - "categoryName108": { "message": "Form builder" } + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } + "categoryName110": { "message": "Form builder" } } diff --git a/src/drivers/webextension/_locales/es/messages.json b/src/drivers/webextension/_locales/es/messages.json index 71351b2e7..3ea15a8f1 100644 --- a/src/drivers/webextension/_locales/es/messages.json +++ b/src/drivers/webextension/_locales/es/messages.json @@ -6,59 +6,60 @@ "optionsSave": { "message": "Guardar opciones" }, "optionsSaved": { "message": "Guardado" }, "optionUpgradeMessage": { "message": "Indicarme actualizaciones" }, - "optionDynamicIcon": { "message": "Use application icon instead of Wappalyzer logo" }, + "optionDynamicIcon": { "message": "Usa el icono de la aplicación en lugar del logo de Wappalyzer" }, "optionTracking": { "message": "Enviar informes anónimos sobre las aplicaciones detectadas a wappalyzer.com para análisis" }, "optionThemeMode": { "message": "Habilitar la compatibilidad del modo oscuro." }, - "optionBadge": { "message": "Show the number of identified technologies on the icon" }, - "optionShowCached": { "message": "Include cached detections in results" }, + "optionBadge": { "message": "Mostrar la cantidad de tecnologías identificadas en el icono" }, + "optionShowCached": { "message": "Incluir detecciones cacheadas en los resultados" }, "optionApiKey": { "message": "API key" }, - "optionApiKeyDescription": { "message": "get your API key" }, - "disableOnDomain": { "message": "Disable on this website" }, - "clearCache": { "message": "Clear cached detections" }, + "optionApiKeyDescription": { "message": "obtiene tu API key" }, + "disableOnDomain": { "message": "Deshabilitar para este sitio" }, + "clearCache": { "message": "Limpiar detecciones cacheadas" }, "nothingToDo": { "message": "Nada que hacer aquí." }, "noAppsDetected": { "message": "Aplicaciones no detectadas." }, - "categoryPin": { "message": "Always show icon" }, - "termsAccept": { "message": "I'm ok with that" }, - "termsDecline": { "message": "Disable" }, - "termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to wappalyzer.com. This can be disabled in the settings." }, - "privacyPolicy": { "message": "Privacy policy" }, - "createAlert": { "message": "Create an alert for this website" }, + "playGame": { "message": "Play a game?" }, + "categoryPin": { "message": "Siempre mostrar icono" }, + "termsAccept": { "message": "Estoy bien con eso" }, + "termsDecline": { "message": "Deshabilitar" }, + "termsContent": { "message": "Esta extensión envía informacion anónima sobre los sitios que visitas, inluyendo el nombre de dominio y las tecnologías identificadas, a wappalyzer.com. Esto puede deshabilitarse en las opciones." }, + "privacyPolicy": { "message": "Política de privacidad" }, + "createAlert": { "message": "Crear una alerta para este sitio" }, "leadLists": { "message": "Lead generation tools" }, - "tabTechnologies": { "message": "Technologies" }, - "tabPlus": { "message": "More info" }, - "creditBalance": { "message": "Credits:" }, - "plusMessageHeading": { "message": "Get Plus for $$9/mo" }, - "plusMessage": { "message": "With Plus, company and contact details of websites you visit are shown here." }, - "plusButton": { "message": "Sign up" }, - "plusEmpty": { "message": "No results found." }, - "plusCrawl": { "message": "No results found, please check back later." }, - "formSave": { "message": "Save" }, - "issue": { "message": "Something wrong or missing?" }, + "tabTechnologies": { "message": "Tecnologías" }, + "tabPlus": { "message": "Más información" }, + "creditBalance": { "message": "Créditos:" }, + "plusMessageHeading": { "message": "Obtiene Plus por $$9/mo" }, + "plusMessage": { "message": "Con Plus, los datos de contacto de los sitios que visitas se muestran aquí." }, + "plusButton": { "message": "Regístrate" }, + "plusEmpty": { "message": "No se encontraron resultados." }, + "plusCrawl": { "message": "No se encontraron resultados, intente más tarde." }, + "formSave": { "message": "Guardar" }, + "issue": { "message": "¿Algo funciona mal o falta?" }, - "setCompany": { "message": "Company information" }, - "setKeywords": { "message": "Keywords" }, - "setEmail": { "message": "Email addresses" }, - "setPhone": { "message": "Phone numbers" }, - "setAddress": { "message": "Addresses" }, - "setContact": { "message": "Contact details" }, - "setSocial": { "message": "Social media accounts" }, + "setCompany": { "message": "Información de la empresa" }, + "setKeywords": { "message": "Palabras clave" }, + "setEmail": { "message": "Direcciones de correo electrónico" }, + "setPhone": { "message": "Números de teléfono" }, + "setAddress": { "message": "Direcciones" }, + "setContact": { "message": "Datos de contacto" }, + "setSocial": { "message": "Cuentas de redes sociales" }, "setMeta": { "message": "Metadata" }, "setLocale": { "message": "Locale" }, "setTrackers": { "message": "Trackers" }, - "setSecurity": { "message": "Security" }, + "setSecurity": { "message": "Seguridad" }, "setSignals": { "message": "Signals" }, "attributeTechnologySpend": { "message": "Technology spend" }, - "attributeIpCountry": { "message": "IP country" }, - "attributeIpRegion": { "message": "IP region" }, - "attributeLanguage": { "message": "Language" }, - "attributeEmail": { "message": "Email address" }, - "attributeVerifiedEmail": { "message": "Email address (verified)" }, - "attributeSafeEmail": { "message": "Email address (safe)" }, - "attributePhone": { "message": "Phone number" }, + "attributeIpCountry": { "message": "IP país" }, + "attributeIpRegion": { "message": "IP región" }, + "attributeLanguage": { "message": "Lenguaje" }, + "attributeEmail": { "message": "Dirección de correo" }, + "attributeVerifiedEmail": { "message": "Dirección de correo (verificada)" }, + "attributeSafeEmail": { "message": "Dirección de correo (segura)" }, + "attributePhone": { "message": "Número telefónico" }, "attributeSkype": { "message": "Skype" }, "attributeWhatsapp": { "message": "WhatsApp" }, - "attributeInferredCompanyName": { "message": "Inferred company name" }, + "attributeInferredCompanyName": { "message": "Nombre de empresa inferido" }, "attributeTwitter": { "message": "Twitter" }, "attributeFacebook": { "message": "Facebook" }, "attributeInstagram": { "message": "Instagram" }, @@ -86,15 +87,15 @@ "attributeTrackerMedianet": { "message": "Medianet" }, "attributeTrackerFacebook": { "message": "Facebook" }, "attributeTrackerOptimizely": { "message": "Optimizely" }, - "attributeCompanyName": { "message": "Company name" }, - "attributeIndustry": { "message": "Industry" }, - "attributeAbout": { "message": "About" }, - "attributeLocations": { "message": "Locations" }, - "attributeCompanySize": { "message": "Company size" }, - "attributeCompanyType": { "message": "Company type" }, - "attributeCompanyFounded": { "message": "Company founded" }, - "attributeKeywords": { "message": "Keywords" }, - "attributeEmployees": { "message": "People" }, + "attributeCompanyName": { "message": "Nombre de la empresa" }, + "attributeIndustry": { "message": "Industria" }, + "attributeAbout": { "message": "Acerca de" }, + "attributeLocations": { "message": "Ubicaciones" }, + "attributeCompanySize": { "message": "Tamaño de la empresa" }, + "attributeCompanyType": { "message": "Tipo de empresa" }, + "attributeCompanyFounded": { "message": "Empresa fundada" }, + "attributeKeywords": { "message": "Palabras clave" }, + "attributeEmployees": { "message": "Personas" }, "attributeDns_spf": { "message": "SPF record" }, "attributeDns_dmarc": { "message": "DMARC record" }, "attributeSchemaOrgTypes": { "message": "schema.org types" }, @@ -114,7 +115,7 @@ "categoryName13": { "message": "Gestor de Incidencias" }, "categoryName14": { "message": "Reproductor de Vídeo" }, "categoryName15": { "message": "Sistema de Comentarios" }, - "categoryName16": { "message": "Security" }, + "categoryName16": { "message": "Seguridad" }, "categoryName17": { "message": "Tipografía" }, "categoryName18": { "message": "Framework Web" }, "categoryName19": { "message": "Miscelánea" }, @@ -135,75 +136,77 @@ "categoryName34": { "message": "Base de Datos" }, "categoryName35": { "message": "Mapa" }, "categoryName36": { "message": "Red de Publicidad" }, - "categoryName37": { "message": "Network Service" }, - "categoryName38": { "message": "Media Server" }, - "categoryName39": { "message": "Webcam" }, + "categoryName37": { "message": "Servicio de red" }, + "categoryName38": { "message": "Servidor multimedia" }, + "categoryName39": { "message": "Cámara web" }, "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "Payment Processor" }, + "categoryName41": { "message": "Procesador de pagos" }, "categoryName42": { "message": "Tag Manager" }, "categoryName43": { "message": "Paywall" }, "categoryName44": { "message": "Build/CI System" }, "categoryName45": { "message": "SCADA System" }, - "categoryName46": { "message": "Remote Access" }, - "categoryName47": { "message": "Development Tool" }, - "categoryName48": { "message": "Network Storage" }, - "categoryName49": { "message": "Feed Readers" }, - "categoryName50": { "message": "Document Management Systems" }, + "categoryName46": { "message": "Acceso remoto" }, + "categoryName47": { "message": "Herramienta de desarrollo" }, + "categoryName48": { "message": "Almacenamiento de red" }, + "categoryName49": { "message": "Lectores de feed" }, + "categoryName50": { "message": "Sistema de gestión de documentos" }, "categoryName51": { "message": "Landing Page Builder" }, - "categoryName52": { "message": "Live Chat" }, + "categoryName52": { "message": "Chat en vivo" }, "categoryName53": { "message": "CRM" }, "categoryName54": { "message": "SEO" }, - "categoryName55": { "message": "Accounting" }, + "categoryName55": { "message": "Contabilidad" }, "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, + "categoryName57": { "message": "Generador de sitios estáticos" }, "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, - "categoryName60": { "message": "Containers" }, + "categoryName59": { "message": "Librerías JavaScript" }, + "categoryName60": { "message": "Contenedores" }, "categoryName61": { "message": "SaaS" }, "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, + "categoryName64": { "message": "Proxy reverso" }, + "categoryName65": { "message": "Balanceador de carga" }, "categoryName66": { "message": "UI Frameworks" }, "categoryName67": { "message": "Cookie compliance" }, - "categoryName68": { "message": "Accessibility" }, - "categoryName69": { "message": "Authentication" }, - "categoryName70": { "message": "SSL/TLS certificate authorities" }, - "categoryName71": { "message": "Affiliate programs" }, + "categoryName68": { "message": "Accesibilidad" }, + "categoryName69": { "message": "Autenticación" }, + "categoryName70": { "message": "Autoridades certificadoras SSL/TLS" }, + "categoryName71": { "message": "Marketing de afiliación" }, "categoryName72": { "message": "Appointment scheduling" }, - "categoryName73": { "message": "Surveys" }, + "categoryName73": { "message": "Encuestas" }, "categoryName74": { "message": "A/B testing" }, "categoryName75": { "message": "Email" }, - "categoryName76": { "message": "Personalisation" }, + "categoryName76": { "message": "Personalización" }, "categoryName77": { "message": "Retargeting" }, "categoryName78": { "message": "RUM" }, - "categoryName79": { "message": "Geolocation" }, - "categoryName80": { "message": "WordPress themes" }, - "categoryName81": { "message": "Shopify themes" }, - "categoryName82": { "message": "Drupal themes" }, + "categoryName79": { "message": "Geolocalización" }, + "categoryName80": { "message": "Temas de WordPress" }, + "categoryName81": { "message": "Temas de Shopify" }, + "categoryName82": { "message": "Temas de Drupal" }, "categoryName83": { "message": "Browser fingerprinting" }, "categoryName84": { "message": "Loyalty & rewards" }, "categoryName85": { "message": "Feature management" }, - "categoryName86": { "message": "Segmentation" }, + "categoryName86": { "message": "Segmentación" }, "categoryName87": { "message": "WordPress plugins" }, "categoryName88": { "message": "Hosting" }, - "categoryName89": { "message": "Translation" }, - "categoryName90": { "message": "Reviews" }, + "categoryName89": { "message": "Traductor" }, + "categoryName90": { "message": "Reseñas" }, "categoryName91": { "message": "Buy now pay later" }, "categoryName92": { "message": "Performance" }, - "categoryName93": { "message": "Reservations & delivery" }, + "categoryName93": { "message": "Reservas y delivery" }, "categoryName94": { "message": "Referral marketing" }, "categoryName95": { "message": "Digital asset management" }, "categoryName96": { "message": "Content curation" }, "categoryName97": { "message": "Customer data platform" }, - "categoryName98": { "message": "Cart abandonment" }, - "categoryName99": { "message": "Shipping carriers" }, + "categoryName98": { "message": "Abandono de carritos" }, + "categoryName99": { "message": "Transportistas" }, "categoryName100": { "message": "Shopify apps" }, "categoryName101": { "message": "Recruitment & staffing" }, "categoryName102": { "message": "Returns" }, - "categoryName103": { "message": "Livestreaming" }, - "categoryName104": { "message": "Ticket booking" }, - "categoryName105": { "message": "Augmented reality" }, + "categoryName103": { "message": "Transmisiónes en vivo" }, + "categoryName104": { "message": "Reserva de entradas" }, + "categoryName105": { "message": "Realidad aumentada" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/fa/messages.json b/src/drivers/webextension/_locales/fa/messages.json index 7245cb391..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/fr/messages.json b/src/drivers/webextension/_locales/fr/messages.json index e6807b729..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." }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Réservation de tickets" }, "categoryName105": { "message": "Réalité augmentée" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/gl_ES/messages.json b/src/drivers/webextension/_locales/gl_ES/messages.json index 9eb454d91..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/gr/messages.json b/src/drivers/webextension/_locales/gr/messages.json index 89ad9f36d..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" }, @@ -201,5 +202,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/id/messages.json b/src/drivers/webextension/_locales/id/messages.json index a9aafdb7a..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/it/messages.json b/src/drivers/webextension/_locales/it/messages.json index 4305cee6d..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/ja/messages.json b/src/drivers/webextension/_locales/ja/messages.json index 1c1539665..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": "無効にする" }, @@ -203,5 +204,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/kk/messages.json b/src/drivers/webextension/_locales/kk/messages.json new file mode 100644 index 000000000..9742eb2bf --- /dev/null +++ b/src/drivers/webextension/_locales/kk/messages.json @@ -0,0 +1,210 @@ +{ + "github": { "message": "GitHub сайтында Wappalyzer жобасының шанышқысын жасау!" }, + "twitter": { "message": "Wappalyzer-ге Twitter-де жазылыныз" }, + "website": { "message": "wappalyzer.com сайтына өтіңіз" }, + "options": { "message": "Опциялар" }, + "optionsSave": { "message": "Опцияларды сақтау" }, + "optionsSaved": { "message": "Сақталды" }, + "optionUpgradeMessage": { "message": "Жаңартулар туралы хабарлама" }, + "optionDynamicIcon": { "message": "Wappalyzer логотипінің орнына технология белгішесін пайдаланыңыз" }, + "optionTracking": { "message": "Анонимді түрде анықталған технологияларды wappalyzer.com сайтына жіберіңіз" }, + "optionThemeMode": { "message": "Қараңғы режим үйлесімділігін қосу" }, + "optionBadge": { "message": "Белгішеде анықталған технологиялардың санын көрсетіңіз" }, + "optionShowCached": { "message": "Нәтижелерге кэштелген анықтауларды қосыңыз" }, + "optionApiKey": { "message": "API key" }, + "optionApiKeyDescription": { "message": "API кілтін алыңыз" }, + "disableOnDomain": { "message": "Осы веб-сайтта кенейтуді қолданбау" }, + "clearCache": { "message": "Кэштелген анықтауларды тазалау" }, + "nothingToDo": { "message": "Мұнда ештеңе істеуге болмайды." }, + "noAppsDetected": { "message": "Ешқандай технологиялар анықталмады." }, + "playGame": { "message": "Play a game?" }, + "categoryPin": { "message": "Әрқашан белгішені көрсету" }, + "termsAccept": { "message": "Мен мұнымен жақсымын" }, + "termsDecline": { "message": "Өшіру" }, + "termsContent": { "message": "Бұл кеңейтім сіз кіретін веб-сайттар туралы, соның ішінде домен атауы мен анықталған технологиялар туралы анонимді ақпаратты wappalyzer.com мекенжайына жібереді. Мұны параметрлерде өшіруге болады." }, + "privacyPolicy": { "message": "Құпиялылық саясаты" }, + "createAlert": { "message": "Осы веб-сайт үшін ескерту жасаңыз" }, + "leadLists": { "message": "Lead генерациялау құралдары" }, + "tabTechnologies": { "message": "Технологиялар" }, + "tabPlus": { "message": "Қосымша ақпарат" }, + "creditBalance": { "message": "Несиелер:" }, + "plusMessageHeading": { "message": "Plus тарифын $$9/айна қосу" }, + "plusMessage": { "message": "Plus көмегімен сіз кіретін веб-сайттардың компания және байланыс мәліметтері осы жерде көрсетіледі." }, + "plusButton": { "message": "Тіркелу" }, + "plusEmpty": { "message": "Нәтиже табылмады." }, + "plusCrawl": { "message": "Нәтижелер табылмады, кейінірек қайта тексеріңіз." }, + "formSave": { "message": "Сақтау" }, + "issue": { "message": "Бірдеңе дұрыс емес пе, әлде жоқ па?" }, + + "setCompany": { "message": "Компания туралы ақпарат" }, + "setKeywords": { "message": "Негізгі сөздер" }, + "setEmail": { "message": "Электрондық пошта" }, + "setPhone": { "message": "Телефон нөмірі" }, + "setAddress": { "message": "Мекенжайлар" }, + "setContact": { "message": "Байланыс деректері" }, + "setSocial": { "message": "Әлеуметтік желідегі аккаунттар" }, + "setMeta": { "message": "Meta деректер" }, + "setLocale": { "message": "Орналасуы" }, + "setTrackers": { "message": "Трекерлер" }, + "setSecurity": { "message": "Қауіпсіздік" }, + "setSignals": { "message": "Сигналдар" }, + + "attributeTechnologySpend": { "message": "Технология шығыны" }, + "attributeIpCountry": { "message": "IP-дін елі" }, + "attributeIpRegion": { "message": "IP-дін аймағы" }, + "attributeLanguage": { "message": "Тілі" }, + "attributeEmail": { "message": "Электрондық пошта" }, + "attributeVerifiedEmail": { "message": "Электрондық пошта (тексерілген)" }, + "attributeSafeEmail": { "message": "Электрондық пошта (қауіпсіз)" }, + "attributePhone": { "message": "Телефон нөмірі" }, + "attributeSkype": { "message": "Skype" }, + "attributeWhatsapp": { "message": "WhatsApp" }, + "attributeInferredCompanyName": { "message": "Болжалды компания атауы" }, + "attributeTwitter": { "message": "Twitter" }, + "attributeFacebook": { "message": "Facebook" }, + "attributeInstagram": { "message": "Instagram" }, + "attributeGithub": { "message": "GitHub" }, + "attributeTiktok": { "message": "TikTok" }, + "attributeYoutube": { "message": "YouTube" }, + "attributePinterest": { "message": "Pinterest" }, + "attributeLinkedin": { "message": "LinkedIn" }, + "attributeOwler": { "message": "Owler" }, + "attributeTitle": { "message": "Тақырып" }, + "attributeDescription": { "message": "Сипаттама" }, + "attributeCopyright": { "message": "Авторлық құқық" }, + "attributeCopyrightYear": { "message": "Авторлық құқық жылы" }, + "attributeResponsive": { "message": "Жауапты" }, + "attributeCertInfo_subjectOrg": { "message": "Сертификат берушi организация" }, + "attributeCertInfo_subjectCountry":{ "message": "Сертификат берушiнiң елди мекені" }, + "attributeCertInfo_subjectState": { "message": "Сертификат state" }, + "attributeCertInfo_subjectLocality":{ "message": "Сертификат жері" }, + "attributeCertInfo_issuer": { "message": "Сертификат беруші" }, + "attributeCertInfo_protocol": { "message": "Сертификаттау хаттамасы" }, + "attributeCertInfo_validTo": { "message": "Сертификаттың жарамдылық мерзімі" }, + "attributeHttps": { "message": "SSL/TLS қосылған" }, + "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" }, + "attributeTrackerGoogleAdSense": { "message": "Google AdSense" }, + "attributeTrackerMedianet": { "message": "Medianet" }, + "attributeTrackerFacebook": { "message": "Facebook" }, + "attributeTrackerOptimizely": { "message": "Optimizely" }, + "attributeCompanyName": { "message": "Компанияның аты" }, + "attributeIndustry": { "message": "Өнеркәсіп" }, + "attributeAbout": { "message": "About" }, + "attributeLocations": { "message": "Компания орналасқан жерлері" }, + "attributeCompanySize": { "message": "Компания мөлшері" }, + "attributeCompanyType": { "message": "Компания түрі" }, + "attributeCompanyFounded": { "message": "Компанияның құрылған уақыты" }, + "attributeKeywords": { "message": "Кілт сөздер" }, + "attributeEmployees": { "message": "Адамдар" }, + "attributeDns_spf": { "message": "SPF жазба" }, + "attributeDns_dmarc": { "message": "DMARC жазба" }, + "attributeSchemaOrgTypes": { "message": "schema.org түрлері" }, + + "categoryName1": { "message": "Контент басқару жүйелері (CMS)" }, + "categoryName2": { "message": "Хабарлама тақталары" }, + "categoryName3": { "message": "Дерекқор менеджерлері" }, + "categoryName4": { "message": "Құжаттама құралдары" }, + "categoryName5": { "message": "Виджеттер" }, + "categoryName6": { "message": "Электрондық коммерция" }, + "categoryName7": { "message": "Фотогалереялар" }, + "categoryName8": { "message": "Викилер" }, + "categoryName9": { "message": "Хостинг панельдері" }, + "categoryName10": { "message": "Аналитика" }, + "categoryName11": { "message": "Блогтар" }, + "categoryName12": { "message": "JavaScript фреймворктары" }, + "categoryName13": { "message": "Ақаулық трекерлер" }, + "categoryName14": { "message": "Бейне ойнатқыштар" }, + "categoryName15": { "message": "Түсініктеме жүйелері" }, + "categoryName16": { "message": "Қауіпсіздік" }, + "categoryName17": { "message": "Қаріп сценарийлері" }, + "categoryName18": { "message": "Веб фреймворктары" }, + "categoryName19": { "message": "Әртүрлі" }, + "categoryName20": { "message": "Редактор" }, + "categoryName21": { "message": "Оқытуды басқару жүйелері (LMS)" }, + "categoryName22": { "message": "Веб-серверлер" }, + "categoryName23": { "message": "Кэштеу" }, + "categoryName24": { "message": "Мәтіндік редакторлар" }, + "categoryName25": { "message": "JavaScript графика" }, + "categoryName26": { "message": "Мобилдік фреймворктар" }, + "categoryName27": { "message": "Бағдарламалау тілдері" }, + "categoryName28": { "message": "Операциялық жүйелер" }, + "categoryName29": { "message": "Іздеу жүйелері" }, + "categoryName30": { "message": "Веб-пошта" }, + "categoryName31": { "message": "Контент жеткізу желісі (CDN)" }, + "categoryName32": { "message": "Маркетингті автоматтандыру" }, + "categoryName33": { "message": "Веб-сервер кеңейтімдері" }, + "categoryName34": { "message": "Мәліметтер базалары" }, + "categoryName35": { "message": "Карталар" }, + "categoryName36": { "message": "Жарнама" }, + "categoryName37": { "message": "Желі қызметтері" }, + "categoryName38": { "message": "Медиа серверлері" }, + "categoryName39": { "message": "Веб-камералар" }, + "categoryName40": { "message": "Принтерлер" }, + "categoryName41": { "message": "Төлем процессорлары" }, + "categoryName42": { "message": "Тег менеджерлері" }, + "categoryName44": { "message": "CI" }, + "categoryName46": { "message": "Қашықтан қол жеткізу" }, + "categoryName47": { "message": "Әзірлеу" }, + "categoryName48": { "message": "Желілік сақтау" }, + "categoryName49": { "message": "Арна оқырмандары" }, + "categoryName50": { "message": "DMS" }, + "categoryName51": { "message": "Парақша құрастырушы" }, + "categoryName52": { "message": "Тікелей чат" }, + "categoryName53": { "message": "CRM" }, + "categoryName54": { "message": "SEO" }, + "categoryName55": { "message": "Бухгалтерлік есеп" }, + "categoryName56": { "message": "Криптомайнерлер" }, + "categoryName57": { "message": "Статикалық сайт генераторлары" }, + "categoryName58": { "message": "Пайдаланушыны қосу" }, + "categoryName59": { "message": "JavaScript библиотекалары" }, + "categoryName60": { "message": "Контейнерлер" }, + "categoryName61": { "message": "SaaS" }, + "categoryName62": { "message": "PaaS" }, + "categoryName63": { "message": "IaaS" }, + "categoryName64": { "message": "Кері прокси" }, + "categoryName65": { "message": "Жүктеме балансерлері" }, + "categoryName66": { "message": "UI-фреймворктары" }, + "categoryName67": { "message": "Cookie сәйкестігі" }, + "categoryName68": { "message": "Қол жетімділік" }, + "categoryName69": { "message": "Аутентификация" }, + "categoryName70": { "message": "SSL/TLS сертификаттау органдары" }, + "categoryName71": { "message": "Серіктестік бағдарламалар" }, + "categoryName72": { "message": "Кездесуді жоспарлау" }, + "categoryName73": { "message": "Сауалнамалар" }, + "categoryName74": { "message": "A/B тестілеу" }, + "categoryName75": { "message": "Электрондық пошта" }, + "categoryName76": { "message": "Жекелендіру" }, + "categoryName77": { "message": "Қайта бағыттау" }, + "categoryName78": { "message": "RUM" }, + "categoryName79": { "message": "Геолокация" }, + "categoryName80": { "message": "WordPress тақырыптар" }, + "categoryName81": { "message": "Shopify тақырыптар" }, + "categoryName82": { "message": "Drupal тақырыптар" }, + "categoryName83": { "message": "Браузердін іздері" }, + "categoryName84": { "message": "Адалдық және сыйақылар" }, + "categoryName85": { "message": "Мүмкіндіктерді басқару" }, + "categoryName86": { "message": "Сегменттеу" }, + "categoryName87": { "message": "WordPress плагиндер" }, + "categoryName88": { "message": "Хостинг" }, + "categoryName89": { "message": "Аударма" }, + "categoryName90": { "message": "Пікірлер" }, + "categoryName91": { "message": "Қазір сатып алыңыз, кейінірек төлеңіз" }, + "categoryName92": { "message": "Өнімділік" }, + "categoryName93": { "message": "Брондау және жеткізу" }, + "categoryName94": { "message": "Рефералдық маркетинг" }, + "categoryName95": { "message": "Сандық активтерді басқару" }, + "categoryName96": { "message": "Контентті курациялау" }, + "categoryName97": { "message": "Тұтынушы деректерінің платформасы" }, + "categoryName98": { "message": "Арбадан бас тарту" }, + "categoryName99": { "message": "Жүк тасымалдаушылары" }, + "categoryName100": { "message": "Shopify қолданбалары" }, + "categoryName101": { "message": "Жұмысқа қабылдау және кадрлармен қамтамасыз ету" }, + "categoryName102": { "message": "Тауарды қайтару" }, + "categoryName103": { "message": "Тікелей эфир" }, + "categoryName104": { "message": "Билеттерді брондау" }, + "categoryName105": { "message": "Толықтырылған шындық" }, + "categoryName106": { "message": "Трансшекаралық электрондық коммерция" }, + "categoryName107": { "message": "Орындалу" }, + "categoryName108": { "message": "Электрондық коммерция - фронттары" }, + "categoryName109": { "message": "Домен тұрағы" } +} diff --git a/src/drivers/webextension/_locales/ko/messages.json b/src/drivers/webextension/_locales/ko/messages.json index 0c4374823..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": "비활성화" }, @@ -203,5 +204,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/nl/messages.json b/src/drivers/webextension/_locales/nl/messages.json index 4acdc38ed..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Kaartje boeken" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/pl/messages.json b/src/drivers/webextension/_locales/pl/messages.json index 80984521e..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/pt/messages.json b/src/drivers/webextension/_locales/pt/messages.json index 5a0d0bfaa..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/pt_BR/messages.json b/src/drivers/webextension/_locales/pt_BR/messages.json index cca22883a..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/ro/messages.json b/src/drivers/webextension/_locales/ro/messages.json index 131ea61e7..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/ru/messages.json b/src/drivers/webextension/_locales/ru/messages.json index d55bc2b0f..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": "Отключить" }, @@ -203,5 +204,7 @@ "categoryName104": { "message": "Бронирование билетов" }, "categoryName105": { "message": "Дополненная реальность" }, "categoryName106": { "message": "Трансграничная электронная коммерция" }, - "categoryName107": { "message": "Выполнения" } + "categoryName107": { "message": "Выполнения" }, + "categoryName108": { "message": "Фронтенд для ecommerce платформ" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/sk/messages.json b/src/drivers/webextension/_locales/sk/messages.json index 96397ee2d..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/tr/messages.json b/src/drivers/webextension/_locales/tr/messages.json index 0a68eac88..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/uk/messages.json b/src/drivers/webextension/_locales/uk/messages.json index ced33e88a..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/uz/messages.json b/src/drivers/webextension/_locales/uz/messages.json index 8f63c56a8..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/zh_CN/messages.json b/src/drivers/webextension/_locales/zh_CN/messages.json index 1ab5b79ac..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" }, @@ -203,5 +204,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } diff --git a/src/drivers/webextension/_locales/zh_TW/messages.json b/src/drivers/webextension/_locales/zh_TW/messages.json index 089113795..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" }, @@ -205,5 +206,7 @@ "categoryName104": { "message": "Ticket booking" }, "categoryName105": { "message": "Augmented reality" }, "categoryName106": { "message": "Cross border ecommerce" }, - "categoryName107": { "message": "Fulfilment" } + "categoryName107": { "message": "Fulfilment" }, + "categoryName108": { "message": "Ecommerce frontends" }, + "categoryName109": { "message": "Domain parking" } } 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/51.LA.png b/src/drivers/webextension/images/icons/51.LA.png new file mode 100644 index 000000000..0fbbad95b Binary files /dev/null and b/src/drivers/webextension/images/icons/51.LA.png differ diff --git a/src/drivers/webextension/images/icons/6sense.svg b/src/drivers/webextension/images/icons/6sense.svg new file mode 100644 index 000000000..d84b87cc3 --- /dev/null +++ b/src/drivers/webextension/images/icons/6sense.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/8base-logo.png b/src/drivers/webextension/images/icons/8base-logo.png deleted file mode 100644 index c9bcb2517..000000000 Binary files a/src/drivers/webextension/images/icons/8base-logo.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/8base.svg b/src/drivers/webextension/images/icons/8base.svg new file mode 100644 index 000000000..53e5c69fc --- /dev/null +++ b/src/drivers/webextension/images/icons/8base.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/AWS Certificate Manager.svg b/src/drivers/webextension/images/icons/AWS Certificate Manager.svg new file mode 100644 index 000000000..1e0b15213 --- /dev/null +++ b/src/drivers/webextension/images/icons/AWS Certificate Manager.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/AWS WAF Captcha.svg b/src/drivers/webextension/images/icons/AWS WAF Captcha.svg new file mode 100644 index 000000000..1882e4750 --- /dev/null +++ b/src/drivers/webextension/images/icons/AWS WAF Captcha.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/AdRoll.svg b/src/drivers/webextension/images/icons/AdRoll.svg index 3f485d3a2..732a7aed5 100644 --- a/src/drivers/webextension/images/icons/AdRoll.svg +++ b/src/drivers/webextension/images/icons/AdRoll.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/src/drivers/webextension/images/icons/Afosto.svg b/src/drivers/webextension/images/icons/Afosto.svg index c2238dc62..7e6e80ce0 100644 --- a/src/drivers/webextension/images/icons/Afosto.svg +++ b/src/drivers/webextension/images/icons/Afosto.svg @@ -1 +1,4 @@ - + + + + diff --git a/src/drivers/webextension/images/icons/Akamai.svg b/src/drivers/webextension/images/icons/Akamai.svg new file mode 100644 index 000000000..04e8316d2 --- /dev/null +++ b/src/drivers/webextension/images/icons/Akamai.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Algolia.svg b/src/drivers/webextension/images/icons/Algolia.svg index c7ab05928..6f91bd208 100644 --- a/src/drivers/webextension/images/icons/Algolia.svg +++ b/src/drivers/webextension/images/icons/Algolia.svg @@ -1 +1,16 @@ - + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon Aurora.svg b/src/drivers/webextension/images/icons/Amazon Aurora.svg new file mode 100644 index 000000000..fe5164600 --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon Aurora.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon CloudWatch.svg b/src/drivers/webextension/images/icons/Amazon CloudWatch.svg new file mode 100644 index 000000000..26cffb857 --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon CloudWatch.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon Cloudfront.svg b/src/drivers/webextension/images/icons/Amazon Cloudfront.svg new file mode 100644 index 000000000..a278f06b9 --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon Cloudfront.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon Cognito.svg b/src/drivers/webextension/images/icons/Amazon Cognito.svg new file mode 100644 index 000000000..080f1ae9d --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon Cognito.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon EC2.svg b/src/drivers/webextension/images/icons/Amazon EC2.svg new file mode 100644 index 000000000..0a0c7ac72 --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon EC2.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon ECS.svg b/src/drivers/webextension/images/icons/Amazon ECS.svg new file mode 100644 index 000000000..bd14d2f60 --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon ECS.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon EFS.svg b/src/drivers/webextension/images/icons/Amazon EFS.svg new file mode 100644 index 000000000..f84eff984 --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon EFS.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon ELB.svg b/src/drivers/webextension/images/icons/Amazon ELB.svg new file mode 100644 index 000000000..5b2bc7e5a --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon ELB.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon S3.svg b/src/drivers/webextension/images/icons/Amazon S3.svg new file mode 100644 index 000000000..837fab545 --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon S3.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon SES.svg b/src/drivers/webextension/images/icons/Amazon SES.svg new file mode 100644 index 000000000..cf4d669dd --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon SES.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon Web Services.svg b/src/drivers/webextension/images/icons/Amazon Web Services.svg new file mode 100644 index 000000000..b0a024b9d --- /dev/null +++ b/src/drivers/webextension/images/icons/Amazon Web Services.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Amazon-Cloudfront.svg b/src/drivers/webextension/images/icons/Amazon-Cloudfront.svg deleted file mode 100644 index 7454c8e58..000000000 --- a/src/drivers/webextension/images/icons/Amazon-Cloudfront.svg +++ /dev/null @@ -1 +0,0 @@ -NetworkingContentDelivery \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/Amiro.CMS.png b/src/drivers/webextension/images/icons/Amiro.CMS.png index 3ea826348..0e4e31664 100644 Binary files a/src/drivers/webextension/images/icons/Amiro.CMS.png and b/src/drivers/webextension/images/icons/Amiro.CMS.png differ diff --git a/src/drivers/webextension/images/icons/Amplitude.svg b/src/drivers/webextension/images/icons/Amplitude.svg index f0b7693d1..c30d63fd7 100644 --- a/src/drivers/webextension/images/icons/Amplitude.svg +++ b/src/drivers/webextension/images/icons/Amplitude.svg @@ -1,4 +1 @@ - - - - + diff --git a/src/drivers/webextension/images/icons/Angular.svg b/src/drivers/webextension/images/icons/Angular.svg index e92f0220d..6435f1aeb 100644 --- a/src/drivers/webextension/images/icons/Angular.svg +++ b/src/drivers/webextension/images/icons/Angular.svg @@ -1 +1,5 @@ - \ No newline at end of file + + + + + diff --git a/src/drivers/webextension/images/icons/Animate.css.svg b/src/drivers/webextension/images/icons/Animate.css.svg new file mode 100644 index 000000000..888af6bd0 --- /dev/null +++ b/src/drivers/webextension/images/icons/Animate.css.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Apache JSPWiki.png b/src/drivers/webextension/images/icons/Apache JSPWiki.png deleted file mode 100644 index a25eaab5c..000000000 Binary files a/src/drivers/webextension/images/icons/Apache JSPWiki.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Apache Tomcat.svg b/src/drivers/webextension/images/icons/Apache Tomcat.svg index e6cdad9f7..eff57b7d4 100644 --- a/src/drivers/webextension/images/icons/Apache Tomcat.svg +++ b/src/drivers/webextension/images/icons/Apache Tomcat.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Apache Traffic Server.png b/src/drivers/webextension/images/icons/Apache Traffic Server.png deleted file mode 100644 index 8813eeb61..000000000 Binary files a/src/drivers/webextension/images/icons/Apache Traffic Server.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Apache Traffic Server.svg b/src/drivers/webextension/images/icons/Apache Traffic Server.svg new file mode 100644 index 000000000..4c7c1769c --- /dev/null +++ b/src/drivers/webextension/images/icons/Apache Traffic Server.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Apereo CAS.png b/src/drivers/webextension/images/icons/Apereo CAS.png new file mode 100644 index 000000000..381d653ca Binary files /dev/null and b/src/drivers/webextension/images/icons/Apereo CAS.png differ diff --git a/src/drivers/webextension/images/icons/ApexPages.png b/src/drivers/webextension/images/icons/ApexPages.png deleted file mode 100644 index 839a8f681..000000000 Binary files a/src/drivers/webextension/images/icons/ApexPages.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Apigee.svg b/src/drivers/webextension/images/icons/Apigee.svg new file mode 100644 index 000000000..7281d03e6 --- /dev/null +++ b/src/drivers/webextension/images/icons/Apigee.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Apollo.svg b/src/drivers/webextension/images/icons/Apollo.svg index 7e542bbf4..acf7fe3be 100644 --- a/src/drivers/webextension/images/icons/Apollo.svg +++ b/src/drivers/webextension/images/icons/Apollo.svg @@ -1,29 +1,11 @@ - - - - - - - - - - - - - - + + + + - - - - - \ No newline at end of file + + + + + + diff --git a/src/drivers/webextension/images/icons/Asciinema.svg b/src/drivers/webextension/images/icons/Asciinema.svg new file mode 100644 index 000000000..ba9d40d31 --- /dev/null +++ b/src/drivers/webextension/images/icons/Asciinema.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Astra.svg b/src/drivers/webextension/images/icons/Astra.svg index 90bc42e74..3ef08c0c8 100644 --- a/src/drivers/webextension/images/icons/Astra.svg +++ b/src/drivers/webextension/images/icons/Astra.svg @@ -1,19 +1,16 @@ - - - + + + + + - - - - - - - - - + + + + diff --git a/src/drivers/webextension/images/icons/Atlassian Statuspage.svg b/src/drivers/webextension/images/icons/Atlassian Statuspage.svg index b651642d7..3f6817d87 100644 --- a/src/drivers/webextension/images/icons/Atlassian Statuspage.svg +++ b/src/drivers/webextension/images/icons/Atlassian Statuspage.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Aument.svg b/src/drivers/webextension/images/icons/Aument.svg new file mode 100644 index 000000000..cf173220c --- /dev/null +++ b/src/drivers/webextension/images/icons/Aument.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Avanser.svg b/src/drivers/webextension/images/icons/Avanser.svg new file mode 100644 index 000000000..87c0bd969 --- /dev/null +++ b/src/drivers/webextension/images/icons/Avanser.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/Axios.svg b/src/drivers/webextension/images/icons/Axios.svg new file mode 100644 index 000000000..ba7766b4c --- /dev/null +++ b/src/drivers/webextension/images/icons/Axios.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Azure.svg b/src/drivers/webextension/images/icons/Azure.svg new file mode 100644 index 000000000..4474778ec --- /dev/null +++ b/src/drivers/webextension/images/icons/Azure.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/BetterDocs.png b/src/drivers/webextension/images/icons/BetterDocs.png new file mode 100644 index 000000000..a5816428a Binary files /dev/null and b/src/drivers/webextension/images/icons/BetterDocs.png differ diff --git a/src/drivers/webextension/images/icons/Binance.svg b/src/drivers/webextension/images/icons/Binance.svg new file mode 100644 index 000000000..01e75de19 --- /dev/null +++ b/src/drivers/webextension/images/icons/Binance.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Blackbaud-Luminate-Online.png b/src/drivers/webextension/images/icons/Blackbaud.png similarity index 100% rename from src/drivers/webextension/images/icons/Blackbaud-Luminate-Online.png rename to src/drivers/webextension/images/icons/Blackbaud.png diff --git a/src/drivers/webextension/images/icons/Bold Page Builder.png b/src/drivers/webextension/images/icons/Bold Page Builder.png new file mode 100644 index 000000000..1cf1d21c2 Binary files /dev/null and b/src/drivers/webextension/images/icons/Bold Page Builder.png differ diff --git a/src/drivers/webextension/images/icons/Bold Themes.png b/src/drivers/webextension/images/icons/Bold Themes.png new file mode 100644 index 000000000..749b0938e Binary files /dev/null and b/src/drivers/webextension/images/icons/Bold Themes.png differ diff --git a/src/drivers/webextension/images/icons/Bootstrap.svg b/src/drivers/webextension/images/icons/Bootstrap.svg index 025ba32d4..105ac17b3 100644 --- a/src/drivers/webextension/images/icons/Bootstrap.svg +++ b/src/drivers/webextension/images/icons/Bootstrap.svg @@ -1 +1,31 @@ -Bootstrap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/CRM+.png b/src/drivers/webextension/images/icons/CRM+.png new file mode 100644 index 000000000..3b44dc938 Binary files /dev/null and b/src/drivers/webextension/images/icons/CRM+.png differ diff --git a/src/drivers/webextension/images/icons/CactiveCloud.svg b/src/drivers/webextension/images/icons/CactiveCloud.svg new file mode 100644 index 000000000..d9bf9dec4 --- /dev/null +++ b/src/drivers/webextension/images/icons/CactiveCloud.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/CakePHP.png b/src/drivers/webextension/images/icons/CakePHP.png deleted file mode 100644 index a3f838b9b..000000000 Binary files a/src/drivers/webextension/images/icons/CakePHP.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/CakePHP.svg b/src/drivers/webextension/images/icons/CakePHP.svg new file mode 100644 index 000000000..6c4db469c --- /dev/null +++ b/src/drivers/webextension/images/icons/CakePHP.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Calendly.svg b/src/drivers/webextension/images/icons/Calendly.svg index dd82e5edd..5e399c646 100644 --- a/src/drivers/webextension/images/icons/Calendly.svg +++ b/src/drivers/webextension/images/icons/Calendly.svg @@ -1,4 +1,7 @@ - - - + + + + + + diff --git a/src/drivers/webextension/images/icons/CallTrackingMetrics.svg b/src/drivers/webextension/images/icons/CallTrackingMetrics.svg new file mode 100644 index 000000000..8c2cdd311 --- /dev/null +++ b/src/drivers/webextension/images/icons/CallTrackingMetrics.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Canvas LMS.svg b/src/drivers/webextension/images/icons/Canvas LMS.svg new file mode 100644 index 000000000..46be3a42e --- /dev/null +++ b/src/drivers/webextension/images/icons/Canvas LMS.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Carbon Ads.png b/src/drivers/webextension/images/icons/Carbon Ads.png deleted file mode 100644 index 0429a4847..000000000 Binary files a/src/drivers/webextension/images/icons/Carbon Ads.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Carbon Ads.svg b/src/drivers/webextension/images/icons/Carbon Ads.svg new file mode 100644 index 000000000..0197aceee --- /dev/null +++ b/src/drivers/webextension/images/icons/Carbon Ads.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/CentOS.png b/src/drivers/webextension/images/icons/CentOS.png deleted file mode 100644 index fe2bc7188..000000000 Binary files a/src/drivers/webextension/images/icons/CentOS.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/CentOS.svg b/src/drivers/webextension/images/icons/CentOS.svg new file mode 100644 index 000000000..b19ac676e --- /dev/null +++ b/src/drivers/webextension/images/icons/CentOS.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Centra.svg b/src/drivers/webextension/images/icons/Centra.svg new file mode 100644 index 000000000..09a79164e --- /dev/null +++ b/src/drivers/webextension/images/icons/Centra.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Channel.io.png b/src/drivers/webextension/images/icons/Channel.io.png new file mode 100644 index 000000000..3b5caf1de Binary files /dev/null and b/src/drivers/webextension/images/icons/Channel.io.png differ diff --git a/src/drivers/webextension/images/icons/CiviCRM.png b/src/drivers/webextension/images/icons/CiviCRM.png new file mode 100644 index 000000000..c3785e109 Binary files /dev/null and b/src/drivers/webextension/images/icons/CiviCRM.png differ diff --git a/src/drivers/webextension/images/icons/Clerk.svg b/src/drivers/webextension/images/icons/Clerk.svg new file mode 100644 index 000000000..81d0fb3a4 --- /dev/null +++ b/src/drivers/webextension/images/icons/Clerk.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Cloudify.store.png b/src/drivers/webextension/images/icons/Cloudify.store.png new file mode 100644 index 000000000..bdddacfcd Binary files /dev/null and b/src/drivers/webextension/images/icons/Cloudify.store.png differ diff --git a/src/drivers/webextension/images/icons/Conversio.svg b/src/drivers/webextension/images/icons/Conversio.svg new file mode 100644 index 000000000..fa68e3007 --- /dev/null +++ b/src/drivers/webextension/images/icons/Conversio.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Cookiebot.svg b/src/drivers/webextension/images/icons/Cookiebot.svg index c6acb47bd..89fca272c 100644 --- a/src/drivers/webextension/images/icons/Cookiebot.svg +++ b/src/drivers/webextension/images/icons/Cookiebot.svg @@ -1,19 +1,9 @@ - - - - - - - - - - - - - - + + + + + + + + diff --git a/src/drivers/webextension/images/icons/CoreMedia Content Cloud.svg b/src/drivers/webextension/images/icons/CoreMedia Content Cloud.svg new file mode 100644 index 000000000..e003154b8 --- /dev/null +++ b/src/drivers/webextension/images/icons/CoreMedia Content Cloud.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Crikle.svg b/src/drivers/webextension/images/icons/Crikle.svg new file mode 100644 index 000000000..0d9035bab --- /dev/null +++ b/src/drivers/webextension/images/icons/Crikle.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Criteo.svg b/src/drivers/webextension/images/icons/Criteo.svg index 8cf919362..e9bc97d2e 100644 --- a/src/drivers/webextension/images/icons/Criteo.svg +++ b/src/drivers/webextension/images/icons/Criteo.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Customer.io.png b/src/drivers/webextension/images/icons/Customer.io.png deleted file mode 100644 index 879235e4d..000000000 Binary files a/src/drivers/webextension/images/icons/Customer.io.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Customer.io.svg b/src/drivers/webextension/images/icons/Customer.io.svg new file mode 100644 index 000000000..41b44a65b --- /dev/null +++ b/src/drivers/webextension/images/icons/Customer.io.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/Cwicly.png b/src/drivers/webextension/images/icons/Cwicly.png new file mode 100644 index 000000000..2ef2ea192 Binary files /dev/null and b/src/drivers/webextension/images/icons/Cwicly.png differ diff --git a/src/drivers/webextension/images/icons/DHTMLX.png b/src/drivers/webextension/images/icons/DHTMLX.png index d74c58168..8fbab0f4c 100644 Binary files a/src/drivers/webextension/images/icons/DHTMLX.png and b/src/drivers/webextension/images/icons/DHTMLX.png differ diff --git a/src/drivers/webextension/images/icons/Delacon.png b/src/drivers/webextension/images/icons/Delacon.png new file mode 100644 index 000000000..1fd2f477f Binary files /dev/null and b/src/drivers/webextension/images/icons/Delacon.png differ diff --git a/src/drivers/webextension/images/icons/Detectify.svg b/src/drivers/webextension/images/icons/Detectify.svg index 3556dfa36..bc907182d 100644 --- a/src/drivers/webextension/images/icons/Detectify.svg +++ b/src/drivers/webextension/images/icons/Detectify.svg @@ -1,41 +1,22 @@ - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Divi.png b/src/drivers/webextension/images/icons/Divi.png deleted file mode 100644 index 852a19a66..000000000 Binary files a/src/drivers/webextension/images/icons/Divi.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Divi.svg b/src/drivers/webextension/images/icons/Divi.svg new file mode 100644 index 000000000..4943749d2 --- /dev/null +++ b/src/drivers/webextension/images/icons/Divi.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/DocuSign.svg b/src/drivers/webextension/images/icons/DocuSign.svg index cd8a06c1b..e107c3da8 100644 --- a/src/drivers/webextension/images/icons/DocuSign.svg +++ b/src/drivers/webextension/images/icons/DocuSign.svg @@ -1,7 +1,12 @@ - - - - - - - \ No newline at end of file + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Doppler.svg b/src/drivers/webextension/images/icons/Doppler.svg new file mode 100644 index 000000000..542bf4fbd --- /dev/null +++ b/src/drivers/webextension/images/icons/Doppler.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Download Monitor.png b/src/drivers/webextension/images/icons/Download Monitor.png new file mode 100644 index 000000000..7e65a7f4f Binary files /dev/null and b/src/drivers/webextension/images/icons/Download Monitor.png differ diff --git a/src/drivers/webextension/images/icons/DreamApply.png b/src/drivers/webextension/images/icons/DreamApply.png new file mode 100644 index 000000000..19237b0b0 Binary files /dev/null and b/src/drivers/webextension/images/icons/DreamApply.png differ diff --git a/src/drivers/webextension/images/icons/Dreamdata.png b/src/drivers/webextension/images/icons/Dreamdata.png deleted file mode 100644 index 9678986ba..000000000 Binary files a/src/drivers/webextension/images/icons/Dreamdata.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Dreamdata.svg b/src/drivers/webextension/images/icons/Dreamdata.svg new file mode 100644 index 000000000..8a404af57 --- /dev/null +++ b/src/drivers/webextension/images/icons/Dreamdata.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Elementor.png b/src/drivers/webextension/images/icons/Elementor.png deleted file mode 100644 index 817059c9f..000000000 Binary files a/src/drivers/webextension/images/icons/Elementor.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Elementor.svg b/src/drivers/webextension/images/icons/Elementor.svg new file mode 100644 index 000000000..a8fc60d61 --- /dev/null +++ b/src/drivers/webextension/images/icons/Elementor.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Empretienda.png b/src/drivers/webextension/images/icons/Empretienda.png new file mode 100644 index 000000000..c220de175 Binary files /dev/null and b/src/drivers/webextension/images/icons/Empretienda.png differ diff --git a/src/drivers/webextension/images/icons/Eticex.svg b/src/drivers/webextension/images/icons/Eticex.svg new file mode 100644 index 000000000..c3c632dbe --- /dev/null +++ b/src/drivers/webextension/images/icons/Eticex.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/Express.png b/src/drivers/webextension/images/icons/Express.png deleted file mode 100644 index c1f9ad582..000000000 Binary files a/src/drivers/webextension/images/icons/Express.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Express.svg b/src/drivers/webextension/images/icons/Express.svg new file mode 100644 index 000000000..b99f51519 --- /dev/null +++ b/src/drivers/webextension/images/icons/Express.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Facebook.svg b/src/drivers/webextension/images/icons/Facebook.svg index c2d2d0a2c..6755ddbcd 100644 --- a/src/drivers/webextension/images/icons/Facebook.svg +++ b/src/drivers/webextension/images/icons/Facebook.svg @@ -1,10 +1,19 @@ - - - + + + + + - + + + + + + + + diff --git a/src/drivers/webextension/images/icons/FancyBox.png b/src/drivers/webextension/images/icons/FancyBox.png deleted file mode 100644 index 3f764999b..000000000 Binary files a/src/drivers/webextension/images/icons/FancyBox.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/FancyBox.svg b/src/drivers/webextension/images/icons/FancyBox.svg new file mode 100644 index 000000000..98d6592c7 --- /dev/null +++ b/src/drivers/webextension/images/icons/FancyBox.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Fastly.svg b/src/drivers/webextension/images/icons/Fastly.svg index bb7a0ded2..134b7bf7c 100644 --- a/src/drivers/webextension/images/icons/Fastly.svg +++ b/src/drivers/webextension/images/icons/Fastly.svg @@ -1 +1,9 @@ - \ No newline at end of file + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/FireApps.svg b/src/drivers/webextension/images/icons/FireApps.svg new file mode 100644 index 000000000..cb7ff74c5 --- /dev/null +++ b/src/drivers/webextension/images/icons/FireApps.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Font Awesome.svg b/src/drivers/webextension/images/icons/Font Awesome.svg new file mode 100644 index 000000000..1a6a45633 --- /dev/null +++ b/src/drivers/webextension/images/icons/Font Awesome.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Fresh.svg b/src/drivers/webextension/images/icons/Fresh.svg new file mode 100644 index 000000000..ee5a808b7 --- /dev/null +++ b/src/drivers/webextension/images/icons/Fresh.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Froala.svg b/src/drivers/webextension/images/icons/Froala.svg index dfd7d0421..5fe7adf3b 100644 --- a/src/drivers/webextension/images/icons/Froala.svg +++ b/src/drivers/webextension/images/icons/Froala.svg @@ -1 +1,9 @@ -Froala \ No newline at end of file + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/FullCalendar.png b/src/drivers/webextension/images/icons/FullCalendar.png new file mode 100644 index 000000000..0bf1ede82 Binary files /dev/null and b/src/drivers/webextension/images/icons/FullCalendar.png differ diff --git a/src/drivers/webextension/images/icons/GLPI.png b/src/drivers/webextension/images/icons/GLPI.png new file mode 100644 index 000000000..9e8010b2e Binary files /dev/null and b/src/drivers/webextension/images/icons/GLPI.png differ diff --git a/src/drivers/webextension/images/icons/Gatsby.svg b/src/drivers/webextension/images/icons/Gatsby.svg index 13364f3ba..be58e2f4c 100644 --- a/src/drivers/webextension/images/icons/Gatsby.svg +++ b/src/drivers/webextension/images/icons/Gatsby.svg @@ -1,16 +1,16 @@ - - - - - - - - + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Ghost.png b/src/drivers/webextension/images/icons/Ghost.png deleted file mode 100644 index f3971b879..000000000 Binary files a/src/drivers/webextension/images/icons/Ghost.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Ghost.svg b/src/drivers/webextension/images/icons/Ghost.svg new file mode 100644 index 000000000..a489a5fa7 --- /dev/null +++ b/src/drivers/webextension/images/icons/Ghost.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Glider.js.svg b/src/drivers/webextension/images/icons/Glider.js.svg index d3962f046..896047e05 100644 --- a/src/drivers/webextension/images/icons/Glider.js.svg +++ b/src/drivers/webextension/images/icons/Glider.js.svg @@ -1,4 +1,4 @@ - - + + diff --git a/src/drivers/webextension/images/icons/Gomag.svg b/src/drivers/webextension/images/icons/Gomag.svg new file mode 100644 index 000000000..2e4b0eff9 --- /dev/null +++ b/src/drivers/webextension/images/icons/Gomag.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/Google AdSense.svg b/src/drivers/webextension/images/icons/Google AdSense.svg index 24aff247b..f44dd58ef 100644 --- a/src/drivers/webextension/images/icons/Google AdSense.svg +++ b/src/drivers/webextension/images/icons/Google AdSense.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Google Cloud.svg b/src/drivers/webextension/images/icons/Google Cloud.svg new file mode 100644 index 000000000..d61d691ab --- /dev/null +++ b/src/drivers/webextension/images/icons/Google Cloud.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/Google Font API.png b/src/drivers/webextension/images/icons/Google Font API.png deleted file mode 100644 index bf2c8dcc8..000000000 Binary files a/src/drivers/webextension/images/icons/Google Font API.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Google Font API.svg b/src/drivers/webextension/images/icons/Google Font API.svg new file mode 100644 index 000000000..d9f8f268d --- /dev/null +++ b/src/drivers/webextension/images/icons/Google Font API.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Google Maps.svg b/src/drivers/webextension/images/icons/Google Maps.svg index 83a607868..ac776c12f 100644 --- a/src/drivers/webextension/images/icons/Google Maps.svg +++ b/src/drivers/webextension/images/icons/Google Maps.svg @@ -1,7 +1,14 @@ - - - - - - + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Google Optimize.svg b/src/drivers/webextension/images/icons/Google Optimize.svg index 6217d0de2..03ac48743 100644 --- a/src/drivers/webextension/images/icons/Google Optimize.svg +++ b/src/drivers/webextension/images/icons/Google Optimize.svg @@ -1,11 +1,5 @@ - - - - - - - - - - - \ No newline at end of file + + + + + diff --git a/src/drivers/webextension/images/icons/Google Workspace.svg b/src/drivers/webextension/images/icons/Google Workspace.svg deleted file mode 100644 index 70c62f88d..000000000 --- a/src/drivers/webextension/images/icons/Google Workspace.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/drivers/webextension/images/icons/GumGum.png b/src/drivers/webextension/images/icons/GumGum.png deleted file mode 100644 index fd335cc82..000000000 Binary files a/src/drivers/webextension/images/icons/GumGum.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/GumGum.svg b/src/drivers/webextension/images/icons/GumGum.svg new file mode 100644 index 000000000..8013c8942 --- /dev/null +++ b/src/drivers/webextension/images/icons/GumGum.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Gumroad.svg b/src/drivers/webextension/images/icons/Gumroad.svg index 694896553..87b01a67e 100644 --- a/src/drivers/webextension/images/icons/Gumroad.svg +++ b/src/drivers/webextension/images/icons/Gumroad.svg @@ -1,16 +1,15 @@ - - - - - - - - - + + + + + - + + + + diff --git a/src/drivers/webextension/images/icons/Hatena.svg b/src/drivers/webextension/images/icons/Hatena.svg new file mode 100644 index 000000000..64e640f9a --- /dev/null +++ b/src/drivers/webextension/images/icons/Hatena.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Heap.svg b/src/drivers/webextension/images/icons/Heap.svg index 4032de893..cfe9c6ca5 100644 --- a/src/drivers/webextension/images/icons/Heap.svg +++ b/src/drivers/webextension/images/icons/Heap.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/src/drivers/webextension/images/icons/Highcharts.png b/src/drivers/webextension/images/icons/Highcharts.png deleted file mode 100644 index d50fd6554..000000000 Binary files a/src/drivers/webextension/images/icons/Highcharts.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Highcharts.svg b/src/drivers/webextension/images/icons/Highcharts.svg new file mode 100644 index 000000000..993b315be --- /dev/null +++ b/src/drivers/webextension/images/icons/Highcharts.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Hotjar.svg b/src/drivers/webextension/images/icons/Hotjar.svg index 6a20f65d7..6125eb481 100644 --- a/src/drivers/webextension/images/icons/Hotjar.svg +++ b/src/drivers/webextension/images/icons/Hotjar.svg @@ -1,3 +1,4 @@ - - + + + diff --git a/src/drivers/webextension/images/icons/Hyva Themes.svg b/src/drivers/webextension/images/icons/Hyva Themes.svg new file mode 100644 index 000000000..ce2938050 --- /dev/null +++ b/src/drivers/webextension/images/icons/Hyva Themes.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Hyva.svg b/src/drivers/webextension/images/icons/Hyva.svg deleted file mode 100644 index 6b35be07e..000000000 --- a/src/drivers/webextension/images/icons/Hyva.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/drivers/webextension/images/icons/IIS.png b/src/drivers/webextension/images/icons/IIS.png deleted file mode 100644 index b94c2b397..000000000 Binary files a/src/drivers/webextension/images/icons/IIS.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/IPFS.png b/src/drivers/webextension/images/icons/IPFS.png deleted file mode 100644 index 693cce472..000000000 Binary files a/src/drivers/webextension/images/icons/IPFS.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/IPFS.svg b/src/drivers/webextension/images/icons/IPFS.svg new file mode 100644 index 000000000..aea014f64 --- /dev/null +++ b/src/drivers/webextension/images/icons/IPFS.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Ikas.svg b/src/drivers/webextension/images/icons/Ikas.svg new file mode 100644 index 000000000..6fe54cafb --- /dev/null +++ b/src/drivers/webextension/images/icons/Ikas.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Infoset.svg b/src/drivers/webextension/images/icons/Infoset.svg new file mode 100644 index 000000000..7db1030d1 --- /dev/null +++ b/src/drivers/webextension/images/icons/Infoset.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Isotope.svg b/src/drivers/webextension/images/icons/Isotope.svg index 13a8f86c5..7d9bd53c6 100644 --- a/src/drivers/webextension/images/icons/Isotope.svg +++ b/src/drivers/webextension/images/icons/Isotope.svg @@ -1,9 +1,19 @@ - + + + + + + + + - + - + + + + diff --git a/src/drivers/webextension/images/icons/Java.png b/src/drivers/webextension/images/icons/Java.png deleted file mode 100644 index 0160cf61c..000000000 Binary files a/src/drivers/webextension/images/icons/Java.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Java.svg b/src/drivers/webextension/images/icons/Java.svg new file mode 100644 index 000000000..059bfcfb3 --- /dev/null +++ b/src/drivers/webextension/images/icons/Java.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Jibres.svg b/src/drivers/webextension/images/icons/Jibres.svg index 7dfe4ca8b..436725a79 100644 --- a/src/drivers/webextension/images/icons/Jibres.svg +++ b/src/drivers/webextension/images/icons/Jibres.svg @@ -1 +1,11 @@ -Jibres-Logo-icon-zero \ No newline at end of file + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Jilt.svg b/src/drivers/webextension/images/icons/Jilt.svg new file mode 100644 index 000000000..32ccdf8a1 --- /dev/null +++ b/src/drivers/webextension/images/icons/Jilt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Justuno.png b/src/drivers/webextension/images/icons/Justuno.png deleted file mode 100644 index eecb059d2..000000000 Binary files a/src/drivers/webextension/images/icons/Justuno.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Justuno.svg b/src/drivers/webextension/images/icons/Justuno.svg new file mode 100644 index 000000000..815eb44c3 --- /dev/null +++ b/src/drivers/webextension/images/icons/Justuno.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Keybase.svg b/src/drivers/webextension/images/icons/Keybase.svg new file mode 100644 index 000000000..b2cd2620b --- /dev/null +++ b/src/drivers/webextension/images/icons/Keybase.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Kiliba.svg b/src/drivers/webextension/images/icons/Kiliba.svg new file mode 100644 index 000000000..c1196acdf --- /dev/null +++ b/src/drivers/webextension/images/icons/Kiliba.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/LaunchDarkly.svg b/src/drivers/webextension/images/icons/LaunchDarkly.svg index 604744793..5e13f5738 100644 --- a/src/drivers/webextension/images/icons/LaunchDarkly.svg +++ b/src/drivers/webextension/images/icons/LaunchDarkly.svg @@ -1,8 +1,23 @@ - - - - - - + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/LiveChat.png b/src/drivers/webextension/images/icons/LiveChat.png deleted file mode 100644 index 5f0619e17..000000000 Binary files a/src/drivers/webextension/images/icons/LiveChat.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/LiveChat.svg b/src/drivers/webextension/images/icons/LiveChat.svg new file mode 100644 index 000000000..df014e165 --- /dev/null +++ b/src/drivers/webextension/images/icons/LiveChat.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Lo-dash.png b/src/drivers/webextension/images/icons/Lo-dash.png deleted file mode 100644 index 745217f10..000000000 Binary files a/src/drivers/webextension/images/icons/Lo-dash.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Lodash.svg b/src/drivers/webextension/images/icons/Lodash.svg new file mode 100644 index 000000000..ae255462e --- /dev/null +++ b/src/drivers/webextension/images/icons/Lodash.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/LottieFiles.svg b/src/drivers/webextension/images/icons/LottieFiles.svg index d6c4f4c65..df9c36fea 100644 --- a/src/drivers/webextension/images/icons/LottieFiles.svg +++ b/src/drivers/webextension/images/icons/LottieFiles.svg @@ -1,9 +1,12 @@ - + + + + + - - - - + + + diff --git a/src/drivers/webextension/images/icons/MODX.png b/src/drivers/webextension/images/icons/MODX.png deleted file mode 100644 index 671e1f79e..000000000 Binary files a/src/drivers/webextension/images/icons/MODX.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/MODX.svg b/src/drivers/webextension/images/icons/MODX.svg new file mode 100644 index 000000000..57602e14b --- /dev/null +++ b/src/drivers/webextension/images/icons/MODX.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Mailjet.svg b/src/drivers/webextension/images/icons/Mailjet.svg index 9372aee98..ca4102f98 100644 --- a/src/drivers/webextension/images/icons/Mailjet.svg +++ b/src/drivers/webextension/images/icons/Mailjet.svg @@ -1,9 +1,10 @@ - - + + + + - - - - + + + diff --git a/src/drivers/webextension/images/icons/Marked.svg b/src/drivers/webextension/images/icons/Marked.svg new file mode 100644 index 000000000..f44e570db --- /dev/null +++ b/src/drivers/webextension/images/icons/Marked.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Marketo.png b/src/drivers/webextension/images/icons/Marketo.png deleted file mode 100644 index d9c0b636f..000000000 Binary files a/src/drivers/webextension/images/icons/Marketo.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Marketo.svg b/src/drivers/webextension/images/icons/Marketo.svg new file mode 100644 index 000000000..b73038306 --- /dev/null +++ b/src/drivers/webextension/images/icons/Marketo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Marketpath CMS.png b/src/drivers/webextension/images/icons/Marketpath CMS.png new file mode 100644 index 000000000..4dbd1482e Binary files /dev/null and b/src/drivers/webextension/images/icons/Marketpath CMS.png differ diff --git a/src/drivers/webextension/images/icons/Matomo.png b/src/drivers/webextension/images/icons/Matomo.png deleted file mode 100644 index f7ff2fa1a..000000000 Binary files a/src/drivers/webextension/images/icons/Matomo.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Matomo.svg b/src/drivers/webextension/images/icons/Matomo.svg new file mode 100644 index 000000000..e30c0c8f3 --- /dev/null +++ b/src/drivers/webextension/images/icons/Matomo.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/MediaElement.js.png b/src/drivers/webextension/images/icons/MediaElement.js.png deleted file mode 100644 index a95762dfd..000000000 Binary files a/src/drivers/webextension/images/icons/MediaElement.js.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/MediaElement.js.svg b/src/drivers/webextension/images/icons/MediaElement.js.svg new file mode 100644 index 000000000..2dd5f29f7 --- /dev/null +++ b/src/drivers/webextension/images/icons/MediaElement.js.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Microsoft 365.svg b/src/drivers/webextension/images/icons/Microsoft 365.svg index 91a58d067..7ebc523a6 100644 --- a/src/drivers/webextension/images/icons/Microsoft 365.svg +++ b/src/drivers/webextension/images/icons/Microsoft 365.svg @@ -1 +1,39 @@ -Union_64x64_nopadding \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Microsoft Clarity.svg b/src/drivers/webextension/images/icons/Microsoft Clarity.svg new file mode 100644 index 000000000..6752e1511 --- /dev/null +++ b/src/drivers/webextension/images/icons/Microsoft Clarity.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Mixpanel.png b/src/drivers/webextension/images/icons/Mixpanel.png deleted file mode 100644 index fe7cd58b5..000000000 Binary files a/src/drivers/webextension/images/icons/Mixpanel.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Mixpanel.svg b/src/drivers/webextension/images/icons/Mixpanel.svg new file mode 100644 index 000000000..1f82faa24 --- /dev/null +++ b/src/drivers/webextension/images/icons/Mixpanel.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Module Federation.png b/src/drivers/webextension/images/icons/Module Federation.png deleted file mode 100644 index c463e073a..000000000 Binary files a/src/drivers/webextension/images/icons/Module Federation.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Mouseflow.svg b/src/drivers/webextension/images/icons/Mouseflow.svg new file mode 100644 index 000000000..525169dc0 --- /dev/null +++ b/src/drivers/webextension/images/icons/Mouseflow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/MySiteNow.png b/src/drivers/webextension/images/icons/MySiteNow.png new file mode 100644 index 000000000..572d40b31 Binary files /dev/null and b/src/drivers/webextension/images/icons/MySiteNow.png differ diff --git a/src/drivers/webextension/images/icons/Naive UI.svg b/src/drivers/webextension/images/icons/Naive UI.svg new file mode 100644 index 000000000..890cbe51f --- /dev/null +++ b/src/drivers/webextension/images/icons/Naive UI.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Naver Analytics.svg b/src/drivers/webextension/images/icons/Naver Analytics.svg new file mode 100644 index 000000000..ce7ae9971 --- /dev/null +++ b/src/drivers/webextension/images/icons/Naver Analytics.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Naver Maps.svg b/src/drivers/webextension/images/icons/Naver Maps.svg new file mode 100644 index 000000000..64d303859 --- /dev/null +++ b/src/drivers/webextension/images/icons/Naver Maps.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/New Relic.svg b/src/drivers/webextension/images/icons/New Relic.svg index 5fa981ff0..fb117d73e 100644 --- a/src/drivers/webextension/images/icons/New Relic.svg +++ b/src/drivers/webextension/images/icons/New Relic.svg @@ -1,4 +1,5 @@ - - - + + + + diff --git a/src/drivers/webextension/images/icons/Next-Auth.png b/src/drivers/webextension/images/icons/Next-Auth.png new file mode 100644 index 000000000..0cc745ee9 Binary files /dev/null and b/src/drivers/webextension/images/icons/Next-Auth.png differ diff --git a/src/drivers/webextension/images/icons/Next.js.svg b/src/drivers/webextension/images/icons/Next.js.svg new file mode 100644 index 000000000..01c10c42a --- /dev/null +++ b/src/drivers/webextension/images/icons/Next.js.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/NextUI.svg b/src/drivers/webextension/images/icons/NextUI.svg index fb8b59299..c8814ed54 100644 --- a/src/drivers/webextension/images/icons/NextUI.svg +++ b/src/drivers/webextension/images/icons/NextUI.svg @@ -1,9 +1,15 @@ - - + + + + + - + + + + diff --git a/src/drivers/webextension/images/icons/Nextra.svg b/src/drivers/webextension/images/icons/Nextra.svg new file mode 100644 index 000000000..894efc4f5 --- /dev/null +++ b/src/drivers/webextension/images/icons/Nextra.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Nginx.svg b/src/drivers/webextension/images/icons/Nginx.svg index b199a5e68..8de9730dd 100644 --- a/src/drivers/webextension/images/icons/Nginx.svg +++ b/src/drivers/webextension/images/icons/Nginx.svg @@ -1 +1,4 @@ - \ No newline at end of file + + + + diff --git a/src/drivers/webextension/images/icons/Node.js.svg b/src/drivers/webextension/images/icons/Node.js.svg new file mode 100644 index 000000000..59ae8b4b1 --- /dev/null +++ b/src/drivers/webextension/images/icons/Node.js.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Obsidian Publish.svg b/src/drivers/webextension/images/icons/Obsidian Publish.svg new file mode 100644 index 000000000..362b06135 --- /dev/null +++ b/src/drivers/webextension/images/icons/Obsidian Publish.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/OneSignal.svg b/src/drivers/webextension/images/icons/OneSignal.svg index adea16dad..dd9949695 100644 --- a/src/drivers/webextension/images/icons/OneSignal.svg +++ b/src/drivers/webextension/images/icons/OneSignal.svg @@ -1,10 +1,10 @@ - - + + - - + + diff --git a/src/drivers/webextension/images/icons/OpenResty.png b/src/drivers/webextension/images/icons/OpenResty.png deleted file mode 100644 index 6518610d9..000000000 Binary files a/src/drivers/webextension/images/icons/OpenResty.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/OpenResty.svg b/src/drivers/webextension/images/icons/OpenResty.svg new file mode 100644 index 000000000..557bf3989 --- /dev/null +++ b/src/drivers/webextension/images/icons/OpenResty.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Pantheon.svg b/src/drivers/webextension/images/icons/Pantheon.svg new file mode 100644 index 000000000..5bf7e891a --- /dev/null +++ b/src/drivers/webextension/images/icons/Pantheon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Pardot.png b/src/drivers/webextension/images/icons/Pardot.png deleted file mode 100644 index efd9991af..000000000 Binary files a/src/drivers/webextension/images/icons/Pardot.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Parse.ly.png b/src/drivers/webextension/images/icons/Parse.ly.png deleted file mode 100644 index c8affd3ec..000000000 Binary files a/src/drivers/webextension/images/icons/Parse.ly.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Parse.ly.svg b/src/drivers/webextension/images/icons/Parse.ly.svg new file mode 100644 index 000000000..68ac29377 --- /dev/null +++ b/src/drivers/webextension/images/icons/Parse.ly.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Partytown.png b/src/drivers/webextension/images/icons/Partytown.png deleted file mode 100644 index 4cccd2d6d..000000000 Binary files a/src/drivers/webextension/images/icons/Partytown.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Partytown.svg b/src/drivers/webextension/images/icons/Partytown.svg new file mode 100644 index 000000000..b38c6813c --- /dev/null +++ b/src/drivers/webextension/images/icons/Partytown.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/PerimeterX.svg b/src/drivers/webextension/images/icons/PerimeterX.svg new file mode 100644 index 000000000..4a6b1399c --- /dev/null +++ b/src/drivers/webextension/images/icons/PerimeterX.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Preact.svg b/src/drivers/webextension/images/icons/Preact.svg index 5ba7e376d..0d20a7de1 100644 --- a/src/drivers/webextension/images/icons/Preact.svg +++ b/src/drivers/webextension/images/icons/Preact.svg @@ -1,6 +1,7 @@ - - - - + + + + + diff --git a/src/drivers/webextension/images/icons/PrimeNG.svg b/src/drivers/webextension/images/icons/PrimeNG.svg new file mode 100644 index 000000000..90e126a74 --- /dev/null +++ b/src/drivers/webextension/images/icons/PrimeNG.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/PrimeReact.svg b/src/drivers/webextension/images/icons/PrimeReact.svg new file mode 100644 index 000000000..1fd7d7dd7 --- /dev/null +++ b/src/drivers/webextension/images/icons/PrimeReact.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/PrimeVue.svg b/src/drivers/webextension/images/icons/PrimeVue.svg new file mode 100644 index 000000000..f18e5937e --- /dev/null +++ b/src/drivers/webextension/images/icons/PrimeVue.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Priority Hints.svg b/src/drivers/webextension/images/icons/Priority Hints.svg new file mode 100644 index 000000000..6ba0181b0 --- /dev/null +++ b/src/drivers/webextension/images/icons/Priority Hints.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Proton Mail.svg b/src/drivers/webextension/images/icons/Proton Mail.svg new file mode 100644 index 000000000..3ba681e23 --- /dev/null +++ b/src/drivers/webextension/images/icons/Proton Mail.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Quill.png b/src/drivers/webextension/images/icons/Quill.png deleted file mode 100644 index 70d95a275..000000000 Binary files a/src/drivers/webextension/images/icons/Quill.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Quill.svg b/src/drivers/webextension/images/icons/Quill.svg new file mode 100644 index 000000000..e769332a3 --- /dev/null +++ b/src/drivers/webextension/images/icons/Quill.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Quora.svg b/src/drivers/webextension/images/icons/Quora.svg index 56c5930ff..163480916 100644 --- a/src/drivers/webextension/images/icons/Quora.svg +++ b/src/drivers/webextension/images/icons/Quora.svg @@ -1,3 +1,14 @@ - - + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/RSS.svg b/src/drivers/webextension/images/icons/RSS.svg new file mode 100644 index 000000000..3f5224cc2 --- /dev/null +++ b/src/drivers/webextension/images/icons/RSS.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/ReadSpeaker.svg b/src/drivers/webextension/images/icons/ReadSpeaker.svg new file mode 100644 index 000000000..5f47a6552 --- /dev/null +++ b/src/drivers/webextension/images/icons/ReadSpeaker.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Recharts.svg b/src/drivers/webextension/images/icons/Recharts.svg new file mode 100644 index 000000000..b1fb09d2a --- /dev/null +++ b/src/drivers/webextension/images/icons/Recharts.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Reddit.png b/src/drivers/webextension/images/icons/Reddit.png deleted file mode 100644 index 10ee7568e..000000000 Binary files a/src/drivers/webextension/images/icons/Reddit.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Reddit.svg b/src/drivers/webextension/images/icons/Reddit.svg new file mode 100644 index 000000000..d4b6aabf4 --- /dev/null +++ b/src/drivers/webextension/images/icons/Reddit.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/RequireJS.png b/src/drivers/webextension/images/icons/RequireJS.png deleted file mode 100644 index a9e3a95b0..000000000 Binary files a/src/drivers/webextension/images/icons/RequireJS.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/RequireJS.svg b/src/drivers/webextension/images/icons/RequireJS.svg new file mode 100644 index 000000000..7648edc62 --- /dev/null +++ b/src/drivers/webextension/images/icons/RequireJS.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Reserve In-Store.svg b/src/drivers/webextension/images/icons/Reserve In-Store.svg new file mode 100644 index 000000000..142394e95 --- /dev/null +++ b/src/drivers/webextension/images/icons/Reserve In-Store.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Rocketfy.svg b/src/drivers/webextension/images/icons/Rocketfy.svg new file mode 100644 index 000000000..16111f97e --- /dev/null +++ b/src/drivers/webextension/images/icons/Rocketfy.svg @@ -0,0 +1,5 @@ + + + + + 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/images/icons/Rust.svg b/src/drivers/webextension/images/icons/Rust.svg index eed1a5563..885902d85 100644 --- a/src/drivers/webextension/images/icons/Rust.svg +++ b/src/drivers/webextension/images/icons/Rust.svg @@ -1,4 +1,4 @@ - - - + + + diff --git a/src/drivers/webextension/images/icons/Salesforce.svg b/src/drivers/webextension/images/icons/Salesforce.svg index 8209a8af9..ddfc334bc 100644 --- a/src/drivers/webextension/images/icons/Salesforce.svg +++ b/src/drivers/webextension/images/icons/Salesforce.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/src/drivers/webextension/images/icons/Salesnauts.png b/src/drivers/webextension/images/icons/Salesnauts.png new file mode 100644 index 000000000..bd4b8b59c Binary files /dev/null and b/src/drivers/webextension/images/icons/Salesnauts.png differ diff --git a/src/drivers/webextension/images/icons/ScandiPWA.png b/src/drivers/webextension/images/icons/ScandiPWA.png new file mode 100644 index 000000000..c6a3aa886 Binary files /dev/null and b/src/drivers/webextension/images/icons/ScandiPWA.png differ diff --git a/src/drivers/webextension/images/icons/Seko OmniReturns.png b/src/drivers/webextension/images/icons/Seko OmniReturns.png new file mode 100644 index 000000000..6f1243ea9 Binary files /dev/null and b/src/drivers/webextension/images/icons/Seko OmniReturns.png differ diff --git a/src/drivers/webextension/images/icons/Sentry.svg b/src/drivers/webextension/images/icons/Sentry.svg index 53b613be4..a20ea33af 100644 --- a/src/drivers/webextension/images/icons/Sentry.svg +++ b/src/drivers/webextension/images/icons/Sentry.svg @@ -1 +1,3 @@ -sentry-glyph-black \ No newline at end of file + + + diff --git a/src/drivers/webextension/images/icons/Shoefitr.io.svg b/src/drivers/webextension/images/icons/Shoefitr.io.svg new file mode 100644 index 000000000..5d63a8804 --- /dev/null +++ b/src/drivers/webextension/images/icons/Shoefitr.io.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Shogun Frontend.svg b/src/drivers/webextension/images/icons/Shogun Frontend.svg new file mode 100644 index 000000000..eb74f2e72 --- /dev/null +++ b/src/drivers/webextension/images/icons/Shogun Frontend.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Shogun Page Builder.svg b/src/drivers/webextension/images/icons/Shogun Page Builder.svg new file mode 100644 index 000000000..6351b3e6c --- /dev/null +++ b/src/drivers/webextension/images/icons/Shogun Page Builder.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/Shogun.svg b/src/drivers/webextension/images/icons/Shogun.svg deleted file mode 100644 index 2df33006b..000000000 --- a/src/drivers/webextension/images/icons/Shogun.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/drivers/webextension/images/icons/ShopBase.svg b/src/drivers/webextension/images/icons/ShopBase.svg new file mode 100644 index 000000000..50175d8b3 --- /dev/null +++ b/src/drivers/webextension/images/icons/ShopBase.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Showit.svg b/src/drivers/webextension/images/icons/Showit.svg new file mode 100644 index 000000000..634e0e299 --- /dev/null +++ b/src/drivers/webextension/images/icons/Showit.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/SMF.png b/src/drivers/webextension/images/icons/Simple Machines Forum.png similarity index 100% rename from src/drivers/webextension/images/icons/SMF.png rename to src/drivers/webextension/images/icons/Simple Machines Forum.png diff --git a/src/drivers/webextension/images/icons/Sitepark.png b/src/drivers/webextension/images/icons/Sitepark.png new file mode 100644 index 000000000..f1bacf3d1 Binary files /dev/null and b/src/drivers/webextension/images/icons/Sitepark.png differ diff --git a/src/drivers/webextension/images/icons/Slick.svg b/src/drivers/webextension/images/icons/Slick.svg new file mode 100644 index 000000000..a29eb2391 --- /dev/null +++ b/src/drivers/webextension/images/icons/Slick.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/SocialJuice.svg b/src/drivers/webextension/images/icons/SocialJuice.svg new file mode 100644 index 000000000..16f227618 --- /dev/null +++ b/src/drivers/webextension/images/icons/SocialJuice.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Socket.IO.svg b/src/drivers/webextension/images/icons/Socket.IO.svg deleted file mode 100644 index 21d042b6a..000000000 --- a/src/drivers/webextension/images/icons/Socket.IO.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - logo full - Created with Sketch. - - - - - diff --git a/src/drivers/webextension/images/icons/Socket.io.svg b/src/drivers/webextension/images/icons/Socket.io.svg new file mode 100644 index 000000000..7cf4b8e78 --- /dev/null +++ b/src/drivers/webextension/images/icons/Socket.io.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Sphinx.png b/src/drivers/webextension/images/icons/Sphinx.png deleted file mode 100644 index e0edb8e17..000000000 Binary files a/src/drivers/webextension/images/icons/Sphinx.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Sphinx.svg b/src/drivers/webextension/images/icons/Sphinx.svg new file mode 100644 index 000000000..6d3273ac0 --- /dev/null +++ b/src/drivers/webextension/images/icons/Sphinx.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/SprintHub.svg b/src/drivers/webextension/images/icons/SprintHub.svg new file mode 100644 index 000000000..a3be73749 --- /dev/null +++ b/src/drivers/webextension/images/icons/SprintHub.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/StatusCast.svg b/src/drivers/webextension/images/icons/StatusCast.svg new file mode 100644 index 000000000..d45407ac6 --- /dev/null +++ b/src/drivers/webextension/images/icons/StatusCast.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Stimulus.png b/src/drivers/webextension/images/icons/Stimulus.png deleted file mode 100644 index a26e01760..000000000 Binary files a/src/drivers/webextension/images/icons/Stimulus.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Stimulus.svg b/src/drivers/webextension/images/icons/Stimulus.svg new file mode 100644 index 000000000..056986085 --- /dev/null +++ b/src/drivers/webextension/images/icons/Stimulus.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Stitches.svg b/src/drivers/webextension/images/icons/Stitches.svg index 7d89c5fee..dae9f606e 100644 --- a/src/drivers/webextension/images/icons/Stitches.svg +++ b/src/drivers/webextension/images/icons/Stitches.svg @@ -1,14 +1,10 @@ - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Storeino.png b/src/drivers/webextension/images/icons/Storeino.png new file mode 100644 index 000000000..2ef5c1d0f Binary files /dev/null and b/src/drivers/webextension/images/icons/Storeino.png differ diff --git a/src/drivers/webextension/images/icons/Suncel.svg b/src/drivers/webextension/images/icons/Suncel.svg new file mode 100644 index 000000000..1e9306828 --- /dev/null +++ b/src/drivers/webextension/images/icons/Suncel.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/Svelte.svg b/src/drivers/webextension/images/icons/Svelte.svg index 4bf279659..e5b5dee29 100644 --- a/src/drivers/webextension/images/icons/Svelte.svg +++ b/src/drivers/webextension/images/icons/Svelte.svg @@ -1,20 +1,11 @@ - - - - - - + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/SweetAlert2.png b/src/drivers/webextension/images/icons/SweetAlert2.png deleted file mode 100644 index edf69c3bb..000000000 Binary files a/src/drivers/webextension/images/icons/SweetAlert2.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/SweetAlert2.svg b/src/drivers/webextension/images/icons/SweetAlert2.svg new file mode 100644 index 000000000..4f0cfd88a --- /dev/null +++ b/src/drivers/webextension/images/icons/SweetAlert2.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Swiffy Slider.svg b/src/drivers/webextension/images/icons/Swiffy Slider.svg new file mode 100644 index 000000000..7ff6d7857 --- /dev/null +++ b/src/drivers/webextension/images/icons/Swiffy Slider.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/Swiftype.svg b/src/drivers/webextension/images/icons/Swiftype.svg new file mode 100644 index 000000000..adce12d7c --- /dev/null +++ b/src/drivers/webextension/images/icons/Swiftype.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Swiper.svg b/src/drivers/webextension/images/icons/Swiper.svg new file mode 100644 index 000000000..d57d0c65e --- /dev/null +++ b/src/drivers/webextension/images/icons/Swiper.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Systeme.io.svg b/src/drivers/webextension/images/icons/Systeme.io.svg new file mode 100644 index 000000000..8fa27ba2d --- /dev/null +++ b/src/drivers/webextension/images/icons/Systeme.io.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/Tachyons.svg b/src/drivers/webextension/images/icons/Tachyons.svg new file mode 100644 index 000000000..c21c82aff --- /dev/null +++ b/src/drivers/webextension/images/icons/Tachyons.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Tally.svg b/src/drivers/webextension/images/icons/Tally.svg new file mode 100644 index 000000000..f3eb5b81c --- /dev/null +++ b/src/drivers/webextension/images/icons/Tally.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/TawkTo.png b/src/drivers/webextension/images/icons/TawkTo.png deleted file mode 100644 index 87d0b6611..000000000 Binary files a/src/drivers/webextension/images/icons/TawkTo.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/TawkTo.svg b/src/drivers/webextension/images/icons/TawkTo.svg new file mode 100644 index 000000000..0bb2c496e --- /dev/null +++ b/src/drivers/webextension/images/icons/TawkTo.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/TrustArc.svg b/src/drivers/webextension/images/icons/TrustArc.svg index 27f47cfca..baf5bfc3c 100644 --- a/src/drivers/webextension/images/icons/TrustArc.svg +++ b/src/drivers/webextension/images/icons/TrustArc.svg @@ -1,34 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/TypeScript.svg b/src/drivers/webextension/images/icons/TypeScript.svg index 2fda9c321..6cce203c5 100644 --- a/src/drivers/webextension/images/icons/TypeScript.svg +++ b/src/drivers/webextension/images/icons/TypeScript.svg @@ -1,3 +1,13 @@ - - + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/UIKit.png b/src/drivers/webextension/images/icons/UIKit.png deleted file mode 100644 index c9cc221a0..000000000 Binary files a/src/drivers/webextension/images/icons/UIKit.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/UIKit.svg b/src/drivers/webextension/images/icons/UIKit.svg new file mode 100644 index 000000000..524188905 --- /dev/null +++ b/src/drivers/webextension/images/icons/UIKit.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Ubiliz.svg b/src/drivers/webextension/images/icons/Ubiliz.svg new file mode 100644 index 000000000..daf74411f --- /dev/null +++ b/src/drivers/webextension/images/icons/Ubiliz.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/Ubuntu.png b/src/drivers/webextension/images/icons/Ubuntu.png deleted file mode 100644 index d47da3c61..000000000 Binary files a/src/drivers/webextension/images/icons/Ubuntu.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/Ubuntu.svg b/src/drivers/webextension/images/icons/Ubuntu.svg new file mode 100644 index 000000000..b4ede814f --- /dev/null +++ b/src/drivers/webextension/images/icons/Ubuntu.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/UpSellit.png b/src/drivers/webextension/images/icons/UpSellit.png index 0445e1272..c92ffca19 100644 Binary files a/src/drivers/webextension/images/icons/UpSellit.png and b/src/drivers/webextension/images/icons/UpSellit.png differ diff --git a/src/drivers/webextension/images/icons/Upfluence.svg b/src/drivers/webextension/images/icons/Upfluence.svg new file mode 100644 index 000000000..cf9b2f47a --- /dev/null +++ b/src/drivers/webextension/images/icons/Upfluence.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/UptimeRobot.svg b/src/drivers/webextension/images/icons/UptimeRobot.svg index 43630f943..7c6b7a503 100644 --- a/src/drivers/webextension/images/icons/UptimeRobot.svg +++ b/src/drivers/webextension/images/icons/UptimeRobot.svg @@ -1,3 +1,11 @@ - + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/UserWay.png b/src/drivers/webextension/images/icons/UserWay.png deleted file mode 100644 index 1f36a488c..000000000 Binary files a/src/drivers/webextension/images/icons/UserWay.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/UserWay.svg b/src/drivers/webextension/images/icons/UserWay.svg new file mode 100644 index 000000000..009fff289 --- /dev/null +++ b/src/drivers/webextension/images/icons/UserWay.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Visx.svg b/src/drivers/webextension/images/icons/Visx.svg new file mode 100644 index 000000000..00daa2b3e --- /dev/null +++ b/src/drivers/webextension/images/icons/Visx.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Wagtail.svg b/src/drivers/webextension/images/icons/Wagtail.svg index bf279197d..564d1f42e 100644 --- a/src/drivers/webextension/images/icons/Wagtail.svg +++ b/src/drivers/webextension/images/icons/Wagtail.svg @@ -1 +1,8 @@ - + + + + + + + + diff --git a/src/drivers/webextension/images/icons/WebAssembly.svg b/src/drivers/webextension/images/icons/WebAssembly.svg index 5eba1e63a..3ae790ffa 100644 --- a/src/drivers/webextension/images/icons/WebAssembly.svg +++ b/src/drivers/webextension/images/icons/WebAssembly.svg @@ -1,18 +1,11 @@ - - - - - web-assembly-icon - - - - - - - - + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Webgains.svg b/src/drivers/webextension/images/icons/Webgains.svg index 44adbc8a0..69fd1bc5f 100644 --- a/src/drivers/webextension/images/icons/Webgains.svg +++ b/src/drivers/webextension/images/icons/Webgains.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Webpack.svg b/src/drivers/webextension/images/icons/Webpack.svg new file mode 100644 index 000000000..9a27efb08 --- /dev/null +++ b/src/drivers/webextension/images/icons/Webpack.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/WhatsApp.svg b/src/drivers/webextension/images/icons/WhatsApp.svg index eef955a72..904cbd984 100644 --- a/src/drivers/webextension/images/icons/WhatsApp.svg +++ b/src/drivers/webextension/images/icons/WhatsApp.svg @@ -1,158 +1,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/Zaraz.svg b/src/drivers/webextension/images/icons/Zaraz.svg deleted file mode 100644 index 3423005cf..000000000 --- a/src/drivers/webextension/images/icons/Zaraz.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/src/drivers/webextension/images/icons/Zoominfo.svg b/src/drivers/webextension/images/icons/Zoominfo.svg index 92861afd7..d1b89f9c3 100644 --- a/src/drivers/webextension/images/icons/Zoominfo.svg +++ b/src/drivers/webextension/images/icons/Zoominfo.svg @@ -1,18 +1,16 @@ - - - Group 12 - Created with Sketch. - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/_hyperscript.png b/src/drivers/webextension/images/icons/_hyperscript.png new file mode 100644 index 000000000..3fff78726 Binary files /dev/null and b/src/drivers/webextension/images/icons/_hyperscript.png differ diff --git a/src/drivers/webextension/images/icons/acquia-cloud-platform.svg b/src/drivers/webextension/images/icons/acquia-cloud-platform.svg index 17d878004..19b3db626 100644 --- a/src/drivers/webextension/images/icons/acquia-cloud-platform.svg +++ b/src/drivers/webextension/images/icons/acquia-cloud-platform.svg @@ -1,7 +1,10 @@ - - - - - - + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/addevent.png b/src/drivers/webextension/images/icons/addevent.png new file mode 100644 index 000000000..358c39f88 Binary files /dev/null and b/src/drivers/webextension/images/icons/addevent.png differ diff --git a/src/drivers/webextension/images/icons/adrecover.png b/src/drivers/webextension/images/icons/adrecover.png new file mode 100644 index 000000000..6a942b7f0 Binary files /dev/null and b/src/drivers/webextension/images/icons/adrecover.png differ diff --git a/src/drivers/webextension/images/icons/akamai.svg b/src/drivers/webextension/images/icons/akamai.svg deleted file mode 100644 index ab4168ba7..000000000 --- a/src/drivers/webextension/images/icons/akamai.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/amCharts.png b/src/drivers/webextension/images/icons/amCharts.png deleted file mode 100644 index 945bd5b40..000000000 Binary files a/src/drivers/webextension/images/icons/amCharts.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/amCharts.svg b/src/drivers/webextension/images/icons/amCharts.svg new file mode 100644 index 000000000..4d256b459 --- /dev/null +++ b/src/drivers/webextension/images/icons/amCharts.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/amazon-efs.png b/src/drivers/webextension/images/icons/amazon-efs.png deleted file mode 100644 index 1b5a3db04..000000000 Binary files a/src/drivers/webextension/images/icons/amazon-efs.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/apigee.svg b/src/drivers/webextension/images/icons/apigee.svg deleted file mode 100644 index 6c535462c..000000000 --- a/src/drivers/webextension/images/icons/apigee.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - diff --git a/src/drivers/webextension/images/icons/arsys.png b/src/drivers/webextension/images/icons/arsys.png new file mode 100644 index 000000000..bd40e080e Binary files /dev/null and b/src/drivers/webextension/images/icons/arsys.png differ diff --git a/src/drivers/webextension/images/icons/asciinema.png b/src/drivers/webextension/images/icons/asciinema.png deleted file mode 100644 index d547cbc3a..000000000 Binary files a/src/drivers/webextension/images/icons/asciinema.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/automatad.png b/src/drivers/webextension/images/icons/automatad.png new file mode 100644 index 000000000..b81551246 Binary files /dev/null and b/src/drivers/webextension/images/icons/automatad.png differ diff --git a/src/drivers/webextension/images/icons/aws-ec2.svg b/src/drivers/webextension/images/icons/aws-ec2.svg deleted file mode 100644 index bb4f86907..000000000 --- a/src/drivers/webextension/images/icons/aws-ec2.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/aws-elb.png b/src/drivers/webextension/images/icons/aws-elb.png deleted file mode 100644 index d52769337..000000000 Binary files a/src/drivers/webextension/images/icons/aws-elb.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/aws-s3.svg b/src/drivers/webextension/images/icons/aws-s3.svg deleted file mode 100644 index 3c8c386a2..000000000 --- a/src/drivers/webextension/images/icons/aws-s3.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/aws.svg b/src/drivers/webextension/images/icons/aws.svg deleted file mode 100644 index 48209aef8..000000000 --- a/src/drivers/webextension/images/icons/aws.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/aws_aurora.png b/src/drivers/webextension/images/icons/aws_aurora.png deleted file mode 100644 index 0a51d594b..000000000 Binary files a/src/drivers/webextension/images/icons/aws_aurora.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/azure.svg b/src/drivers/webextension/images/icons/azure.svg deleted file mode 100644 index 2ff63c104..000000000 --- a/src/drivers/webextension/images/icons/azure.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/bookly.png b/src/drivers/webextension/images/icons/bookly.png new file mode 100644 index 000000000..bf9a35864 Binary files /dev/null and b/src/drivers/webextension/images/icons/bookly.png differ diff --git a/src/drivers/webextension/images/icons/butter-cms.svg b/src/drivers/webextension/images/icons/butter-cms.svg new file mode 100644 index 000000000..50990cb2a --- /dev/null +++ b/src/drivers/webextension/images/icons/butter-cms.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/canvasjs.svg b/src/drivers/webextension/images/icons/canvasjs.svg new file mode 100644 index 000000000..1ce236f13 --- /dev/null +++ b/src/drivers/webextension/images/icons/canvasjs.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/civictheme.png b/src/drivers/webextension/images/icons/civictheme.png new file mode 100644 index 000000000..9fd41aef1 Binary files /dev/null and b/src/drivers/webextension/images/icons/civictheme.png differ diff --git a/src/drivers/webextension/images/icons/clutch.svg b/src/drivers/webextension/images/icons/clutch.svg new file mode 100644 index 000000000..bc2d7a19b --- /dev/null +++ b/src/drivers/webextension/images/icons/clutch.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/daisyUI.png b/src/drivers/webextension/images/icons/daisyUI.png new file mode 100644 index 000000000..32ce572b7 Binary files /dev/null and b/src/drivers/webextension/images/icons/daisyUI.png differ diff --git a/src/drivers/webextension/images/icons/eventon.png b/src/drivers/webextension/images/icons/eventon.png new file mode 100644 index 000000000..e9c6f01e4 Binary files /dev/null and b/src/drivers/webextension/images/icons/eventon.png differ diff --git a/src/drivers/webextension/images/icons/font-awesome.svg b/src/drivers/webextension/images/icons/font-awesome.svg deleted file mode 100644 index a89f11752..000000000 --- a/src/drivers/webextension/images/icons/font-awesome.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/drivers/webextension/images/icons/fresh.svg b/src/drivers/webextension/images/icons/fresh.svg deleted file mode 100644 index 8ae349e15..000000000 --- a/src/drivers/webextension/images/icons/fresh.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/fundraise_up.png b/src/drivers/webextension/images/icons/fundraise_up.png new file mode 100644 index 000000000..181cb43a4 Binary files /dev/null and b/src/drivers/webextension/images/icons/fundraise_up.png differ diff --git a/src/drivers/webextension/images/icons/fusion_charts.png b/src/drivers/webextension/images/icons/fusion_charts.png new file mode 100644 index 000000000..d38a62da4 Binary files /dev/null and b/src/drivers/webextension/images/icons/fusion_charts.png differ diff --git a/src/drivers/webextension/images/icons/google_cloud.svg b/src/drivers/webextension/images/icons/google_cloud.svg deleted file mode 100644 index 37faf439a..000000000 --- a/src/drivers/webextension/images/icons/google_cloud.svg +++ /dev/null @@ -1 +0,0 @@ -Cloud_Logo_Nav diff --git a/src/drivers/webextension/images/icons/here.svg b/src/drivers/webextension/images/icons/here.svg new file mode 100644 index 000000000..7f2ce6569 --- /dev/null +++ b/src/drivers/webextension/images/icons/here.svg @@ -0,0 +1,16 @@ + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/src/drivers/webextension/images/icons/honey-badger.svg b/src/drivers/webextension/images/icons/honey-badger.svg new file mode 100644 index 000000000..b818869b5 --- /dev/null +++ b/src/drivers/webextension/images/icons/honey-badger.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/human_presence.svg b/src/drivers/webextension/images/icons/human_presence.svg new file mode 100644 index 000000000..3381c84e5 --- /dev/null +++ b/src/drivers/webextension/images/icons/human_presence.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/instamojo.svg b/src/drivers/webextension/images/icons/instamojo.svg new file mode 100644 index 000000000..2b28dac65 --- /dev/null +++ b/src/drivers/webextension/images/icons/instamojo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/juspay.svg b/src/drivers/webextension/images/icons/juspay.svg new file mode 100644 index 000000000..cc2852a87 --- /dev/null +++ b/src/drivers/webextension/images/icons/juspay.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/marked.svg b/src/drivers/webextension/images/icons/marked.svg deleted file mode 100644 index a67fb80e5..000000000 --- a/src/drivers/webextension/images/icons/marked.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/mouseflow.png b/src/drivers/webextension/images/icons/mouseflow.png deleted file mode 100644 index 80a1c067f..000000000 Binary files a/src/drivers/webextension/images/icons/mouseflow.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/node.js.png b/src/drivers/webextension/images/icons/node.js.png deleted file mode 100644 index 9cf2664f8..000000000 Binary files a/src/drivers/webextension/images/icons/node.js.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/optimizely-cms.svg b/src/drivers/webextension/images/icons/optimizely-cms.svg deleted file mode 100644 index 0755245d7..000000000 --- a/src/drivers/webextension/images/icons/optimizely-cms.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/ordergroove.svg b/src/drivers/webextension/images/icons/ordergroove.svg new file mode 100644 index 000000000..73ef6578d --- /dev/null +++ b/src/drivers/webextension/images/icons/ordergroove.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/pantheon.svg b/src/drivers/webextension/images/icons/pantheon.svg deleted file mode 100644 index baf01b5f8..000000000 --- a/src/drivers/webextension/images/icons/pantheon.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/drivers/webextension/images/icons/paysafe.svg b/src/drivers/webextension/images/icons/paysafe.svg new file mode 100644 index 000000000..c3b0b6b8f --- /dev/null +++ b/src/drivers/webextension/images/icons/paysafe.svg @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/perimeterx.svg b/src/drivers/webextension/images/icons/perimeterx.svg deleted file mode 100644 index fe4eaf9f3..000000000 --- a/src/drivers/webextension/images/icons/perimeterx.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/readme.svg b/src/drivers/webextension/images/icons/readme.svg new file mode 100644 index 000000000..281c20d2a --- /dev/null +++ b/src/drivers/webextension/images/icons/readme.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/drivers/webextension/images/icons/return-prime.png b/src/drivers/webextension/images/icons/return-prime.png new file mode 100644 index 000000000..70fac9cd8 Binary files /dev/null and b/src/drivers/webextension/images/icons/return-prime.png differ diff --git a/src/drivers/webextension/images/icons/roistat.svg b/src/drivers/webextension/images/icons/roistat.svg new file mode 100644 index 000000000..ef49769af --- /dev/null +++ b/src/drivers/webextension/images/icons/roistat.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/shareaholic.svg b/src/drivers/webextension/images/icons/shareaholic.svg new file mode 100644 index 000000000..355e6d8df --- /dev/null +++ b/src/drivers/webextension/images/icons/shareaholic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/drivers/webextension/images/icons/skilljar.svg b/src/drivers/webextension/images/icons/skilljar.svg new file mode 100644 index 000000000..74cc71534 --- /dev/null +++ b/src/drivers/webextension/images/icons/skilljar.svg @@ -0,0 +1,40 @@ + + + + Group 10 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/styled-components.png b/src/drivers/webextension/images/icons/styled-components.png deleted file mode 100644 index bbc569d89..000000000 Binary files a/src/drivers/webextension/images/icons/styled-components.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/styled-components.svg b/src/drivers/webextension/images/icons/styled-components.svg new file mode 100644 index 000000000..a9d9ad950 --- /dev/null +++ b/src/drivers/webextension/images/icons/styled-components.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/swc.svg b/src/drivers/webextension/images/icons/swc.svg new file mode 100644 index 000000000..acaa96203 --- /dev/null +++ b/src/drivers/webextension/images/icons/swc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/swiftype.png b/src/drivers/webextension/images/icons/swiftype.png deleted file mode 100644 index 69ab7d60f..000000000 Binary files a/src/drivers/webextension/images/icons/swiftype.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/swiper.svg b/src/drivers/webextension/images/icons/swiper.svg deleted file mode 100644 index 63d5a4a32..000000000 --- a/src/drivers/webextension/images/icons/swiper.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/drivers/webextension/images/icons/tailwindcss.svg b/src/drivers/webextension/images/icons/tailwindcss.svg index 5b0424030..48085504b 100644 --- a/src/drivers/webextension/images/icons/tailwindcss.svg +++ b/src/drivers/webextension/images/icons/tailwindcss.svg @@ -1 +1,3 @@ - \ No newline at end of file + + + diff --git a/src/drivers/webextension/images/icons/teamtailor.svg b/src/drivers/webextension/images/icons/teamtailor.svg new file mode 100644 index 000000000..777bcb590 --- /dev/null +++ b/src/drivers/webextension/images/icons/teamtailor.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/drivers/webextension/images/icons/translucide.svg b/src/drivers/webextension/images/icons/translucide.svg deleted file mode 100644 index ed882e815..000000000 --- a/src/drivers/webextension/images/icons/translucide.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/uPlot.png b/src/drivers/webextension/images/icons/uPlot.png new file mode 100644 index 000000000..df056e8bb Binary files /dev/null and b/src/drivers/webextension/images/icons/uPlot.png differ diff --git a/src/drivers/webextension/images/icons/utterances.png b/src/drivers/webextension/images/icons/utterances.png deleted file mode 100644 index e9a61be10..000000000 Binary files a/src/drivers/webextension/images/icons/utterances.png and /dev/null differ diff --git a/src/drivers/webextension/images/icons/utterances.svg b/src/drivers/webextension/images/icons/utterances.svg new file mode 100644 index 000000000..87daab05d --- /dev/null +++ b/src/drivers/webextension/images/icons/utterances.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/viafoura.svg b/src/drivers/webextension/images/icons/viafoura.svg new file mode 100644 index 000000000..d503fd421 --- /dev/null +++ b/src/drivers/webextension/images/icons/viafoura.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/drivers/webextension/images/icons/vue-storefront.svg b/src/drivers/webextension/images/icons/vue-storefront.svg index 809104855..40d6fbee2 100644 --- a/src/drivers/webextension/images/icons/vue-storefront.svg +++ b/src/drivers/webextension/images/icons/vue-storefront.svg @@ -1,6 +1,3 @@ - - - + + diff --git a/src/drivers/webextension/images/icons/vuukle.svg b/src/drivers/webextension/images/icons/vuukle.svg new file mode 100644 index 000000000..5240203db --- /dev/null +++ b/src/drivers/webextension/images/icons/vuukle.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/drivers/webextension/images/icons/vxe-table.png b/src/drivers/webextension/images/icons/vxe-table.png new file mode 100644 index 000000000..1ade43964 Binary files /dev/null and b/src/drivers/webextension/images/icons/vxe-table.png differ diff --git a/src/drivers/webextension/images/icons/wazimo.png b/src/drivers/webextension/images/icons/wazimo.png new file mode 100644 index 000000000..934d7866d Binary files /dev/null and b/src/drivers/webextension/images/icons/wazimo.png differ diff --git a/src/drivers/webextension/images/icons/webflow.svg b/src/drivers/webextension/images/icons/webflow.svg index b7d4fd50a..99a3ac24a 100644 --- a/src/drivers/webextension/images/icons/webflow.svg +++ b/src/drivers/webextension/images/icons/webflow.svg @@ -1,13 +1,4 @@ - - - Created using Figma - - - - - - - - - + + + diff --git a/src/drivers/webextension/images/icons/webpack.svg b/src/drivers/webextension/images/icons/webpack.svg deleted file mode 100644 index d4fed6ba7..000000000 --- a/src/drivers/webextension/images/icons/webpack.svg +++ /dev/null @@ -1 +0,0 @@ -icon-square-big diff --git a/src/drivers/webextension/images/icons/webpushr.svg b/src/drivers/webextension/images/icons/webpushr.svg new file mode 100644 index 000000000..5bb8c116a --- /dev/null +++ b/src/drivers/webextension/images/icons/webpushr.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/drivers/webextension/images/icons/wowza.svg b/src/drivers/webextension/images/icons/wowza.svg new file mode 100644 index 000000000..d47a9f784 --- /dev/null +++ b/src/drivers/webextension/images/icons/wowza.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/drivers/webextension/js/content.js b/src/drivers/webextension/js/content.js index 44511e07d..46798e0c8 100644 --- a/src/drivers/webextension/js/content.js +++ b/src/drivers/webextension/js/content.js @@ -71,9 +71,22 @@ async function getDom(technologies) { return } - dom[selector].forEach(({ exists, text, attributes }) => { + dom[selector].forEach(({ exists, text, properties, attributes }) => { nodes.forEach((node) => { - if (exists) { + if ( + technologies.filter(({ name: _name }) => _name === name).length >= + 50 + ) { + return + } + + if ( + exists && + technologies.findIndex( + ({ name: _name, selector: _selector, exists }) => + name === _name && selector === _selector && exists === '' + ) === -1 + ) { technologies.push({ name, selector, @@ -83,9 +96,18 @@ async function getDom(technologies) { if (text) { // eslint-disable-next-line unicorn/prefer-text-content - const value = node.innerText ? node.innerText.trim() : '' + const value = (node.innerText ? node.innerText.trim() : '').slice( + 0, + 1000000 + ) - if (value) { + if ( + value && + technologies.findIndex( + ({ name: _name, selector: _selector, text }) => + name === _name && selector === _selector && text === value + ) === -1 + ) { technologies.push({ name, selector, @@ -94,9 +116,54 @@ async function getDom(technologies) { } } + if (properties) { + Object.keys(properties).forEach((property) => { + if ( + Object.prototype.hasOwnProperty.call(node, property) && + technologies.findIndex( + ({ + name: _name, + selector: _selector, + property: _property, + value, + }) => + name === _name && + selector === _selector && + property === _property && + value === toScalar(value) + ) === -1 + ) { + const value = node[property] + + if (typeof value !== 'undefined') { + technologies.push({ + name, + selector, + property, + value: toScalar(value), + }) + } + } + }) + } + if (attributes) { Object.keys(attributes).forEach((attribute) => { - if (node.hasAttribute(attribute)) { + if ( + node.hasAttribute(attribute) && + technologies.findIndex( + ({ + name: _name, + selector: _selector, + attribute: _atrribute, + value, + }) => + name === _name && + selector === _selector && + attribute === _atrribute && + value === toScalar(value) + ) === -1 + ) { const value = node.getAttribute(attribute) technologies.push({ diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js index 200c80f83..b1a526c86 100644 --- a/src/drivers/webextension/js/driver.js +++ b/src/drivers/webextension/js/driver.js @@ -12,7 +12,9 @@ const { } = Wappalyzer const { agent, promisify, getOption, setOption, open, globEscape } = Utils -const expiry = 1000 * 60 * 60 * 24 +const expiry = 1000 * 60 * 60 * 48 + +const maxHostnames = 100 const hostnameIgnoreList = /\b((local|dev(elop(ment)?)?|sandbox|stag(e|ing)?|preprod|production|preview|test(ing)?|[^a-z]demo(shop)?|cache)[.-]|dev\d|localhost|((wappalyzer|google|bing|baidu|microsoft|duckduckgo|facebook|adobe|twitter|reddit|yahoo|wikipedia|amazon|amazonaws|youtube|stackoverflow|github|stackexchange|w3schools|twitch)\.)|(live|office|herokuapp|shopifypreview)\.com|\.local|\.test|\.netlify\.app|web\.archive\.org|zoom\.us|^([0-9.]+|[\d.]+)$|^([a-f0-9:]+:+)+[a-f0-9]+$)/ @@ -44,8 +46,6 @@ function isSimilarUrl(a, b) { } const Driver = { - lastPing: Date.now(), - /** * Initialise driver */ @@ -150,6 +150,13 @@ const Driver = { } } + Object.keys(technologies).forEach((name) => { + delete technologies[name].description + delete technologies[name].cpe + delete technologies[name].pricing + delete technologies[name].website + }) + setTechnologies(technologies) setCategories(categories) } catch (error) { @@ -170,17 +177,13 @@ const Driver = { * @param {String} body */ post(url, body) { - try { - return fetch(url, { - method: 'POST', - body: JSON.stringify(body), - headers: { - 'Content-Type': 'application/json', - }, - }) - } catch (error) { - throw new Error(error.message || error.toString()) - } + return fetch(url, { + method: 'POST', + body: JSON.stringify(body), + headers: { + 'Content-Type': 'application/json', + }, + }) }, /** @@ -500,6 +503,15 @@ const Driver = { ({ name, value }) => (items.cookies[name.toLowerCase()] = [value]) ) + // Change Google Analytics 4 cookie from _ga_XXXXXXXXXX to _ga_* + Object.keys(items.cookies).forEach((name) => { + if (/_ga_[A-Z0-9]+/.test(name)) { + items.cookies['_ga_*'] = items.cookies[name] + + delete items.cookies[name] + } + }) + const technologies = getRequiredTechnologies(requires, categoryRequires) await Driver.onDetect( @@ -553,7 +565,7 @@ const Driver = { url = url.split('#')[0] - const { hostname } = new URL(url) + const { hostname, pathname } = new URL(url) // Cache detections const cache = (Driver.cache.hostnames[hostname] = { @@ -570,10 +582,27 @@ const Driver = { .concat(detections) .filter(({ technology }) => technology) .filter( - ({ technology: { name }, pattern: { regex } }, index, detections) => + ( + { + technology: { name }, + pattern: { regex, value }, + confidence, + version, + }, + index, + detections + ) => detections.findIndex( - ({ technology: { name: _name }, pattern: { regex: _regex } }) => + ({ + technology: { name: _name }, + pattern: { regex: _regex, value: _value }, + confidence: _confidence, + version: _version, + }) => name === _name && + version === _version && + confidence === _confidence && + value === _value && (!regex || regex.toString() === _regex.toString()) ) === index ) @@ -589,23 +618,63 @@ const Driver = { return detection }) + // Track if technology was identified on website's root path + detections.forEach(({ technology: { name } }) => { + const detection = cache.detections.find( + ({ technology: { name: _name } }) => name === _name + ) + + detection.rootPath = detection.rootPath || pathname === '/' + }) + + const resolved = resolve(cache.detections).map((detection) => detection) + + // Look for technologies that require other technologies to be present on the page + const requires = [ + ...Wappalyzer.requires.filter(({ name }) => + resolved.some(({ name: _name }) => _name === name) + ), + ...Wappalyzer.categoryRequires.filter(({ categoryId }) => + resolved.some(({ categories }) => + categories.some(({ id }) => id === categoryId) + ) + ), + ] + + try { + await Driver.content(url, 'analyzeRequires', [url, requires]) + } catch (error) { + // Continue + } + + await Driver.setIcon(url, resolved) + + await Driver.ping() + cache.hits += incrementHits ? 1 : 0 cache.language = cache.language || language // Expire cache - Driver.cache.hostnames = Object.keys(Driver.cache.hostnames).reduce( - (hostnames, hostname) => { + Driver.cache.hostnames = Object.keys(Driver.cache.hostnames) + .sort((a, b) => + Driver.cache.hostnames[a].dateTime > Driver.cache.hostnames[b].dateTime + ? -1 + : 1 + ) + .reduce((hostnames, hostname) => { const cache = Driver.cache.hostnames[hostname] - if (cache.dateTime > Date.now() - expiry) { + if ( + cache.dateTime > Date.now() - expiry && + Object.keys(hostnames).length < maxHostnames + ) { hostnames[hostname] = cache } return hostnames - }, - {} - ) + }, {}) + // Save cache await setOption( 'hostnames', Object.keys(Driver.cache.hostnames).reduce( @@ -620,6 +689,7 @@ const Driver = { technology: { name: technology }, pattern: { regex, confidence }, version, + rootPath, lastUrl, }) => ({ technology, @@ -628,6 +698,7 @@ const Driver = { confidence, }, version, + rootPath, lastUrl, }) ), @@ -637,30 +708,7 @@ const Driver = { ) ) - const resolved = resolve(cache.detections).map((detection) => detection) - - const requires = [ - ...Wappalyzer.requires.filter(({ name }) => - resolved.some(({ name: _name }) => _name === name) - ), - ...Wappalyzer.categoryRequires.filter(({ categoryId }) => - resolved.some(({ categories }) => - categories.some(({ id }) => id === categoryId) - ) - ), - ] - - try { - await Driver.content(url, 'analyzeRequires', [url, requires]) - } catch (error) { - // Continue - } - - await Driver.setIcon(url, resolved) - Driver.log({ hostname, technologies: resolved }) - - await Driver.ping() }, /** @@ -772,7 +820,7 @@ const Driver = { const { hostname } = new URL(url) - const cache = Driver.cache.hostnames[hostname] + const cache = Driver.cache.hostnames?.[hostname] const resolved = (cache ? resolve(cache.detections) : []).filter( ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl) @@ -809,7 +857,7 @@ const Driver = { ) if (!response.ok) { - Driver.error(new Error(response.statusText)) + Driver.log(`getRobots: ${response.statusText} (${hostname})`) resolve('') } @@ -899,20 +947,25 @@ const Driver = { if (tracking && termsAccepted) { const urls = Object.keys(Driver.cache.hostnames).reduce( (urls, hostname) => { + if (Object.keys(urls).length >= 25) { + return urls + } + // eslint-disable-next-line standard/computed-property-even-spacing const { language, detections, hits, https } = Driver.cache.hostnames[hostname] const url = `http${https ? 's' : ''}://${hostname}` - if (!hostnameIgnoreList.test(hostname) && hits >= 3) { + if (!hostnameIgnoreList.test(hostname) && hits) { urls[url] = urls[url] || { technologies: resolve(detections).reduce( - (technologies, { name, confidence, version }) => { + (technologies, { name, confidence, version, rootPath }) => { if (confidence === 100) { technologies[name] = { version, hits, + rootPath, } } @@ -933,19 +986,40 @@ const Driver = { const count = Object.keys(urls).length - if (count && (count >= 25 || Driver.lastPing < Date.now() - expiry)) { - await Driver.post('https://api.wappalyzer.com/v2/ping/', { - version: chrome.runtime.getManifest().version, - urls, - }) + const lastPing = await getOption('lastPing', Date.now()) + + if ( + count && + ((count >= 25 && lastPing < Date.now() - 1000 * 60 * 60) || + (count >= 5 && lastPing < Date.now() - expiry)) + ) { + await setOption('lastPing', Date.now()) - await setOption('hostnames', (Driver.cache.hostnames = {})) + try { + await Driver.post('https://ping.wappalyzer.com/v2/', { + version: chrome.runtime.getManifest().version, + urls, + }) + } catch (error) { + // eslint-disable-next-line no-console + console.error(error) + } - Driver.lastPing = Date.now() + Object.keys(Driver.cache.hostnames).forEach((hostname) => { + Driver.cache.hostnames[hostname].hits = 0 + }) } if (Driver.cache.ads.length > 25) { - await Driver.post('https://ad.wappalyzer.com/log/wp/', Driver.cache.ads) + try { + await Driver.post( + 'https://ad.wappalyzer.com/log/wp/', + Driver.cache.ads + ) + } catch (error) { + // eslint-disable-next-line no-console + console.error(error) + } Driver.cache.ads = [] } @@ -981,7 +1055,7 @@ chrome.tabs.onUpdated.addListener(async (id, { status, url }) => { const showCached = await getOption('showCached', true) - const cache = Driver.cache.hostnames[hostname] + const cache = Driver.cache.hostnames?.[hostname] const resolved = (cache ? resolve(cache.detections) : []).filter( ({ lastUrl }) => showCached || isSimilarUrl(url, lastUrl) 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 ac582ef33..fe2ed174a 100644 --- a/src/drivers/webextension/js/popup.js +++ b/src/drivers/webextension/js/popup.js @@ -243,38 +243,40 @@ const Popup = { const el = { body: document.body, - terms: document.querySelector('.terms'), detections: document.querySelector('.detections'), empty: document.querySelector('.empty'), footer: document.querySelector('.footer'), - tabPlus: document.querySelector('.tab--plus'), - termsButtonAccept: document.querySelector('.terms__button--accept'), - termsButtonDecline: document.querySelector('.terms__button--decline'), - headerSwitches: document.querySelectorAll('.header__switch'), - headerSwitchEnabled: document.querySelector('.header__switch--enabled'), + game: document.querySelector('.ttt-game'), headerSwitchDisabled: document.querySelector('.header__switch--disabled'), - plusConfigureApiKey: document.querySelector('.plus-configure__apikey'), - plusConfigureSave: document.querySelector('.plus-configure__save'), - plusDownload: document.querySelector('.plus-download'), + headerSwitchEnabled: document.querySelector('.header__switch--enabled'), + headerSwitches: document.querySelectorAll('.header__switch'), plusDownloadLink: document.querySelector( '.plus-download__button .button__link' ), - headerSettings: document.querySelector('.header__settings'), - headerThemes: document.querySelectorAll('.header__theme'), - headerThemeLight: document.querySelector('.header__theme--light'), - headerThemeDark: document.querySelector('.header__theme--dark'), - templates: document.querySelectorAll('[data-template]'), - tabs: document.querySelectorAll('.tab'), - tabItems: document.querySelectorAll('.tab-item'), + playGame: document.querySelector('.empty__play-game'), + plusConfigureApiKey: document.querySelector('.plus-configure__apikey'), + plusConfigureSave: document.querySelector('.plus-configure__save'), + plusDownload: document.querySelector('.plus-download'), + tabPlus: document.querySelector('.tab--plus'), + terms: document.querySelector('.terms'), + termsButtonAccept: document.querySelector('.terms__button--accept'), + termsButtonDecline: document.querySelector('.terms__button--decline'), credits: document.querySelector('.credits'), - issue: document.querySelector('.issue'), - footerHeadingText: document.querySelector('.footer__heading-text'), - footerContentBody: document.querySelector('.footer__content-body'), - footerButtonText: document.querySelector('.footer .button__text'), footerButtonLink: document.querySelector('.footer .button__link'), + footerButtonText: document.querySelector('.footer .button__text'), + footerContentBody: document.querySelector('.footer__content-body'), + footerHeading: document.querySelector('.footer__heading'), + footerHeadingText: document.querySelector('.footer__heading-text'), footerToggleClose: document.querySelector('.footer__toggle--close'), footerToggleOpen: document.querySelector('.footer__toggle--open'), - footerHeading: document.querySelector('.footer__heading'), + headerSettings: document.querySelector('.header__settings'), + headerThemeDark: document.querySelector('.header__theme--dark'), + headerThemeLight: document.querySelector('.header__theme--light'), + headerThemes: document.querySelectorAll('.header__theme'), + issue: document.querySelector('.issue'), + tabItems: document.querySelectorAll('.tab-item'), + tabs: document.querySelectorAll('.tab'), + templates: document.querySelectorAll('[data-template]'), } // Templates @@ -286,8 +288,6 @@ const Popup = { return templates }, {}) - Popup.onGetDetections() - // Disabled domains const dynamicIcon = await getOption('dynamicIcon', false) @@ -482,7 +482,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() @@ -493,7 +493,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() @@ -545,6 +554,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'), @@ -556,6 +567,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') @@ -565,6 +578,7 @@ const Popup = { el.empty.classList.add('empty--hidden') el.detections.classList.remove('detections--hidden') + el.issue.classList.remove('issue--hidden') el.plusDownload.classList.remove('plus-download--hidden') while (el.detections.firstChild) { diff --git a/src/drivers/webextension/manifest-v2.json b/src/drivers/webextension/manifest-v2.json index ac581cfa3..e88350e62 100644 --- a/src/drivers/webextension/manifest-v2.json +++ b/src/drivers/webextension/manifest-v2.json @@ -4,7 +4,7 @@ "author": "Wappalyzer", "homepage_url": "https://www.wappalyzer.com/", "description": "Identify web technologies", - "version": "6.10.44", + "version": "6.10.53", "default_locale": "en", "manifest_version": 2, "icons": { diff --git a/src/drivers/webextension/manifest-v3.json b/src/drivers/webextension/manifest-v3.json index f8534b7f6..cf85ad25d 100644 --- a/src/drivers/webextension/manifest-v3.json +++ b/src/drivers/webextension/manifest-v3.json @@ -4,7 +4,7 @@ "author": "Wappalyzer", "homepage_url": "https://www.wappalyzer.com/", "description": "Identify web technologies", - "version": "6.10.44", + "version": "6.10.53", "default_locale": "en", "manifest_version": 3, "icons": { diff --git a/src/package.json b/src/package.json index 145ba7424..13e9774cd 100644 --- a/src/package.json +++ b/src/package.json @@ -13,7 +13,7 @@ "software" ], "homepage": "https://www.wappalyzer.com/", - "version": "6.10.44", + "version": "6.10.53", "author": "Wappalyzer", "license": "MIT", "repository": { diff --git a/src/technologies/_.json b/src/technologies/_.json index 1bcc1543f..b907433a1 100644 --- a/src/technologies/_.json +++ b/src/technologies/_.json @@ -101,21 +101,54 @@ "scriptSrc": "4tellcdn\\.azureedge\\.net", "website": "https://4-tell.com" }, + "51.LA": { + "cats": [ + 10 + ], + "description": "51.LA is a Chinese based website visitor counter.", + "icon": "51.LA.png", + "js": { + "LA.config.ck": "" + }, + "pricing": [ + "freemium", + "recurring", + "payg" + ], + "saas": true, + "website": "https://www.51.la" + }, + "6sense": { + "cats": [ + 32, + 76 + ], + "description": "6sense is a B2B predictive intelligence platform for marketing and sales.", + "headers": { + "Content-Security-Policy": "\\.6sc\\.co/" + }, + "icon": "6sense.svg", + "pricing": [ + "poa", + "high", + "recurring" + ], + "saas": true, + "scriptSrc": "\\.6sc\\.co/", + "website": "https://6sense.com" + }, "8base": { "cats": [ 3, 62 ], - "description": "8base is a Backend-as-a-Service. It lets front-end developers focus more on what they love and backend developers expedite their workflow", - "icon": "8base-logo.png", + "description": "8base is a low-code development platform for building and running enterprise-grade digital products including SaaS solutions, marketplaces and other go-to-market applications.", + "icon": "8base.svg", "pricing": [ "low", "freemium", "recurring" ], - "requires": [ - "GraphQL" - ], "saas": true, "website": "https://8base.com", "xhr": "api\\.8base\\.com" @@ -140,5 +173,18 @@ "web.startComponents": "" }, "website": "https://github.com/sulu/web-js" + }, + "_hyperscript ": { + "cats": [ + 59 + ], + "description": "_​hyperscript is a scripting language for adding interactivity to the front-end.", + "icon": "_hyperscript.png", + "js": { + "_hyperscript": "" + }, + "oss": true, + "scriptSrc": "//unpkg\\.com/hyperscript\\.org@([\\d\\.]+)\\;version:\\1", + "website": "https://hyperscript.org" } } \ No newline at end of file diff --git a/src/technologies/a.json b/src/technologies/a.json index 6db10f9d0..b35b46404 100644 --- a/src/technologies/a.json +++ b/src/technologies/a.json @@ -203,6 +203,7 @@ 59 ], "description": "JavaScript library to animate elements on your page as you scroll.", + "dom": " body[data-aos-easing]", "icon": "AOS.svg", "js": { "AOS.init": "", @@ -316,7 +317,7 @@ ], "certIssuer": "Amazon", "description": "AWS Certificate Manager is a service that lets you easily provision, manage, and deploy public and private Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificates for use with AWS services and your internal connected resources.", - "icon": "aws.svg", + "icon": "AWS Certificate Manager.svg", "implies": "Amazon Web Services", "saas": true, "website": "https://aws.amazon.com/certificate-manager/" @@ -329,7 +330,7 @@ "headers": { "x-amzn-waf-action": "^captcha$" }, - "icon": "aws.svg", + "icon": "AWS WAF Captcha.svg", "implies": "Amazon Web Services", "pricing": [ "recurring", @@ -933,6 +934,17 @@ "saas": true, "website": "https://goadopt.io" }, + "AdRecover": { + "cats": [ + 36 + ], + "description": "AdRecover is a tool that helps online publishers monetise their Adblock inventory.", + "icon": "adrecover.png", + "js": { + "adRecover.ap": "" + }, + "website": "https://www.adrecover.com" + }, "AdRiver": { "cats": [ 36 @@ -1116,6 +1128,20 @@ "url": "^https?://(?:[^\\/]+\\.)?adcash\\.com/script/pop_", "website": "http://adcash.com" }, + "AddEvent": { + "cats": [ + 72 + ], + "description": "AddEvent is used to Add to Calendar and event tools for websites and newsletters.", + "icon": "addevent.png", + "pricing": [ + "mid", + "recurring", + "poa" + ], + "scriptSrc": "//addevent\\.com/", + "website": "https://www.addevent.com" + }, "AddShoppers": { "cats": [ 5, @@ -1962,7 +1988,7 @@ "X-EdgeConnect-MidMile-RTT": "", "X-EdgeConnect-Origin-MEX-Latency": "" }, - "icon": "akamai.svg", + "icon": "Akamai.svg", "pricing": [ "poa" ], @@ -1979,7 +2005,7 @@ "bm_sz": "" }, "description": "Akamai Bot Manager detect bots using device fingerprinting bot signatures.", - "icon": "akamai.svg", + "icon": "Akamai.svg", "implies": "Akamai", "pricing": [ "poa" @@ -1992,7 +2018,7 @@ 16 ], "description": "Akamai Web Application Protector is designed for companies looking for a more automated approach to web application firewall (WAF) and distributed denial-of-service (DDoS) security.", - "icon": "akamai.svg", + "icon": "Akamai.svg", "implies": "Akamai", "js": { "AKSB": "\\;confidence:50" @@ -2018,7 +2044,7 @@ "html": [ "" ], - "icon": "akamai.svg", + "icon": "Akamai.svg", "implies": [ "Boomerang" ], @@ -2331,7 +2357,7 @@ "AWSALBCORS": "" }, "description": "Amazon Application Load Balancer (ALB) distributes incoming application traffic to increase availability and support content-based routing.", - "icon": "aws-elb.png", + "icon": "Amazon ELB.svg", "implies": "Amazon Web Services", "website": "https://aws.amazon.com/elasticloadbalancing/" }, @@ -2377,7 +2403,7 @@ 34 ], "description": "Amazon Aurora is a relational database service developed and offered by Amazon Web Services.", - "icon": "aws_aurora.png", + "icon": "Amazon Aurora.svg", "implies": "Amazon Web Services", "website": "https://aws.amazon.com/rds/aurora" }, @@ -2386,7 +2412,7 @@ 78 ], "description": "Amazon CloudWatch RUM is a real-user monitoring capability that helps you identify and debug issues in the client-side on web applications and enhance end user's digital experience.", - "icon": "aws.svg", + "icon": "Amazon CloudWatch.svg", "js": { "AwsRum": "", "AwsRumClient": "", @@ -2411,7 +2437,7 @@ "Via": "\\(CloudFront\\)$", "X-Amz-Cf-Id": "" }, - "icon": "Amazon-Cloudfront.svg", + "icon": "Amazon Cloudfront.svg", "implies": "Amazon Web Services", "saas": true, "website": "http://aws.amazon.com/cloudfront/" @@ -2421,7 +2447,7 @@ 69 ], "description": "Amazon Cognito lets you add user sign-up, sign-in, and access control to your web and mobile apps. Amazon Cognito supports sign-in with social identity providers, such as Apple, Facebook, Google, and Amazon, and enterprise identity providers via SAML 2.0 and OpenID Connect.", - "icon": "aws.svg", + "icon": "Amazon Cognito.svg", "implies": "Amazon Web Services", "pricing": [ "payg" @@ -2437,7 +2463,7 @@ "headers": { "Server": "\\(Amazon\\)" }, - "icon": "aws-ec2.svg", + "icon": "Amazon EC2.svg", "implies": "Amazon Web Services", "saas": true, "website": "http://aws.amazon.com/ec2/" @@ -2449,7 +2475,7 @@ "headers": { "Server": "^ECS" }, - "icon": "aws.svg", + "icon": "Amazon ECS.svg", "implies": [ "Amazon Web Services", "Docker" @@ -2462,7 +2488,7 @@ 48 ], "description": "Amazon Elastic File System is a cloud storage service provided by Amazon Web Services.", - "icon": "amazon-efs.png", + "icon": "Amazon EFS.svg", "implies": [ "Amazon Web Services" ], @@ -2476,7 +2502,7 @@ "cookies": { "AWSELB": "" }, - "icon": "aws-elb.png", + "icon": "Amazon ELB.svg", "implies": "Amazon Web Services", "saas": true, "website": "https://aws.amazon.com/elasticloadbalancing/" @@ -2518,7 +2544,7 @@ "Content-Security-Policy-Report-Only": "s3[^ ]*\\.amazonaws\\.com", "server": "^AmazonS3$" }, - "icon": "aws-s3.svg", + "icon": "Amazon S3.svg", "implies": "Amazon Web Services", "saas": true, "scriptSrc": "s3[^ ]*\\.amazonaws\\.com/", @@ -2534,7 +2560,7 @@ "amazonses\\.com" ] }, - "icon": "aws.svg", + "icon": "Amazon SES.svg", "implies": "Amazon Web Services", "saas": true, "website": "https://aws.amazon.com/ses/" @@ -2557,7 +2583,7 @@ "x-amz-rid": "", "x-amz-version-id": "" }, - "icon": "aws.svg", + "icon": "Amazon Web Services.svg", "saas": true, "website": "https://aws.amazon.com/" }, @@ -2635,12 +2661,22 @@ "cats": [ 1 ], + "description": "Amiro.CMS is a commercial content management system developed and distributed by the Russian company Amiro. Written in PHP and uses MySQL as a database.", "icon": "Amiro.CMS.png", - "implies": "PHP", + "implies": [ + "PHP", + "MySQL" + ], "meta": { "generator": "Amiro" }, - "website": "http://amirocms.com" + "pricing": [ + "freemium", + "onetime", + "recurring" + ], + "saas": true, + "website": "https://www.amiro.ru" }, "Amobee": { "cats": [ @@ -2870,6 +2906,7 @@ } } }, + "icon": "Animate.css.svg", "oss": true, "website": "https://animate.style" }, @@ -2993,7 +3030,7 @@ "scriptSrc": "\\.anyclip\\.com", "website": "https://www.anyclip.com" }, - "Apache": { + "Apache HTTP Server": { "cats": [ 22 ], @@ -3003,7 +3040,7 @@ "Server": "(?:Apache(?:$|/([\\d.]+)|[^/-])|(?:^|\\b)HTTPD)\\;version:\\1" }, "icon": "Apache.svg", - "website": "http://apache.org" + "website": "https://httpd.apache.org/" }, "Apache JSPWiki": { "cats": [ @@ -3012,7 +3049,7 @@ "cpe": "cpe:2.3:a:apache:jspwiki:*:*:*:*:*:*:*:*", "description": "Apache JSPWiki is an open-source Wiki engine, built around standard JEE components (Java, servlets, JSP).", "html": "]* xmlns:jspwiki=", - "icon": "Apache JSPWiki.png", + "icon": "Apache.svg", "implies": "Apache Tomcat", "scriptSrc": "jspwiki", "url": "wiki\\.jsp", @@ -3040,7 +3077,7 @@ "headers": { "Server": "ATS/?([\\d.]+)?\\;version:\\1" }, - "icon": "Apache Traffic Server.png", + "icon": "Apache Traffic Server.svg", "website": "http://trafficserver.apache.org/" }, "Apache Wicket": { @@ -3055,6 +3092,24 @@ }, "website": "http://wicket.apache.org" }, + "Apereo CAS": { + "cats": [ + 69 + ], + "description": "Apereo CAS is an open and well-documented authentication protocol. The primary implementation of the protocol is an open-source Java server component by the same name hosted here, with support for a plethora of additional authentication protocols and features.", + "dom": { + "head > title": { + "text": "CAS – (?:Central Authentication Service|Service Central d'Authentification)" + } + }, + "icon": "Apereo CAS.png", + "implies": [ + "Java", + "PHP" + ], + "oss": true, + "website": "https://www.apereo.org/projects/cas" + }, "ApexPages": { "cats": [ 51 @@ -3062,17 +3117,22 @@ "headers": { "X-Powered-By": "Salesforce\\.com ApexPages" }, - "icon": "ApexPages.png", + "icon": "CloudFlare.svg", "implies": "Salesforce", "website": "https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_intro.htm" }, "Apigee": { "cats": [ - 4 + 4, + 19 ], "description": "Apigee is an API gateway management tool to exchange data across cloud services and applications", - "html": "