From a5b3c6d4f01518134231e2a9c5cf6bf63339a1b7 Mon Sep 17 00:00:00 2001 From: Doug Aitken Date: Fri, 21 Feb 2020 13:21:16 +0000 Subject: [PATCH 01/14] Correct the WooCommerce entry Update the website URL for WooCommerce, the WordPress plugin --- src/apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 285e1e0c7..007c1c8c4 100644 --- a/src/apps.json +++ b/src/apps.json @@ -11843,7 +11843,7 @@ "generator": "WooCommerce ([\\d.]+)\\;version:\\1" }, "script": "/woocommerce(?:\\.min)?\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1", - "website": "http://www.woothemes.com/woocommerce" + "website": "https://woocommerce.com" }, "Woopra": { "cats": [ From c880c9a7094fd72d6097ac6cef4bc440b630ab54 Mon Sep 17 00:00:00 2001 From: Doug Aitken Date: Fri, 21 Feb 2020 13:27:24 +0000 Subject: [PATCH 02/14] deleting old woothemes era icon --- src/icons/WooCommerce.png | Bin 940 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/icons/WooCommerce.png diff --git a/src/icons/WooCommerce.png b/src/icons/WooCommerce.png deleted file mode 100644 index 9772015ace2ab7827602cba5a689bd8f3eb9928f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 940 zcmV;d15^BoP)C;XbFQP#j?E8%KH+Y~FtsZot`#SO4oc z$D+u)CAaVTmSL5oIbiaV9dJWFeEj@h z!!{H}e#VO3D89UY>mJaNabUS8FW#a!OwB5g^juKdy#&Pq3y&DMoNIC`N*V!yzkmPz zH*k&whYT{PY?%Oe7)cHYDdDdSUHw!8z&jA;%BXYu)T?fHA0p0iSKYoI< zZ{E58fAaiwaQ>UO@4*QWUm1ee0jqbMfE)Jk@w5L%9*IB;zre*FJbL=Swqr7igN~oM z1ZQ8le*3?Qxi8)V3$FuOXRb#veCoWF7zxbEC*l9UfB&#X$?k*4|Et>slkb4&(kUng z{`vbC&VKRg&3|=EA8-OYbLB2p2P|H_`M;J!B>4^i6|Wz0B)B$U@vLg$_uo3I?tfMP z3an~CMX;_*Joyd);iKnnVi*i6m~`v{;l;CEY~%lDFW+LQYwDSSvj`^I0h5qQL>QPj zYsr5VGaq2;u7#_spS&7FU1>w_e?zZy${Y}0G!eznx9>iHeXsAHf)QQkuH3;00VAJm z${YZ~w;w)-8=7C;0nS>;zK7wk!U_LBe)@uvODGNj5U%K5_W%2jpZ_P%UJ5Q)jD2%( zs!ge$_W$MUx8Pi2=^2f;7=}53s75KMss*)b^xcyQss$Cjpd13imeBeGS8r)hG|Te_ z&;fZM2e3oCN%Xe-BDiZdK%LVI@Xje(_dFknPXqB68d&-TYIZ(y_Z$FQ*paZ2=u`Xv O0000 Date: Fri, 21 Feb 2020 13:29:08 +0000 Subject: [PATCH 03/14] Upload WooCommerce W icon --- src/icons/WooCommerce.png | Bin 0 -> 9853 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/icons/WooCommerce.png diff --git a/src/icons/WooCommerce.png b/src/icons/WooCommerce.png new file mode 100644 index 0000000000000000000000000000000000000000..d02a94dbeefdddd58009053e42fb2d4c17123e69 GIT binary patch literal 9853 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 HHs1dW(eb(U literal 0 HcmV?d00001 From b1d2302de1c06b5d8cbcefaa462c118411999589 Mon Sep 17 00:00:00 2001 From: David MARTIN <53537199+dmartinjs@users.noreply.github.com> Date: Sun, 23 Feb 2020 17:52:35 +0100 Subject: [PATCH 04/14] Remove Implies Angular for Ionic Ionic moved from Angular component to Web Component. --- src/apps.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 285e1e0c7..0d4d60c22 100644 --- a/src/apps.json +++ b/src/apps.json @@ -5165,7 +5165,6 @@ 18 ], "icon": "ionic.png", - "implies": "Angular", "js": { "Ionic.config": "", "Ionic.version": "^(.+)$\\;version:\\1" From 73e4a0b9a1d63228697eeb7bac62c52572f483b3 Mon Sep 17 00:00:00 2001 From: Antonio Cavestro Date: Tue, 25 Feb 2020 17:20:29 +0100 Subject: [PATCH 05/14] Add Live Story icon --- src/icons/LiveStory.png | Bin 0 -> 2388 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/icons/LiveStory.png diff --git a/src/icons/LiveStory.png b/src/icons/LiveStory.png new file mode 100644 index 0000000000000000000000000000000000000000..db7200f7afbf2687d740959270c43ce74ff5e747 GIT binary patch literal 2388 zcma)8XH-*L7QU$hL8VEJ5+l8ZCWaP50)!$MiX-uf5+Fzv2!sexk*=6X6HoyWP(U0J zL_&~ap^G3TIF3|(f(?--h$8TOi84C#Z_Zu&>~HV;?Qfrb*1Bt54%v;gQ9@Y)0Dz57 zj&>eGj~AI3T)5w)hrbXyP=p7G095uOCxt;0&D$x^)fLbYVle;)k^vwhitqtI$^h&K z1^{P}$}j8z(pu+$0U((UK-W3@g*d188Xd%9 zg;`)QQBhF_Q6>fq=3$JHxw$#U&=_NEtS@BfM;s4jQQ7*T5j%d0{71)*7U9pNhq364 zP?SiQ>c=?7vPPptjef14=VZ|Xe|HLvSRYF`AV%~CV`N~6`K2u^wGw45_Au!*VP}y( z&dBNq^M7*deXKB|=Kpn=pOgN`3P;6BSYdu$8%|<(izWpCHb9;1Y`xf^>HQ(Wo_iHz zhCeq>4Jritk2!Eu{0%#jjn9r7`l@w^1rbc)t9bha&RGsepz6>R)UT?cnBttU!!1Eg z*x$y3<)@0yH=w!$?Dni|`PUVz)1@w#d@1e9K?^(>g0SeS z?o5#MZRhnkV41xB2tKT`)+U2$j6xFG+xB4}X=LB7u#E4ytg7Dcoej$QY*MWe?ysp5 z=ZHmTPe;_Y9AA$5IMleAgtO!}r|<;KUlg^F|xw3p+ikTbt;ng30<2mgx~=vvW%4rItabxq7l0 z0a?Un?pO2WcQKY^)<{(2+$5#J>BuLCyg0SzT(!y@RB)fR+xjJ^XBJC0L`#~vA}{-A zvgXHR!Keq?8ef#rG$xXE!)DF;+saBacV#UmATV%zYPguamU=hr!Cy~a+nza|vo9Ng zI6b(%P}Tb2%ampDc91WIQ3}10?iC!ox@A)`5s(stk`EqCYnXV{Km1K|cw|H{G{h-) z(=_1Mj5D8NCW_=PV2J65bG&US#Yp9}SWdM-{FwdC-PGrC3V|y=gZu@G*Is?1y*=#S zK}z>6iCo^-)lMpk5#LFKlfeCLucFI5-7d=J&-l;R z@>C5!Xel>wNd<#x*RN}EHQ?TQ@^`LDLUnttH|qxThM=Bip`&q$8v3y-Bci z>2|_EsbL1?z(YZ@EdP;Oe#h(=+#CvLwYbgM#pU#EUx!R3%LL_SrVPj|XBBzy_@0PhW9pQ6F<4pt=BL!`{G#?V) zCfF;^!8BrwD^CmnO#{p%v5Z8?l&_!%9TJDn;P%t4*W^}|s!YSvP&UMTcX)q+n^-QDfA-{}lNas#E2**_ zo{FU<$u2Q54>~t1LYE*um7#)}GB1i-t~)@GyHtnzVfQa75yiZqmZURxQ;M zQ`3BfBHI3*Y`Gpk#q9T;<-FNv_l@>_O0$$28_LHL1Kyac2GQxwGYXOD;u1+8$To^O z(0yJC;&{=CuEmRc`ds^5=e`|T-}Vg6+N8F;n)fEe(ff2?j*g~Oj1(3-T*lhIg~-+a z?$-O)X* z^DNXR<)OlsJiIX!o*#>;v$yQD`*`XTRG>-0#U)o0cDJeoBsyQ5oXgZrjGo;d)uE Date: Wed, 26 Feb 2020 10:56:43 +0100 Subject: [PATCH 06/14] Add Live Story technology --- src/apps.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/apps.json b/src/apps.json index 187e9f1fa..3779b57f3 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13823,6 +13823,17 @@ "icon": "varbase.png", "implies": "Drupal", "website": "https://drupal.org/project/varbase" + }, + "Live Story": { + "cats": [ + 1 + ], + "icon": "LiveStory.png", + "website": "https://www.livestory.nyc/", + "js": { + "LiveStory": "", + "LSHelpers": "" + } } }, "categories": { From d04888315bde0e4ebd6ddc45c078e1f60ed5d84b Mon Sep 17 00:00:00 2001 From: Christopher Berry Date: Wed, 26 Feb 2020 15:39:56 -0500 Subject: [PATCH 07/14] Added support for Loja Integrada. --- src/apps.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/apps.json b/src/apps.json index 187e9f1fa..391d0f7fd 100644 --- a/src/apps.json +++ b/src/apps.json @@ -6124,6 +6124,19 @@ "icon": "Logitech Media Server.png", "website": "http://www.mysqueezebox.com" }, + "Loja Integrada": { + "cats": [ + 6 + ], + "headers": { + "X-Powered-By": "vtex-integrated-store" + }, + "icon": "Loja Integrada.png", + "js": { + "window.LOJA_ID": "" + }, + "website": "https://lojaintegrada.com.br/" + }, "Lotus Domino": { "cats": [ 22 From 4c315f9f576573fddbaa664e546574d775d29bbe Mon Sep 17 00:00:00 2001 From: Christopher Berry Date: Wed, 26 Feb 2020 15:40:39 -0500 Subject: [PATCH 08/14] Added Loja Integrada 32x32 icon. --- src/icons/Loja Integrada.png | Bin 0 -> 933 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/icons/Loja Integrada.png diff --git a/src/icons/Loja Integrada.png b/src/icons/Loja Integrada.png new file mode 100644 index 0000000000000000000000000000000000000000..7bdb1b0639ffe6e166418c2829c2046f5b8c8315 GIT binary patch literal 933 zcmV;W16urvP)*lqRXPVNGpwr<-?mm~-3lEW79nhu_8fp6B_#@AG}X z@ADSP6E&TwV%&wNFdM&OJGOSjt54(`uPBeiMYs-6q8``h44=VXti|4rc=hQCB~a6u zx*QMV8QhNI^Gxl9-&^);o!QLG<_J_hkk*y^?|n_m2_ zWN_f-@ZZI_GR(UPCFqZg5M(kQ!B)IpTh=&zZt2_a1}9vNAHo?Qjw5&t^Y1+T-TL;{ zhLV!OftA>W=W~)9O@z6ahUJ(yE%H-KZCT^yJ*QW!=^4CwJC@?15VQxM;2nI`-r7)# zN5ghkjge#Y!Jv^F@hTQRP};l}JKFl1R^d%tgJU?<-rA5236}+O<>NJp@t_!YVqZ=75jUaR87SjSTKUIjfuzwp6{8cPh?^d z+>7}a8Y@zO$;=A&IwO2tYyv}mP+o{fNBqb5-xA0UCvY-!E*A?2Lnr+=ffV*#q~yo3 zIhstL%_Z; z6I+K5@pO0vO)nsEUx?L=?%c%Zy$k9pyRtZ#$i!X>oy+pj3tV;qt@t|ZjwaK;=Y1K~ zRdx-aJCTWfjV Date: Wed, 26 Feb 2020 15:41:31 -0500 Subject: [PATCH 09/14] Removed redundant tech (VTEX Integrated Store). --- src/apps.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/apps.json b/src/apps.json index 391d0f7fd..c8264778a 100644 --- a/src/apps.json +++ b/src/apps.json @@ -11195,16 +11195,6 @@ "icon": "VTEX.svg", "website": "https://vtex.com/" }, - "VTEX Integrated Store": { - "cats": [ - 6 - ], - "headers": { - "X-Powered-By": "vtex-integrated-store" - }, - "icon": "VTEX Integrated Store.png", - "website": "http://lojaintegrada.com.br" - }, "Vaadin": { "cats": [ 18 From e9c7591a1d91df56fe38c5b4b9c7d9381961b205 Mon Sep 17 00:00:00 2001 From: Liad Yosef Date: Mon, 2 Mar 2020 13:46:12 +0200 Subject: [PATCH 10/14] Add html indicator for Duda --- src/apps.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/apps.json b/src/apps.json index 187e9f1fa..48079e341 100644 --- a/src/apps.json +++ b/src/apps.json @@ -3037,6 +3037,7 @@ "SystemID": "^.*DIRECT.*$\\;confidence:100", "version": "^(.*)$\\;version:\\1\\;confidence:0" }, + "html": "]*id=\"P6iryBW0Wu\"", "icon": "duda.png", "website": "https://www.duda.co/website-builder" }, From 93acdd7d6f1ae3870c9b0056caf19014cd850f79 Mon Sep 17 00:00:00 2001 From: Elbert Alias <77259+AliasIO@users.noreply.github.com> Date: Fri, 6 Mar 2020 10:54:25 +1100 Subject: [PATCH 11/14] Remove response code validation --- src/drivers/npm/driver.js | 4 ---- src/drivers/npm/package.json | 9 ++++++--- src/drivers/webextension/manifest.json | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js index 01faaf5d1..ea13b773d 100644 --- a/src/drivers/npm/driver.js +++ b/src/drivers/npm/driver.js @@ -225,10 +225,6 @@ class Driver { throw new Error('NO_RESPONSE'); } - if (browser.statusCode !== 200) { - throw new Error('RESPONSE_NOT_OK'); - } - if (!browser.contentType || !/\btext\/html\b/.test(browser.contentType)) { this.wappalyzer.log(`Skipping; url: ${pageUrl.href}; content type: ${browser.contentType}`, 'driver'); diff --git a/src/drivers/npm/package.json b/src/drivers/npm/package.json index 05b8482cb..a2c6d1568 100644 --- a/src/drivers/npm/package.json +++ b/src/drivers/npm/package.json @@ -1,13 +1,16 @@ { "name": "wappalyzer", "description": "Uncovers the technologies used on websites", - "homepage": "https://github.com/AliasIO/Wappalyzer", - "version": "5.9.24", + "homepage": "https://www.wappalyzer.com", + "version": "5.9.25", "author": "Elbert Alias", "license": "GPL-3.0", "repository": { "type": "git", - "url": "https://github.com/AliasIO/Wappalyzer" + "url": "https://github.com/aliasio/wappalyzer" + }, + "funding": { + "url": "https://github.com/sponsors/aliasio" }, "main": "index.js", "files": [ diff --git a/src/drivers/webextension/manifest.json b/src/drivers/webextension/manifest.json index 226dc671a..8694e124d 100644 --- a/src/drivers/webextension/manifest.json +++ b/src/drivers/webextension/manifest.json @@ -4,7 +4,7 @@ "author": "Elbert Alias", "homepage_url": "https://www.wappalyzer.com", "description": "Identify web technologies", - "version": "5.9.24", + "version": "5.9.25", "default_locale": "en", "manifest_version": 2, "icons": { From 0d7f38ce516bbe862752d8cf55162fba906cbf2a Mon Sep 17 00:00:00 2001 From: Elbert Alias <77259+AliasIO@users.noreply.github.com> Date: Sun, 8 Mar 2020 08:54:07 +1100 Subject: [PATCH 12/14] Prevent in-page navigation in NPM/Puppeteer driver --- src/drivers/npm/browsers/puppeteer.js | 41 +++++++++++++++++++++----- src/drivers/npm/package.json | 2 +- src/drivers/webextension/manifest.json | 2 +- 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/src/drivers/npm/browsers/puppeteer.js b/src/drivers/npm/browsers/puppeteer.js index d5bacd73e..429700046 100644 --- a/src/drivers/npm/browsers/puppeteer.js +++ b/src/drivers/npm/browsers/puppeteer.js @@ -84,14 +84,29 @@ class PuppeteerBrowser extends Browser { page.setDefaultTimeout(this.options.maxWait * 2); + await page.setRequestInterception(true); + page.on('error', error => reject(new Error(`page error: ${error.message || error}`))); + let responseReceived = false; + + page.on('request', (request) => { + if ( + responseReceived + && request.isNavigationRequest() + && request.frame() === page.mainFrame() + && request.url() !== url + ) { + this.log(`abort navigation to ${request.url()}`); + + request.abort('aborted'); + } else { + request.continue(); + } + }); + page.on('response', (response) => { try { - if (response.status() === 301 || response.status() === 302) { - return; - } - if (!this.statusCode) { this.statusCode = response.status(); @@ -105,6 +120,10 @@ class PuppeteerBrowser extends Browser { this.contentType = headers['content-type'] || null; } + + if (response.status() < 300 || response.status() > 399) { + responseReceived = true; + } } catch (error) { reject(new Error(`page error: ${error.message || error}`)); } @@ -114,10 +133,16 @@ class PuppeteerBrowser extends Browser { await page.setUserAgent(this.options.userAgent); - await Promise.race([ - page.goto(url, { waitUntil: 'domcontentloaded' }), - new Promise((_resolve, _reject) => setTimeout(() => _reject(new Error('timeout')), this.options.maxWait)), - ]); + try { + await Promise.race([ + page.goto(url, { waitUntil: 'domcontentloaded' }), + new Promise((_resolve, _reject) => setTimeout(() => _reject(new Error('timeout')), this.options.maxWait)), + ]); + } catch (error) { + if (!this.statusCode) { + throw new Error(error.message || error.toString()); + } + } // eslint-disable-next-line no-undef const links = await page.evaluateHandle(() => Array.from(document.getElementsByTagName('a')).map(({ diff --git a/src/drivers/npm/package.json b/src/drivers/npm/package.json index a2c6d1568..8147d5973 100644 --- a/src/drivers/npm/package.json +++ b/src/drivers/npm/package.json @@ -2,7 +2,7 @@ "name": "wappalyzer", "description": "Uncovers the technologies used on websites", "homepage": "https://www.wappalyzer.com", - "version": "5.9.25", + "version": "5.9.26", "author": "Elbert Alias", "license": "GPL-3.0", "repository": { diff --git a/src/drivers/webextension/manifest.json b/src/drivers/webextension/manifest.json index 8694e124d..b5f852cee 100644 --- a/src/drivers/webextension/manifest.json +++ b/src/drivers/webextension/manifest.json @@ -4,7 +4,7 @@ "author": "Elbert Alias", "homepage_url": "https://www.wappalyzer.com", "description": "Identify web technologies", - "version": "5.9.25", + "version": "5.9.26", "default_locale": "en", "manifest_version": 2, "icons": { From 6ac9025bbc2e80c53e19be8a74e33e13f6f91606 Mon Sep 17 00:00:00 2001 From: Elbert Alias <77259+AliasIO@users.noreply.github.com> Date: Wed, 11 Mar 2020 07:15:37 +1100 Subject: [PATCH 13/14] Rename Hybris to SAP Commerce Cloud, remove content type check in NPM driver --- src/apps.json | 8 ++++---- src/drivers/npm/driver.js | 6 ------ 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/apps.json b/src/apps.json index 187e9f1fa..565724d73 100644 --- a/src/apps.json +++ b/src/apps.json @@ -4798,18 +4798,18 @@ }, "website": "http://gohugo.io" }, - "Hybris": { + "SAP Commerce Cloud": { "cats": [ 6 ], "cookies": { "_hybris": "" }, - "cpe": "cpe:/a:sap:hybris", + "cpe": "cpe:/a:sap:commerce_cloud", "html": "<[^>]+/(?:sys_master|hybr|_ui/(?:responsive/)?(?:desktop|common(?:/images|/img)?))/", - "icon": "Hybris.png", + "icon": "SAP.png", "implies": "Java", - "website": "https://hybris.com" + "website": "https://www.sap.com/products/crm/e-commerce-platforms.html" }, "IBM Coremetrics": { "cats": [ diff --git a/src/drivers/npm/driver.js b/src/drivers/npm/driver.js index ea13b773d..712d77ff6 100644 --- a/src/drivers/npm/driver.js +++ b/src/drivers/npm/driver.js @@ -225,12 +225,6 @@ class Driver { throw new Error('NO_RESPONSE'); } - if (!browser.contentType || !/\btext\/html\b/.test(browser.contentType)) { - this.wappalyzer.log(`Skipping; url: ${pageUrl.href}; content type: ${browser.contentType}`, 'driver'); - - delete this.analyzedPageUrls[pageUrl.href]; - } - const { cookies, headers, scripts } = browser; const html = processHtml(browser.html, this.options.htmlMaxCols, this.options.htmlMaxRows); From a805ebce80e8dab0557cd99ded9fe81f078bcca2 Mon Sep 17 00:00:00 2001 From: Elbert Alias <77259+AliasIO@users.noreply.github.com> Date: Thu, 19 Mar 2020 10:24:14 +1100 Subject: [PATCH 14/14] Fix error handling in NPM/Puppeteer --- src/apps.json | 4 +- src/drivers/npm/browsers/puppeteer.js | 26 +++-- .../webextension/_locales/en/messages.json | 98 +++++++++--------- src/icons/Intercom.png | Bin 540 -> 0 bytes src/icons/Intercom.svg | 1 + 5 files changed, 66 insertions(+), 63 deletions(-) delete mode 100644 src/icons/Intercom.png create mode 100644 src/icons/Intercom.svg diff --git a/src/apps.json b/src/apps.json index 565724d73..c827ee727 100644 --- a/src/apps.json +++ b/src/apps.json @@ -5133,7 +5133,7 @@ "cats": [ 10 ], - "icon": "Intercom.png", + "icon": "Intercom.svg", "js": { "Intercom": "" }, @@ -11394,7 +11394,7 @@ "script": [ "/_nuxt/" ], - "implies": "Vue.js", + "implies": ["Vue.js", "Node.js"], "website": "https://nuxtjs.org" }, "W3 Total Cache": { diff --git a/src/drivers/npm/browsers/puppeteer.js b/src/drivers/npm/browsers/puppeteer.js index 429700046..d9f3cbf0f 100644 --- a/src/drivers/npm/browsers/puppeteer.js +++ b/src/drivers/npm/browsers/puppeteer.js @@ -91,17 +91,21 @@ class PuppeteerBrowser extends Browser { let responseReceived = false; page.on('request', (request) => { - if ( - responseReceived - && request.isNavigationRequest() - && request.frame() === page.mainFrame() - && request.url() !== url - ) { - this.log(`abort navigation to ${request.url()}`); - - request.abort('aborted'); - } else { - request.continue(); + try { + if ( + responseReceived + && request.isNavigationRequest() + && request.frame() === page.mainFrame() + && request.url() !== url + ) { + this.log(`abort navigation to ${request.url()}`); + + request.abort('aborted'); + } else { + request.continue(); + } + } catch (error) { + reject(new Error(`page error: ${error.message || error}`)); } }); diff --git a/src/drivers/webextension/_locales/en/messages.json b/src/drivers/webextension/_locales/en/messages.json index 2ed0c5ef2..c2b6245c7 100644 --- a/src/drivers/webextension/_locales/en/messages.json +++ b/src/drivers/webextension/_locales/en/messages.json @@ -16,69 +16,67 @@ "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" }, "categoryName1": { "message": "CMS" }, - "categoryName2": { "message": "Message Board" }, - "categoryName3": { "message": "Database Manager" }, - "categoryName4": { "message": "Documentation Tool" }, - "categoryName5": { "message": "Widget" }, + "categoryName2": { "message": "Message boards" }, + "categoryName3": { "message": "Database managers" }, + "categoryName4": { "message": "Documentation tools" }, + "categoryName5": { "message": "Widgets" }, "categoryName6": { "message": "Ecommerce" }, - "categoryName7": { "message": "Photo Galleries" }, + "categoryName7": { "message": "Photo galleries" }, "categoryName8": { "message": "Wikis" }, - "categoryName9": { "message": "Hosting Panels" }, + "categoryName9": { "message": "Hosting panels" }, "categoryName10": { "message": "Analytics" }, - "categoryName11": { "message": "Blog" }, - "categoryName12": { "message": "JavaScript Framework" }, - "categoryName13": { "message": "Issue Tracker" }, - "categoryName14": { "message": "Video Player" }, - "categoryName15": { "message": "Comment System" }, - "categoryName16": { "message": "Captcha" }, - "categoryName17": { "message": "Font Script" }, - "categoryName18": { "message": "Web Framework" }, + "categoryName11": { "message": "Blogs" }, + "categoryName12": { "message": "JavaScript frameworks" }, + "categoryName13": { "message": "Issue trackers" }, + "categoryName14": { "message": "Video players" }, + "categoryName15": { "message": "Comment systems" }, + "categoryName16": { "message": "Captchas" }, + "categoryName17": { "message": "Font scripts" }, + "categoryName18": { "message": "Web frameworks" }, "categoryName19": { "message": "Miscellaneous" }, "categoryName20": { "message": "Editor" }, "categoryName21": { "message": "LMS" }, - "categoryName22": { "message": "Web Server" }, - "categoryName23": { "message": "Cache Tool" }, - "categoryName24": { "message": "Rich Text Editor" }, - "categoryName25": { "message": "JavaScript Graphics" }, - "categoryName26": { "message": "Mobile Framework" }, - "categoryName27": { "message": "Programming Language" }, - "categoryName28": { "message": "Operating System" }, - "categoryName29": { "message": "Search Engine" }, - "categoryName30": { "message": "Web Mail" }, + "categoryName22": { "message": "Web servers" }, + "categoryName23": { "message": "Caching" }, + "categoryName24": { "message": "Rich text editors" }, + "categoryName25": { "message": "JavaScript graphics" }, + "categoryName26": { "message": "Mobile frameworks" }, + "categoryName27": { "message": "Programming languages" }, + "categoryName28": { "message": "Operating systems" }, + "categoryName29": { "message": "Search engines" }, + "categoryName30": { "message": "Webmail" }, "categoryName31": { "message": "CDN" }, - "categoryName32": { "message": "Marketing Automation" }, - "categoryName33": { "message": "Web Server Extension" }, - "categoryName34": { "message": "Database" }, - "categoryName35": { "message": "Map" }, - "categoryName36": { "message": "Advertising Network" }, - "categoryName37": { "message": "Network Service" }, - "categoryName38": { "message": "Media Server" }, - "categoryName39": { "message": "Webcam" }, - "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "Payment Processor" }, - "categoryName42": { "message": "Tag Manager" }, - "categoryName43": { "message": "Paywall" }, - "categoryName44": { "message": "Build/CI System" }, - "categoryName45": { "message": "SCADA System" }, + "categoryName32": { "message": "Marketing automation" }, + "categoryName33": { "message": "Web server extensions" }, + "categoryName34": { "message": "Databases" }, + "categoryName35": { "message": "Maps" }, + "categoryName36": { "message": "Advertising" }, + "categoryName37": { "message": "Network services" }, + "categoryName38": { "message": "Media servers" }, + "categoryName39": { "message": "Webcams" }, + "categoryName40": { "message": "Printers" }, + "categoryName41": { "message": "Payment processors" }, + "categoryName42": { "message": "Tag managers" }, + "categoryName44": { "message": "CI" }, "categoryName46": { "message": "Remote Access" }, - "categoryName47": { "message": "Development Tool" }, - "categoryName48": { "message": "Network Storage" }, - "categoryName49": { "message": "Feed Readers" }, - "categoryName50": { "message": "Document Management Systems" }, - "categoryName51": { "message": "Landing Page Builder" }, - "categoryName52": { "message": "Live Chat" }, + "categoryName47": { "message": "Developmentl" }, + "categoryName48": { "message": "Network storage" }, + "categoryName49": { "message": "Feed readers" }, + "categoryName50": { "message": "DMS" }, + "categoryName51": { "message": "Page builder" }, + "categoryName52": { "message": "Live chat" }, "categoryName53": { "message": "CRM" }, "categoryName54": { "message": "SEO" }, "categoryName55": { "message": "Accounting" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" }, + "categoryName56": { "message": "Cryptominers" }, + "categoryName57": { "message": "Static site generators" }, + "categoryName58": { "message": "User onboarding" }, + "categoryName59": { "message": "JavaScript libraries" }, "categoryName60": { "message": "Containers" }, "categoryName61": { "message": "SaaS" }, "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, - "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" }, - "categoryName66": { "message": "UI Frameworks" } + "categoryName64": { "message": "Reverse proxies" }, + "categoryName65": { "message": "Load balancers" }, + "categoryName66": { "message": "UI frameworks" } } diff --git a/src/icons/Intercom.png b/src/icons/Intercom.png deleted file mode 100644 index c6fe220c680cbca3d9dbdc6103eb6640d1054b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 540 zcmV+%0^|LOP){4(Hk)m1%U{G7Twqor8y}nBh;zG5gmet&gF75 z!7hWM&@-k*sIEjCY9c#({NA&j?QEsw2S48Dd*A1I`S_6BXU+OPgWnEloCnEB7GKf~ ze@&C+EU%@woJ{e<`cF&$%cBTuhgn=X$O1M?i!nqaVFborV02^{F9Va7jzuGgFGS(= zs%#_Tzepjx_M0<_9d`A4*?#Y#Me7}R$zAkpa#wlxXy>#H0bx#`M)27XOafT|Ci0b~ zditpk`q&8UoJImUh-_ADxjR^_1uctA6J{m@JEy^MY=3$0thr`4wF?!faJfzm+DAOD z%F4pB!V4OjZlbBZ`>#Ox67gJZxm6s@Y?F~x5pQUT{rWq$-S1<|-3RRG^|8&}XZ0Sv zd0*m{EW8Hk|4xRs$hlMzJ+VvOP$c&FN>%4fypoYD`d3L|K=C9=j;lfN2dQt6uQzju zmY&SSGmy^+g$2TO_aHmRBlLVsmzYFLuWMr7@;EaZfMfeVsxH&mR diff --git a/src/icons/Intercom.svg b/src/icons/Intercom.svg new file mode 100644 index 000000000..ebdeacc05 --- /dev/null +++ b/src/icons/Intercom.svg @@ -0,0 +1 @@ + \ No newline at end of file