From 547554ec3523969b2562277bca8c4e7a05c30e92 Mon Sep 17 00:00:00 2001 From: clamsioPL Date: Thu, 30 Nov 2017 20:46:24 +0100 Subject: [PATCH 01/50] Update no.5 for Polish lang --- src/drivers/webextension/_locales/pl/messages.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/drivers/webextension/_locales/pl/messages.json b/src/drivers/webextension/_locales/pl/messages.json index dd281d1b4..4a8586c40 100644 --- a/src/drivers/webextension/_locales/pl/messages.json +++ b/src/drivers/webextension/_locales/pl/messages.json @@ -63,5 +63,6 @@ "categoryName51": { "message": "Konstruktory stron" }, "categoryName52": { "message": "Czat na żywo" }, "categoryName53": { "message": "Zarządzanie relacjami z klientami" }, - "categoryName54": { "message": "SEO" } + "categoryName54": { "message": "SEO" }, + "categoryName55": { "message": "Księgowość" } } From 7c2007c37daa5fa8e01eb71ecfe17fd8f73de53c Mon Sep 17 00:00:00 2001 From: Runiko Date: Fri, 2 Feb 2018 19:59:29 +0100 Subject: [PATCH 02/50] Update no.6 for Polish lang --- src/drivers/webextension/_locales/pl/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/webextension/_locales/pl/messages.json b/src/drivers/webextension/_locales/pl/messages.json index 775f14fb5..48c244520 100644 --- a/src/drivers/webextension/_locales/pl/messages.json +++ b/src/drivers/webextension/_locales/pl/messages.json @@ -10,7 +10,7 @@ "optionTracking": { "message": "Przesyłaj anonimowe statystyki aplikacji wykrytych przez Wappalyzer do twórców" }, "nothingToDo": { "message": "Nic tu nie ma." }, "noAppsDetected": { "message": "Nie wykryto żadnych aplikacji." }, - "categoryPin": { "message": "Always show icon" }, + "categoryPin": { "message": "Zawsze pokazuj tą ikonę" }, "categoryName1": { "message": "System zarządzania treścią" }, "categoryName2": { "message": "Forum" }, "categoryName3": { "message": "Menedżer baz danych" }, From ecf26c91357591eb4228aa11b85099421ce2fe77 Mon Sep 17 00:00:00 2001 From: Daniel Zdziebko Date: Sun, 15 Jul 2018 20:10:04 +0200 Subject: [PATCH 03/50] Update no.7 for Polish lang --- src/drivers/webextension/_locales/pl/messages.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/drivers/webextension/_locales/pl/messages.json b/src/drivers/webextension/_locales/pl/messages.json index 213609672..6544df5bf 100644 --- a/src/drivers/webextension/_locales/pl/messages.json +++ b/src/drivers/webextension/_locales/pl/messages.json @@ -66,8 +66,8 @@ "categoryName53": { "message": "Zarządzanie relacjami z klientami" }, "categoryName54": { "message": "SEO" }, "categoryName55": { "message": "Księgowość" }, - "categoryName56": { "message": "Cryptominer" }, - "categoryName57": { "message": "Static Site Generator" }, - "categoryName58": { "message": "User Onboarding" }, - "categoryName59": { "message": "JavaScript Libraries" } + "categoryName56": { "message": "Koparka kryptowalut" }, + "categoryName57": { "message": "Generator stron statycznych" }, + "categoryName58": { "message": "Wdrażanie użytkownika" }, + "categoryName59": { "message": "Biblioteki JavaScript" } } From d46b66d300e027c6b8bd1ebdfc7360102471b3d9 Mon Sep 17 00:00:00 2001 From: q-- Date: Wed, 6 Nov 2019 14:42:05 +0100 Subject: [PATCH 04/50] Add a new way to detect Lodash --- src/apps.json | 1 + 1 file changed, 1 insertion(+) diff --git a/src/apps.json b/src/apps.json index 025f6f81d..023706d6e 100644 --- a/src/apps.json +++ b/src/apps.json @@ -6219,6 +6219,7 @@ "icon": "Lo-dash.png", "js": { "_.VERSION": "^(.+)$\\;confidence:0\\;version:\\1", + "_.templateSettings.imports._.templateSettings.imports._.VERSION": "^(.+)$\\;version:\\1", "_.differenceBy": "" }, "script": "lodash.*\\.js", From d7d584be52297cd8df754b5b22f515fbd75532fb Mon Sep 17 00:00:00 2001 From: q-- Date: Wed, 20 Nov 2019 10:41:58 +0100 Subject: [PATCH 05/50] Added Javadoc --- src/apps.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/apps.json b/src/apps.json index b3742bfac..c585d31ac 100644 --- a/src/apps.json +++ b/src/apps.json @@ -5410,6 +5410,14 @@ "implies": "Java", "website": "http://www.oracle.com/technetwork/java/index-jsp-135475.html" }, + "Javadoc": { + "cats": [ + 4 + ], + "html": "", + "icon": "Java.png", + "website": "https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html" + }, "JavaScript Infovis Toolkit": { "cats": [ 25 From f69d3e2ad6901ed40c24885bd258fb9771274348 Mon Sep 17 00:00:00 2001 From: Valentin Duboscq Date: Fri, 20 Dec 2019 11:05:08 +0100 Subject: [PATCH 06/50] Add Strikingly --- src/apps.json | 5506 +++++++++----------------------------- src/icons/Strikingly.png | Bin 0 -> 3984 bytes 2 files changed, 1321 insertions(+), 4185 deletions(-) create mode 100644 src/icons/Strikingly.png diff --git a/src/apps.json b/src/apps.json index 8402d4684..07bec7d51 100644 --- a/src/apps.json +++ b/src/apps.json @@ -2,9 +2,7 @@ "$schema": "../schema.json", "apps": { "1C-Bitrix": { - "cats": [ - 1 - ], + "cats": [1], "headers": { "Set-Cookie": "BITRIX_", "X-Powered-CMS": "Bitrix Site Manager" @@ -16,18 +14,13 @@ "website": "http://www.1c-bitrix.ru" }, "91App": { - "cats": [ - 6 - ], + "cats": [6], "icon": "91app.png", "script": "https\\:\\/\\/track\\.91app\\.io\\/track\\.js\\?", "website": "https://www.91app.com/" }, "3dCart": { - "cats": [ - 1, - 6 - ], + "cats": [1, 6], "cookies": { "3dvisit": "" }, @@ -39,9 +32,7 @@ "website": "http://www.3dcart.com" }, "A-Frame": { - "cats": [ - 25 - ], + "cats": [25], "html": "]*>", "icon": "A-Frame.svg", "implies": "three.js", @@ -52,9 +43,7 @@ "website": "https://aframe.io" }, "AD EBiS": { - "cats": [ - 10 - ], + "cats": [10], "html": [ "", "icon": "Business Catalyst.png", "script": "CatalystScripts", "website": "http://businesscatalyst.com" }, "BuySellAds": { - "cats": [ - 36 - ], + "cats": [36], "script": "^https?://s\\d\\.buysellads\\.com/", "icon": "BuySellAds.png", "js": { @@ -1721,9 +1371,7 @@ "website": "http://buysellads.com" }, "CDN77": { - "cats": [ - 31 - ], + "cats": [31], "headers": { "Server": "^CDN77-Turbo$" }, @@ -1731,16 +1379,12 @@ "website": "https://www.cdn77.com" }, "CFML": { - "cats": [ - 27 - ], + "cats": [27], "icon": "CFML.png", "website": "http://adobe.com/products/coldfusion-family.html" }, "CKEditor": { - "cats": [ - 24 - ], + "cats": [24], "cpe": "cpe:/a:ckeditor:ckeditor", "icon": "CKEditor.png", "js": { @@ -1751,9 +1395,7 @@ "website": "http://ckeditor.com" }, "CMS Made Simple": { - "cats": [ - 1 - ], + "cats": [1], "cookies": { "CMSSESSID": "" }, @@ -1766,9 +1408,7 @@ "website": "http://cmsmadesimple.org" }, "CMSimple": { - "cats": [ - 1 - ], + "cats": [1], "cpe": "cpe:/a:cmsimple:cmsimple", "implies": "PHP", "meta": { @@ -1777,9 +1417,7 @@ "website": "http://www.cmsimple.org/en" }, "CPG Dragonfly": { - "cats": [ - 1 - ], + "cats": [1], "headers": { "X-Powered-By": "^Dragonfly CMS" }, @@ -1791,9 +1429,7 @@ "website": "http://dragonflycms.org" }, "CS Cart": { - "cats": [ - 6 - ], + "cats": [6], "html": [ " Powered by (?:]+cs-cart\\.com|CS-Cart)", "\\.cm-noscript[^>]+" @@ -1806,9 +1442,7 @@ "website": "http://www.cs-cart.com" }, "CacheFly": { - "cats": [ - 31 - ], + "cats": [31], "headers": { "Server": "^CFS ", "X-CF1": "", @@ -1818,9 +1452,7 @@ "website": "http://www.cachefly.com" }, "Caddy": { - "cats": [ - 22 - ], + "cats": [22], "headers": { "Server": "^Caddy$" }, @@ -1829,9 +1461,7 @@ "website": "http://caddyserver.com" }, "CakePHP": { - "cats": [ - 18 - ], + "cats": [18], "cookies": { "cakephp": "" }, @@ -1844,10 +1474,7 @@ "website": "http://cakephp.org" }, "Captch Me": { - "cats": [ - 16, - 36 - ], + "cats": [16, 36], "icon": "Captch Me.svg", "js": { "Captchme": "" @@ -1856,9 +1483,7 @@ "website": "http://captchme.com" }, "Carbon Ads": { - "cats": [ - 36 - ], + "cats": [36], "html": "<[a-z]+ [^>]*id=\"carbonads-container\"", "icon": "Carbon Ads.png", "js": { @@ -1868,9 +1493,7 @@ "website": "http://carbonads.net" }, "Cargo": { - "cats": [ - 1 - ], + "cats": [1], "html": "]+Cargo feed", "icon": "Cargo.png", "implies": "PHP", @@ -1881,10 +1504,7 @@ "website": "http://cargocollective.com" }, "Catberry.js": { - "cats": [ - 12, - 18 - ], + "cats": [12, 18], "headers": { "X-Powered-By": "Catberry" }, @@ -1897,9 +1517,7 @@ "website": "http://catberry.org" }, "CentOS": { - "cats": [ - 28 - ], + "cats": [28], "cpe": "cpe:/o:centos:centos", "headers": { "Server": "CentOS", @@ -1909,23 +1527,16 @@ "website": "http://centos.org" }, "Chameleon": { - "cats": [ - 1 - ], + "cats": [1], "icon": "Chameleon.png", - "implies": [ - "Apache", - "PHP" - ], + "implies": ["Apache", "PHP"], "meta": { "generator": "chameleon-cms" }, "website": "http://chameleon-system.de" }, "Chamilo": { - "cats": [ - 21 - ], + "cats": [21], "cpe": "cpe:/a:chamilo:chamilo_lms", "headers": { "X-Powered-By": "Chamilo ([\\d.]+)\\;version:\\1" @@ -1939,9 +1550,7 @@ "website": "http://www.chamilo.org" }, "Chart.js": { - "cats": [ - 25 - ], + "cats": [25], "icon": "Chart.js.svg", "js": { "Chart": "\\;confidence:50", @@ -1957,9 +1566,7 @@ "website": "https://www.chartjs.org" }, "Chartbeat": { - "cats": [ - 10 - ], + "cats": [10], "icon": "Chartbeat.png", "js": { "_sf_async_config": "", @@ -1969,9 +1576,7 @@ "website": "http://chartbeat.com" }, "Cherokee": { - "cats": [ - 22 - ], + "cats": [22], "cpe": "cpe:/a:cherokee-project:cherokee", "headers": { "Server": "^Cherokee(?:/([\\d.]+))?\\;version:\\1" @@ -1980,10 +1585,7 @@ "website": "http://www.cherokee-project.com" }, "CherryPy": { - "cats": [ - 18, - 22 - ], + "cats": [18, 22], "cpe": "cpe:/a:cherrypy:cherrypy", "headers": { "Server": "CherryPy\\/?([\\d\\.]+)?\\;version:\\1" @@ -1993,9 +1595,7 @@ "website": "http://www.cherrypy.org" }, "Chevereto": { - "cats": [ - 7 - ], + "cats": [7], "meta": { "generator": "^Chevereto ?([0-9.]+)?$\\;version:\\1" }, @@ -2006,9 +1606,7 @@ "website": "https://chevereto.com/" }, "Chitika": { - "cats": [ - 36 - ], + "cats": [36], "icon": "Chitika.png", "js": { "ch_client": "", @@ -2018,37 +1616,26 @@ "website": "http://chitika.com" }, "Chorus": { - "cats": [ - 1 - ], + "cats": [1], "icon": "Chorus.png", "html": "; rel=shortlink" }, "icon": "Ckan.png", - "implies": [ - "Python", - "Solr", - "Java", - "PostgreSQL" - ], + "implies": ["Python", "Solr", "Java", "PostgreSQL"], "meta": { "generator": "^ckan ?([0-9.]+)$\\;version:\\1" }, "website": "http://ckan.org/" }, "Clarity": { - "cats": [ - 66 - ], + "cats": [66], "html": [ "]*href=\"[^\"]*clr-ui(?:\\.min)?\\.css" @@ -2058,15 +1645,11 @@ }, "script": "clr-angular(?:\\.umd)?(?:\\.min)?\\.js", "icon": "clarity.svg", - "implies": [ - "Angular" - ], + "implies": ["Angular"], "website": "https://clarity.design/" }, "ClickHeat": { - "cats": [ - 10 - ], + "cats": [10], "icon": "ClickHeat.png", "implies": "PHP", "js": { @@ -2076,9 +1659,7 @@ "website": "http://www.labsmedia.com/clickheat/index.html" }, "ClickTale": { - "cats": [ - 10 - ], + "cats": [10], "icon": "ClickTale.png", "js": { "clickTaleStartEventSignal": "" @@ -2086,9 +1667,7 @@ "website": "http://www.clicktale.com" }, "Clicky": { - "cats": [ - 10 - ], + "cats": [10], "icon": "Clicky.png", "js": { "clicky": "" @@ -2097,25 +1676,19 @@ "website": "http://getclicky.com" }, "Clientexec": { - "cats": [ - 6 - ], + "cats": [6], "html": "clientexec\\.[^>]*\\s?=\\s?[^>]*;", "icon": "Clientexec.png", "website": "http://www.clientexec.com" }, "Clipboard.js": { - "cats": [ - 19 - ], + "cats": [19], "icon": "Clipboard.js.svg", "script": "clipboard(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1", "website": "https://clipboardjs.com/" }, "CloudCart": { - "cats": [ - 6 - ], + "cats": [6], "icon": "cloudcart.svg", "meta": { "author": "^CloudCart LLC$" @@ -2124,9 +1697,7 @@ "website": "http://cloudcart.com" }, "CloudFlare": { - "cats": [ - 31 - ], + "cats": [31], "headers": { "Server": "^cloudflare$", "cf-cache-status": "", @@ -2142,9 +1713,7 @@ "website": "http://www.cloudflare.com" }, "Cloudcoins": { - "cats": [ - 56 - ], + "cats": [56], "js": { "CLOUDCOINS": "" }, @@ -2152,9 +1721,7 @@ "website": "https://cloudcoins.co" }, "Cloudera": { - "cats": [ - 34 - ], + "cats": [34], "headers": { "Server": "cloudera" }, @@ -2162,9 +1729,7 @@ "website": "http://www.cloudera.com" }, "Coaster CMS": { - "cats": [ - 1 - ], + "cats": [1], "cpe": "cpe:/a:web-feet:coaster_cms", "icon": "coaster-cms.png", "implies": "Laravel", @@ -2174,9 +1739,7 @@ "website": "https://www.coastercms.org" }, "CodeIgniter": { - "cats": [ - 18 - ], + "cats": [18], "cookies": { "ci_csrf_token": "^(.+)$\\;version:\\1?2+:", "ci_session": "", @@ -2190,9 +1753,7 @@ "website": "http://codeigniter.com" }, "CodeMirror": { - "cats": [ - 19 - ], + "cats": [19], "icon": "CodeMirror.png", "js": { "CodeMirror": "", @@ -2201,9 +1762,7 @@ "website": "http://codemirror.net" }, "CoinHive": { - "cats": [ - 56 - ], + "cats": [56], "icon": "CoinHive.svg", "js": { "CoinHive": "" @@ -2216,27 +1775,20 @@ "website": "https://coinhive.com" }, "CoinHive Captcha": { - "cats": [ - 16, - 56 - ], + "cats": [16, 56], "html": "(?:]+class=\"coinhive-captcha[^>]+data-key|]+data-key[^>]+class=\"coinhive-captcha)", "icon": "CoinHive.svg", "script": "https?://authedmine\\.com/(?:lib/captcha|captcha)", "website": "https://coinhive.com" }, "Coinhave": { - "cats": [ - 56 - ], + "cats": [56], "icon": "coinhave.png", "script": "https?://coin-have\\.com/c/[0-9a-zA-Z]{4}\\.js", "website": "https://coin-have.com/" }, "Coinimp": { - "cats": [ - 56 - ], + "cats": [56], "icon": "coinimp.png", "js": { "Client.Anonymous": "\\;confidence:50" @@ -2245,9 +1797,7 @@ "website": "https://www.coinimp.com" }, "Coinlab": { - "cats": [ - 56 - ], + "cats": [56], "icon": "coinlab.png", "js": { "Coinlab": "" @@ -2256,9 +1806,7 @@ "website": "https://coinlab.biz/en" }, "ColorMeShop": { - "cats": [ - 6 - ], + "cats": [6], "icon": "colormeshop.png", "js": { "Colorme": "" @@ -2266,9 +1814,7 @@ "website": "https://shop-pro.jp" }, "Comandia": { - "cats": [ - 6 - ], + "cats": [6], "html": "]+=['\"]//cdn\\.mycomandia\\.com", "icon": "Comandia.svg", "js": { @@ -2277,17 +1823,13 @@ "website": "http://comandia.com" }, "Combeenation": { - "cats": [ - 6 - ], + "cats": [6], "html": "]+src=\"[^>]+portal\\.combeenation\\.com", "icon": "Combeenation.png", "website": "https://www.combeenation.com" }, "Commerce Server": { - "cats": [ - 6 - ], + "cats": [6], "cpe": "cpe:/a:microsoft:commerce_server", "headers": { "COMMERCE-SERVER-SOFTWARE": "" @@ -2297,9 +1839,7 @@ "website": "http://commerceserver.net" }, "CompaqHTTPServer": { - "cats": [ - 22 - ], + "cats": [22], "cpe": "cpe:/a:hp:compaqhttpserver", "headers": { "Server": "CompaqHTTPServer\\/?([\\d\\.]+)?\\;version:\\1" @@ -2308,9 +1848,7 @@ "website": "http://www.hp.com" }, "Concrete5": { - "cats": [ - 1 - ], + "cats": [1], "cpe": "cpe:/a:concrete5:concrete5", "icon": "Concrete5.png", "implies": "PHP", @@ -2327,9 +1865,7 @@ "website": "https://concrete5.org" }, "Connect": { - "cats": [ - 18 - ], + "cats": [18], "headers": { "X-Powered-By": "^Connect$" }, @@ -2338,9 +1874,7 @@ "website": "http://www.senchalabs.org/connect" }, "Contao": { - "cats": [ - 1 - ], + "cats": [1], "cpe": "cpe:/a:contao:contao_cms", "html": [ "", @@ -2354,9 +1888,7 @@ "website": "http://contao.org" }, "Contenido": { - "cats": [ - 1 - ], + "cats": [1], "cpe": "cpe:/a:contenido:contendio", "icon": "Contenido.png", "implies": "PHP", @@ -2366,24 +1898,16 @@ "website": "http://contenido.org/en" }, "Contensis": { - "cats": [ - 1 - ], + "cats": [1], "icon": "Contensis.png", - "implies": [ - "Java", - "CFML" - ], + "implies": ["Java", "CFML"], "meta": { "generator": "Contensis CMS Version ([\\d.]+)\\;version:\\1" }, "website": "https://zengenti.com/en-gb/products/contensis" }, "ContentBox": { - "cats": [ - 1, - 11 - ], + "cats": [1, 11], "icon": "ContentBox.png", "implies": "Adobe ColdFusion", "meta": { @@ -2392,25 +1916,19 @@ "website": "http://www.gocontentbox.org" }, "Contentful": { - "cats": [ - 1 - ], + "cats": [1], "html": "<[^>]+(?:https?:)?//(?:assets|downloads|images|videos)\\.(?:ct?fassets\\.net|contentful\\.com)", "icon": "Contentful.svg", "website": "http://www.contentful.com" }, "ConversionLab": { - "cats": [ - 10 - ], + "cats": [10], "icon": "ConversionLab.png", "script": "conversionlab\\.trackset\\.com/track/tsend\\.js", "website": "http://www.trackset.it/conversionlab" }, "Coppermine": { - "cats": [ - 7 - ], + "cats": [7], "cpe": "cpe:/a:coppermine-gallery:coppermine_photo_gallery", "html": "|" @@ -4425,20 +3537,13 @@ "website": "http://www.google.com/tagmanager" }, "Google Wallet": { - "cats": [ - 41 - ], + "cats": [41], "icon": "Google Wallet.png", - "script": [ - "checkout\\.google\\.com", - "wallet\\.google\\.com" - ], + "script": ["checkout\\.google\\.com", "wallet\\.google\\.com"], "website": "http://wallet.google.com" }, "Google Web Server": { - "cats": [ - 22 - ], + "cats": [22], "cpe": "cpe:/a:google:web_server", "headers": { "Server": "gws" @@ -4447,9 +3552,7 @@ "website": "http://en.wikipedia.org/wiki/Google_Web_Server" }, "Google Web Toolkit": { - "cats": [ - 18 - ], + "cats": [18], "cpe": "cpe:/a:google:web_toolkit", "icon": "Google Web Toolkit.png", "implies": "Java", @@ -4467,9 +3570,7 @@ "website": "http://developers.google.com/web-toolkit" }, "Graffiti CMS": { - "cats": [ - 1 - ], + "cats": [1], "cookies": { "graffitibot": "" }, @@ -4482,9 +3583,7 @@ "website": "http://graffiticms.codeplex.com" }, "Grav": { - "cats": [ - 1 - ], + "cats": [1], "icon": "Grav.png", "implies": "PHP", "meta": { @@ -4493,9 +3592,7 @@ "website": "http://getgrav.org" }, "Gravatar": { - "cats": [ - 19 - ], + "cats": [19], "html": "<[^>]+gravatar\\.com/avatar/", "icon": "Gravatar.png", "js": { @@ -4504,9 +3601,7 @@ "website": "http://gravatar.com" }, "Gravity Forms": { - "cats": [ - 19 - ], + "cats": [19], "html": [ "
]*gform_wrapper", "
]*gform_body", @@ -4519,9 +3614,7 @@ "website": "http://gravityforms.com" }, "Green Valley CMS": { - "cats": [ - 1 - ], + "cats": [1], "html": "]+/dsresource\\?objectid=", "icon": "Green Valley CMS.png", "implies": "Apache Tomcat", @@ -4531,9 +3624,7 @@ "website": "http://www.greenvalley.nl/Public/Producten/Content_Management/CMS" }, "Gridsome": { - "cats": [ - 57 - ], + "cats": [57], "icon": "Gridsome.svg", "implies": "Vue.js", "meta": { @@ -4542,9 +3633,7 @@ "website": "https://gridsome.org" }, "GrowingIO": { - "cats": [ - 10 - ], + "cats": [10], "js": { "gio": "" }, @@ -4557,17 +3646,13 @@ "website": "https://www.growingio.com/" }, "HERE": { - "cats": [ - 35 - ], + "cats": [35], "icon": "HERE.png", "script": "https?://js\\.cit\\.api\\.here\\.com/se/([\\d.]+)\\/\\;version:\\1", "website": "http://developer.here.com" }, "HHVM": { - "cats": [ - 22 - ], + "cats": [22], "cpe": "cpe:/a:facebook:hhvm", "headers": { "X-Powered-By": "HHVM/?([\\d.]+)?\\;version:\\1" @@ -4577,9 +3662,7 @@ "website": "http://hhvm.com" }, "HP ChaiServer": { - "cats": [ - 22 - ], + "cats": [22], "headers": { "Server": "HP-Chai(?:Server|SOE)(?:/([\\d.]+))?\\;version:\\1" }, @@ -4587,9 +3670,7 @@ "website": "http://hp.com" }, "HP Compact Server": { - "cats": [ - 22 - ], + "cats": [22], "headers": { "Server": "HP_Compact_Server(?:/([\\d.]+))?\\;version:\\1" }, @@ -4597,17 +3678,13 @@ "website": "http://hp.com" }, "HP ProCurve": { - "cats": [ - 37 - ], + "cats": [37], "cpe": "cpe:/h:hp:procurve_switch", "icon": "HP.svg", "website": "http://hp.com/networking" }, "HP System Management": { - "cats": [ - 46 - ], + "cats": [46], "headers": { "Server": "HP System Management" }, @@ -4615,10 +3692,7 @@ "website": "http://hp.com" }, "HP iLO": { - "cats": [ - 22, - 46 - ], + "cats": [22, 46], "headers": { "Server": "HP-iLO-Server(?:/([\\d.]+))?\\;version:\\1" }, @@ -4626,9 +3700,7 @@ "website": "http://hp.com" }, "HTTP/2": { - "cats": [ - 19 - ], + "cats": [19], "excludes": "SPDY", "headers": { "X-Firefox-Spdy": "h2" @@ -4637,17 +3709,13 @@ "website": "https://http2.github.io" }, "Haddock": { - "cats": [ - 4 - ], + "cats": [4], "html": "

Produced by Haddock version ([0-9.]+)

\\;version:\\1", "script": "haddock-util\\.js", "website": "http://www.haskell.org/haddock/" }, "Hammer.js": { - "cats": [ - 59 - ], + "cats": [59], "icon": "Hammer.js.png", "js": { "Ha.VERSION": "^(.+)$\\;version:\\1", @@ -4658,9 +3726,7 @@ "website": "https://hammerjs.github.io" }, "Handlebars": { - "cats": [ - 12 - ], + "cats": [12], "html": "<[^>]*type=[^>]text\\/x-handlebars-template", "icon": "Handlebars.png", "js": { @@ -4671,9 +3737,7 @@ "website": "http://handlebarsjs.com" }, "Haravan": { - "cats": [ - 6 - ], + "cats": [6], "icon": "Haravan.png", "js": { "Haravan": "" @@ -4682,16 +3746,12 @@ "website": "https://www.haravan.com" }, "Haskell": { - "cats": [ - 27 - ], + "cats": [27], "icon": "Haskell.png", "website": "http://wiki.haskell.org/Haskell" }, "HeadJS": { - "cats": [ - 59 - ], + "cats": [59], "html": "<[^>]*data-headjs-load", "icon": "HeadJS.png", "js": { @@ -4701,9 +3761,7 @@ "website": "http://headjs.com" }, "Heap": { - "cats": [ - 10 - ], + "cats": [10], "icon": "Heap.png", "js": { "heap": "" @@ -4712,9 +3770,7 @@ "website": "http://heapanalytics.com" }, "Hello Bar": { - "cats": [ - 5 - ], + "cats": [5], "icon": "Hello Bar.png", "js": { "HelloBar": "" @@ -4723,12 +3779,8 @@ "website": "http://hellobar.com" }, "Hexo": { - "cats": [ - 57 - ], - "html": [ - "Powered by ]*>Hexo]*>Hexo]*>Created with Highcharts ([\\d.]*)\\;version:\\1", "icon": "Highcharts.png", "js": { @@ -4759,9 +3807,7 @@ "website": "https://www.highcharts.com" }, "Bokeh": { - "cats": [ - 25 - ], + "cats": [25], "js": { "Bokeh": "", "Bokeh.version": "^(.+)$\\;version:\\1" @@ -4769,14 +3815,10 @@ "script": "bokeh.*\\.js", "website": "https://bokeh.org", "icon": "bokeh.png", - "implies": [ - "Python" - ] + "implies": ["Python"] }, "Highlight.js": { - "cats": [ - 19 - ], + "cats": [19], "icon": "Highlight.js.png", "js": { "hljs.highlightBlock": "", @@ -4786,19 +3828,14 @@ "website": "https://highlightjs.org/" }, "Highstock": { - "cats": [ - 25 - ], + "cats": [25], "html": "]*>Created with Highstock ([\\d.]*)\\;version:\\1", "icon": "Highcharts.png", "script": "highstock[.-]?([\\d\\.]*\\d).*\\.js\\;version:\\1", "website": "http://highcharts.com/products/highstock" }, "Hinza Advanced CMS": { - "cats": [ - 1, - 6 - ], + "cats": [1, 6], "icon": "hinza_advanced_cms.svg", "implies": "Laravel", "meta": { @@ -4807,17 +3844,13 @@ "website": "http://hinzaco.com" }, "Bloomreach": { - "cats": [ - 1 - ], + "cats": [1], "html": "<[^>]+/binaries/(?:[^/]+/)*content/gallery/", "icon": "Bloomreach.png", "website": "https://developers.bloomreach.com" }, "Hogan.js": { - "cats": [ - 12 - ], + "cats": [12], "icon": "Hogan.js.png", "js": { "Hogan": "" @@ -4829,10 +3862,7 @@ "website": "https://twitter.github.io/hogan.js/" }, "Homeland": { - "cats": [ - 1, - 2 - ], + "cats": [1, 2], "cookies": { "_homeland_": "" }, @@ -4841,9 +3871,7 @@ "website": "https://gethomeland.com" }, "Hotaru CMS": { - "cats": [ - 1 - ], + "cats": [1], "cookies": { "hotaru_mobile": "" }, @@ -4855,9 +3883,7 @@ "website": "http://hotarucms.org" }, "Hotjar": { - "cats": [ - 10 - ], + "cats": [10], "icon": "Hotjar.png", "js": { "HotLeadfactory": "", @@ -4868,9 +3894,7 @@ "website": "https://www.hotjar.com" }, "HubSpot": { - "cats": [ - 32 - ], + "cats": [32], "html": "" - ], + "cats": [10], + "html": [""], "icon": "inspectlet.png", "js": { "__insp": "", "__inspld": "" }, - "script": [ - "cdn\\.inspectlet\\.com" - ], + "script": ["cdn\\.inspectlet\\.com"], "website": "https://www.inspectlet.com/" }, "Instabot": { - "cats": [ - 5, - 10, - 32, - 52, - 58 - ], + "cats": [5, 10, 32, 52, 58], "icon": "Instabot.png", "js": { "Instabot": "" @@ -5208,9 +4160,7 @@ "website": "https://instabot.io/" }, "InstantCMS": { - "cats": [ - 1 - ], + "cats": [1], "cookies": { "InstantCMS[logdate]": "" }, @@ -5223,10 +4173,7 @@ "website": "http://www.instantcms.ru" }, "Intel Active Management Technology": { - "cats": [ - 22, - 46 - ], + "cats": [22, 46], "cpe": "cpe:/a:intel:active_management_technology", "headers": { "Server": "Intel\\(R\\) Active Management Technology(?: ([\\d.]+))?\\;version:\\1" @@ -5235,17 +4182,13 @@ "website": "http://intel.com" }, "IntenseDebate": { - "cats": [ - 15 - ], + "cats": [15], "icon": "IntenseDebate.png", "script": "intensedebate\\.com", "website": "http://intensedebate.com" }, "Intercom": { - "cats": [ - 10 - ], + "cats": [10], "icon": "Intercom.png", "js": { "Intercom": "" @@ -5254,18 +4197,14 @@ "website": "https://www.intercom.com" }, "Intershop": { - "cats": [ - 6 - ], + "cats": [6], "icon": "Intershop.png", "html": "]* href=[^>]+ionicons(?:\\.min)?\\.css", "icon": "Ionicons.png", "website": "http://ionicons.com" }, "JAlbum": { - "cats": [ - 7 - ], + "cats": [7], "icon": "JAlbum.png", "implies": "Java", "meta": { @@ -5316,9 +4247,7 @@ "website": "http://jalbum.net/en" }, "JBoss Application Server": { - "cats": [ - 22 - ], + "cats": [22], "headers": { "X-Powered-By": "JBoss(?:-([\\d.]+))?\\;version:\\1" }, @@ -5326,9 +4255,7 @@ "website": "http://jboss.org/jbossas.html" }, "JBoss Web": { - "cats": [ - 22 - ], + "cats": [22], "excludes": "Apache Tomcat", "headers": { "X-Powered-By": "JBossWeb(?:-([\\d.]+))?\\;version:\\1" @@ -5338,9 +4265,7 @@ "website": "http://jboss.org/jbossweb" }, "JET Enterprise": { - "cats": [ - 6 - ], + "cats": [6], "headers": { "powered": "jet-enterprise" }, @@ -5348,9 +4273,7 @@ "website": "http://www.jetecommerce.com.br/" }, "JS Charts": { - "cats": [ - 25 - ], + "cats": [25], "icon": "JS Charts.png", "js": { "JSChart": "" @@ -5359,9 +4282,7 @@ "website": "http://www.jscharts.com" }, "JSEcoin": { - "cats": [ - 56 - ], + "cats": [56], "icon": "JSEcoin.png", "js": { "jseMine": "" @@ -5370,9 +4291,7 @@ "website": "https://jsecoin.com/" }, "JTL Shop": { - "cats": [ - 6 - ], + "cats": [6], "cookies": { "JTLSHOP": "" }, @@ -5381,18 +4300,13 @@ "website": "http://www.jtl-software.de/produkte/jtl-shop3" }, "Jahia DX": { - "cats": [ - 1, - 47 - ], + "cats": [1, 47], "html": " - + diff --git a/src/drivers/webextension/html/options.html b/src/drivers/webextension/html/options.html index 7ec91299a..a10e8a859 100644 --- a/src/drivers/webextension/html/options.html +++ b/src/drivers/webextension/html/options.html @@ -40,6 +40,10 @@ Anonymously send reports on detected applications to wappalyzer.com for research +

diff --git a/src/drivers/webextension/html/popup.html b/src/drivers/webextension/html/popup.html index 9fc0278ad..730a1f496 100644 --- a/src/drivers/webextension/html/popup.html +++ b/src/drivers/webextension/html/popup.html @@ -3,20 +3,32 @@ + - + -
+
+
+
+
+ + + + +
+
+
diff --git a/src/drivers/webextension/images/logo-purple.svg b/src/drivers/webextension/images/logo-purple.svg new file mode 100644 index 000000000..e5e67bb21 --- /dev/null +++ b/src/drivers/webextension/images/logo-purple.svg @@ -0,0 +1,29 @@ + + + + Logo + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/src/drivers/webextension/js/content.js b/src/drivers/webextension/js/content.js index be07c97c0..82713d79b 100644 --- a/src/drivers/webextension/js/content.js +++ b/src/drivers/webextension/js/content.js @@ -1,17 +1,34 @@ /** global: browser */ /** global: XMLSerializer */ -if ( typeof browser !== 'undefined' && typeof document.body !== 'undefined' ) { +/* global browser */ +/* eslint-env browser */ + +const port = browser.runtime.connect({ + name: 'content.js', +}); + +if (typeof browser !== 'undefined' && typeof document.body !== 'undefined') { try { - sendMessage('init', {}); + port.postMessage({ id: 'init' }); // HTML - var html = new XMLSerializer().serializeToString(document).split('\n'); + let html = new XMLSerializer().serializeToString(document); + + const chunks = []; + const maxCols = 2000; + const maxRows = 3000; + const rows = html.length / maxCols; + + let i; - html = html - .slice(0, 1000).concat(html.slice(html.length - 1000)) - .map(line => line.substring(0, 1000)) - .join('\n'); + for (i = 0; i < rows; i += 1) { + if (i < maxRows / 2 || i > rows - maxRows / 2) { + chunks.push(html.slice(i * maxCols, (i + 1) * maxCols)); + } + } + + html = chunks.join('\n'); // Scripts const scripts = Array.prototype.slice @@ -20,52 +37,51 @@ if ( typeof browser !== 'undefined' && typeof document.body !== 'undefined' ) { .map(script => script.src) .filter(script => script.indexOf('data:text/javascript;') !== 0); - sendMessage('analyze', { html, scripts }); + port.postMessage({ id: 'analyze', subject: { html, scripts } }); // JavaScript variables const script = document.createElement('script'); script.onload = () => { - const onMessage = event => { + const onMessage = (event) => { if (event.data.id !== 'js') { return; } - removeEventListener('message', onMessage); + window.removeEventListener('message', onMessage); - sendMessage('analyze', { js: event.data.js }); + port.postMessage({ id: 'analyze', subject: { js: event.data.js } }); script.remove(); }; - addEventListener('message', onMessage); + window.addEventListener('message', onMessage); - sendMessage('get_js_patterns', {}, response => { - if (response) { - postMessage({ - id: 'patterns', - patterns: response.patterns - }, '*'); - } - }); + port.postMessage({ id: 'get_js_patterns' }); }; script.setAttribute('src', browser.extension.getURL('js/inject.js')); document.body.appendChild(script); - } catch (e) { - sendMessage('log', e); + } catch (error) { + port.postMessage({ id: 'log', subject: error }); } } -function sendMessage(id, subject, callback) { - (chrome || browser).runtime.sendMessage({ - id, - subject, - source: 'content.js' - }, callback || ( () => {} )); -} +port.onMessage.addListener((message) => { + switch (message.id) { + case 'get_js_patterns': + postMessage({ + id: 'patterns', + patterns: message.response.patterns, + }, window.location.href); + + break; + default: + // Do nothing + } +}); // https://stackoverflow.com/a/44774834 // https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/executeScript#Return_value -undefined; +undefined; // eslint-disable-line no-unused-expressions diff --git a/src/drivers/webextension/js/driver.js b/src/drivers/webextension/js/driver.js index 988d53d12..71add9c5e 100644 --- a/src/drivers/webextension/js/driver.js +++ b/src/drivers/webextension/js/driver.js @@ -2,38 +2,61 @@ * WebExtension driver */ +/* eslint-env browser */ +/* global browser, chrome, fetch, Wappalyzer */ + /** global: browser */ +/** global: chrome */ +/** global: fetch */ /** global: Wappalyzer */ const wappalyzer = new Wappalyzer(); -var tabCache = {}; -var categoryOrder = []; -var options = {}; -var robotsTxtQueue = {}; +const tabCache = {}; +const robotsTxtQueue = {}; + +let categoryOrder = []; -browser.tabs.onRemoved.addListener(tabId => { +browser.tabs.onRemoved.addListener((tabId) => { tabCache[tabId] = null; }); +function userAgent() { + const url = chrome.extension.getURL('/'); + + if (url.match(/^chrome-/)) { + return 'chrome'; + } + + if (url.match(/^moz-/)) { + return 'firefox'; + } + + if (url.match(/^ms-browser-/)) { + return 'edge'; + } +} + /** * Get a value from localStorage */ function getOption(name, defaultValue = null) { - return new Promise((resolve, reject) => { - const callback = item => { - options[name] = item.hasOwnProperty(name) ? item[name] : defaultValue; + return new Promise(async (resolve, reject) => { + let value = defaultValue; - resolve(options[name]); - }; + try { + const option = await browser.storage.local.get(name); - browser.storage.local.get(name) - .then(callback) - .catch(error => { - wappalyzer.log(error, 'driver', 'error') + if (option[name] !== undefined) { + value = option[name]; + } + } catch (error) { + wappalyzer.log(error.message, 'driver', 'error'); + + return reject(error.message); + } - reject(); - }); + return resolve(value); }); } @@ -41,13 +64,17 @@ function getOption(name, defaultValue = null) { * Set a value in localStorage */ function setOption(name, value) { - const option = {}; + return new Promise(async (resolve, reject) => { + try { + await browser.storage.local.set({ [name]: value }); + } catch (error) { + wappalyzer.log(error.message, 'driver', 'error'); - option[name] = value; - - browser.storage.local.set(option); + return reject(error.message); + } - options[name] = value; + return resolve(); + }); } /** @@ -56,129 +83,88 @@ function setOption(name, value) { function openTab(args) { browser.tabs.create({ url: args.url, - active: args.background === undefined || !args.background + active: args.background === undefined || !args.background, }); } /** * Make a POST request */ -function post(url, body) { - fetch(url, { - method: 'POST', - body: JSON.stringify(body) - }) - .then(response => wappalyzer.log(`POST ${url}: ${response.status}`, 'driver')) - .catch(error => wappalyzer.log(`POST ${url}: ${error}`, 'driver', 'error')); -} - -fetch('../apps.json') - .then(response => response.json()) - .then(json => { - wappalyzer.apps = json.apps; - wappalyzer.categories = json.categories; - - wappalyzer.parseJsPatterns(); - - categoryOrder = Object.keys(wappalyzer.categories) - .map(categoryId => parseInt(categoryId, 10)) - .sort((a, b) => wappalyzer.categories[a].priority - wappalyzer.categories[b].priority); - }) - .catch(error => wappalyzer.log(`GET apps.json: ${error}`, 'driver', 'error')); - -// Version check -let version = browser.runtime.getManifest().version; - -getOption('version') - .then(previousVersion => { - if (previousVersion === null) { - openTab({ - url: wappalyzer.config.websiteURL + 'installed' - }); - } else if (version !== previousVersion) { - getOption('upgradeMessage', true) - .then(upgradeMessage => { - if (upgradeMessage) { - openTab({ - url: wappalyzer.config.websiteURL + 'upgraded?v' + version, - background: true - }); - } - }); - } - - setOption('version', version); - }); - -getOption('dynamicIcon', true); -getOption('pinnedCategory'); - -getOption('hostnameCache', {}).then(hostnameCache => wappalyzer.hostnameCache = hostnameCache); +async function post(url, body) { + try { + const response = await fetch(url, { + method: 'POST', + body: JSON.stringify(body), + }); -// Run content script on all tabs -browser.tabs.query({ url: [ 'http://*/*', 'https://*/*' ] }) - .then(tabs => { - tabs.forEach(tab => { - browser.tabs.executeScript(tab.id, { - file: '../js/content.js' - }); - }) - }) - .catch(error => wappalyzer.log(error, 'driver', 'error')); + wappalyzer.log(`POST ${url}: ${response.status}`, 'driver'); + } catch (error) { + wappalyzer.log(`POST ${url}: ${error}`, 'driver', 'error'); + } +} // Capture response headers -browser.webRequest.onCompleted.addListener(request => { +browser.webRequest.onCompleted.addListener(async (request) => { const headers = {}; if (request.responseHeaders) { const url = wappalyzer.parseUrl(request.url); - browser.tabs.query({ url: [ url.href ] }) - .then(tabs => { - const tab = tabs[0] || null; + let tab; - if (tab) { - request.responseHeaders.forEach(header => { - const name = header.name.toLowerCase(); + try { + [tab] = await browser.tabs.query({ url: [url.href] }); + } catch (error) { + wappalyzer.log(error, 'driver', 'error'); + } - headers[name] = headers[name] || []; + if (tab) { + request.responseHeaders.forEach((header) => { + const name = header.name.toLowerCase(); - headers[name].push((header.value || header.binaryValue || '').toString()); - }); + headers[name] = headers[name] || []; - if (headers['content-type'] && /\/x?html/.test(headers['content-type'][0])) { - wappalyzer.analyze(url, { headers }, { tab }); - } - } - }) - .catch(error => wappalyzer.log(error, 'driver', 'error')); + headers[name].push((header.value || header.binaryValue || '').toString()); + }); + + if (headers['content-type'] && /\/x?html/.test(headers['content-type'][0])) { + wappalyzer.analyze(url, { headers }, { tab }); + } + } } -}, { urls: [ 'http://*/*', 'https://*/*' ], types: [ 'main_frame' ] }, [ 'responseHeaders' ]); +}, { urls: ['http://*/*', 'https://*/*'], types: ['main_frame'] }, ['responseHeaders']); + +browser.runtime.onConnect.addListener((port) => { + port.onMessage.addListener(async (message) => { + if (message.id === undefined) { + return; + } -// Listen for messages -(chrome || browser).runtime.onMessage.addListener((message, sender, sendResponse) => { - if (typeof message.id != 'undefined') { if (message.id !== 'log') { - wappalyzer.log('Message' + (message.source ? ' from ' + message.source : '') + ': ' + message.id, 'driver'); + wappalyzer.log(`Message from ${port.name}: ${message.id}`, 'driver'); } - let url = wappalyzer.parseUrl(sender.tab ? sender.tab.url : ''); + const pinnedCategory = await getOption('pinnedCategory'); + + const url = wappalyzer.parseUrl(port.sender.tab ? port.sender.tab.url : ''); + + const cookies = await browser.cookies.getAll({ domain: `.${url.hostname}` }); + let response; - switch ( message.id ) { + switch (message.id) { case 'log': wappalyzer.log(message.subject, message.source); break; case 'init': - browser.cookies.getAll({ domain: '.' + url.hostname }) - .then(cookies => wappalyzer.analyze(url, { cookies }, { tab: sender.tab })); + wappalyzer.analyze(url, { cookies }, { tab: port.sender.tab }); break; case 'analyze': - wappalyzer.analyze(url, message.subject, { tab: sender.tab }); + wappalyzer.analyze(url, message.subject, { tab: port.sender.tab }); - setOption('hostnameCache', wappalyzer.hostnameCache); + await setOption('hostnameCache', wappalyzer.hostnameCache); break; case 'ad_log': @@ -190,27 +176,39 @@ browser.webRequest.onCompleted.addListener(request => { tabCache: tabCache[message.tab.id], apps: wappalyzer.apps, categories: wappalyzer.categories, - pinnedCategory: options.pinnedCategory, + pinnedCategory, + termsAccepted: userAgent() === 'chrome' || await getOption('termsAccepted', false), }; break; case 'set_option': - setOption(message.key, message.value); + await setOption(message.key, message.value); break; case 'get_js_patterns': response = { - patterns: wappalyzer.jsPatterns + patterns: wappalyzer.jsPatterns, + }; + + break; + case 'update_theme_mode': + // Sync theme mode to popup. + response = { + themeMode: await getOption('themeMode', false), }; break; default: + // Do nothing } - sendResponse(response); - } - - return true; + if (response) { + port.postMessage({ + id: message.id, + response, + }); + } + }); }); wappalyzer.driver.document = document; @@ -219,50 +217,51 @@ wappalyzer.driver.document = document; * Log messages to console */ wappalyzer.driver.log = (message, source, type) => { - console.log(`[wappalyzer ${type}]`, `[${source}]`, message); + const log = ['warn', 'error'].indexOf(type) !== -1 ? type : 'log'; + + console[log](`[wappalyzer ${type}]`, `[${source}]`, message); // eslint-disable-line no-console }; /** * Display apps */ -wappalyzer.driver.displayApps = (detected, meta, context) => { - let tab = context.tab; +wappalyzer.driver.displayApps = async (detected, meta, context) => { + const { tab } = context; if (tab === undefined) { return; } tabCache[tab.id] = tabCache[tab.id] || { - detected: [] + detected: [], }; tabCache[tab.id].detected = detected; + const pinnedCategory = await getOption('pinnedCategory'); + const dynamicIcon = await getOption('dynamicIcon', true); + let found = false; // Find the main application to display - [ options.pinnedCategory ].concat(categoryOrder).forEach(match => { - Object.keys(detected).forEach(appName => { - let app = detected[appName]; + [pinnedCategory].concat(categoryOrder).forEach((match) => { + Object.keys(detected).forEach((appName) => { + const app = detected[appName]; - app.props.cats.forEach(category => { + app.props.cats.forEach((category) => { if (category === match && !found) { - let icon = app.props.icon || 'default.svg'; - - if (!options.dynamicIcon) { - icon = 'default.svg'; - } + let icon = app.props.icon && dynamicIcon ? app.props.icon : 'default.svg'; if (/\.svg$/i.test(icon)) { - icon = 'converted/' + icon.replace(/\.svg$/, '.png'); + icon = `converted/${icon.replace(/\.svg$/, '.png')}`; } try { browser.pageAction.setIcon({ tabId: tab.id, - path: '../images/icons/' + icon + path: `../images/icons/${icon}`, }); - } catch(e) { + } catch (e) { // Firefox for Android does not support setIcon see https://bugzilla.mozilla.org/show_bug.cgi?id=1331746 } @@ -272,57 +271,53 @@ wappalyzer.driver.displayApps = (detected, meta, context) => { }); }); - if (typeof chrome !== 'undefined') { - // Browser polyfill doesn't seem to work here - chrome.pageAction.show(tab.id); - } else { - browser.pageAction.show(tab.id); - } + browser.pageAction.show(tab.id); }; /** * Fetch and cache robots.txt for host */ -wappalyzer.driver.getRobotsTxt = (host, secure = false) => { - if (robotsTxtQueue.hasOwnProperty(host)) { +wappalyzer.driver.getRobotsTxt = async (host, secure = false) => { + if (robotsTxtQueue[host]) { return robotsTxtQueue[host]; } - robotsTxtQueue[host] = new Promise(resolve => { - getOption('tracking', true) - .then(tracking => { - if (!tracking) { - return resolve([]); - } + const tracking = await getOption('tracking', true); + const robotsTxtCache = await getOption('robotsTxtCache', {}); - getOption('robotsTxtCache') - .then(robotsTxtCache => { - robotsTxtCache = robotsTxtCache || {}; + robotsTxtQueue[host] = new Promise(async (resolve) => { + if (!tracking) { + return resolve([]); + } + + if (host in robotsTxtCache) { + return resolve(robotsTxtCache[host]); + } - if ( host in robotsTxtCache ) { - return resolve(robotsTxtCache[host]); - } + const timeout = setTimeout(() => resolve([]), 3000); - const timeout = setTimeout(() => resolve([]), 3000); + let response; - fetch('http' + (secure ? 's' : '') + '://' + host + '/robots.txt', { redirect: 'follow' }) - .then(response => { - clearTimeout(timeout); + try { + response = await fetch(`http${secure ? 's' : ''}://${host}/robots.txt`, { redirect: 'follow' }); + } catch (error) { + wappalyzer.log(error, 'driver', 'error'); - return response.ok ? response.text() : ''; - }) - .then(robotsTxt => { - robotsTxtCache[host] = wappalyzer.parseRobotsTxt(robotsTxt); + return resolve([]); + } - setOption('robotsTxtCache', robotsTxtCache); + clearTimeout(timeout); - resolve(robotsTxtCache[host]); - }) - .catch(() => resolve([])); - }); - }); - }) - .finally(() => delete robotsTxtQueue[host]); + const robotsTxt = response.ok ? await response.text() : ''; + + robotsTxtCache[host] = Wappalyzer.parseRobotsTxt(robotsTxt); + + await setOption('robotsTxtCache', robotsTxtCache); + + delete robotsTxtQueue[host]; + + return resolve(robotsTxtCache[host]); + }); return robotsTxtQueue[host]; }; @@ -330,19 +325,77 @@ wappalyzer.driver.getRobotsTxt = (host, secure = false) => { /** * Anonymously track detected applications for research purposes */ -wappalyzer.driver.ping = (hostnameCache = {}, adCache = []) => { - getOption('tracking', true) - .then(tracking => { - if (tracking) { - if (Object.keys(hostnameCache).length) { - post('https://api.wappalyzer.com/ping/v1/', hostnameCache); - } +wappalyzer.driver.ping = async (hostnameCache = {}, adCache = []) => { + const tracking = await getOption('tracking', true); + const termsAccepted = userAgent() === 'chrome' || await getOption('termsAccepted', false); - if (adCache.length) { - post('https://ad.wappalyzer.com/log/wp/', adCache); - } + if (tracking && termsAccepted) { + if (Object.keys(hostnameCache).length) { + post('https://api.wappalyzer.com/ping/v1/', hostnameCache); + } + + if (adCache.length) { + post('https://ad.wappalyzer.com/log/wp/', adCache); + } + + await setOption('robotsTxtCache', {}); + } +}; + +// Init +(async () => { + // Technologies + try { + const response = await fetch('../apps.json'); + const json = await response.json(); + + wappalyzer.apps = json.apps; + wappalyzer.categories = json.categories; + } catch (error) { + wappalyzer.log(`GET apps.json: ${error.message}`, 'driver', 'error'); + } + + wappalyzer.parseJsPatterns(); - setOption('robotsTxtCache', {}); + categoryOrder = Object.keys(wappalyzer.categories) + .map(categoryId => parseInt(categoryId, 10)) + .sort((a, b) => wappalyzer.categories[a].priority - wappalyzer.categories[b].priority); + + // Version check + const { version } = browser.runtime.getManifest(); + const previousVersion = await getOption('version'); + const upgradeMessage = await getOption('upgradeMessage', true); + + if (previousVersion === null) { + openTab({ + url: `${wappalyzer.config.websiteURL}installed`, + }); + } else if (version !== previousVersion && upgradeMessage) { + openTab({ + url: `${wappalyzer.config.websiteURL}upgraded?v${version}`, + background: true, + }); + } + + await setOption('version', version); + + // Hostname cache + wappalyzer.hostnameCache = await getOption('hostnameCache', {}); + + // Run content script on all tabs + try { + const tabs = await browser.tabs.query({ url: ['http://*/*', 'https://*/*'] }); + + tabs.forEach(async (tab) => { + try { + await browser.tabs.executeScript(tab.id, { + file: '../js/content.js', + }); + } catch (error) { + // } }); -}; + } catch (error) { + wappalyzer.log(error, 'driver', 'error'); + } +})(); diff --git a/src/drivers/webextension/js/inject.js b/src/drivers/webextension/js/inject.js index 322c21374..3e9a6658f 100644 --- a/src/drivers/webextension/js/inject.js +++ b/src/drivers/webextension/js/inject.js @@ -1,12 +1,14 @@ +/* eslint-env browser */ + (() => { - try { - const detectJs = chain => { + try { + const detectJs = (chain) => { const properties = chain.split('.'); let value = properties.length ? window : null; - for (let i = 0; i < properties.length; i ++) { - let property = properties[i]; + for (let i = 0; i < properties.length; i++) { + const property = properties[i]; if (value && value.hasOwnProperty(property)) { value = value[property]; @@ -20,7 +22,7 @@ return typeof value === 'string' || typeof value === 'number' ? value : !!value; }; - const onMessage = event => { + const onMessage = (event) => { if (event.data.id !== 'patterns') { return; } @@ -31,15 +33,15 @@ const js = {}; - for (let appName in patterns) { + for (const appName in patterns) { if (patterns.hasOwnProperty(appName)) { js[appName] = {}; - for (let chain in patterns[appName]) { + for (const chain in patterns[appName]) { if (patterns[appName].hasOwnProperty(chain)) { js[appName][chain] = {}; - for (let index in patterns[appName][chain]) { + for (const index in patterns[appName][chain]) { const value = detectJs(chain); if (value && patterns[appName][chain].hasOwnProperty(index)) { @@ -51,11 +53,11 @@ } } - postMessage({ id: 'js', js }, '*'); + postMessage({ id: 'js', js }, window.location.href); }; addEventListener('message', onMessage); - } catch(e) { + } catch (e) { // Fail quietly } })(); diff --git a/src/drivers/webextension/js/jsontodom.js b/src/drivers/webextension/js/jsontodom.js deleted file mode 100644 index c6506c4fb..000000000 --- a/src/drivers/webextension/js/jsontodom.js +++ /dev/null @@ -1,63 +0,0 @@ -jsonToDOM.namespaces = { - html: "http://www.w3.org/1999/xhtml", - xul: "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" -}; - -jsonToDOM.defaultNamespace = jsonToDOM.namespaces.html; - -function jsonToDOM(jsonTemplate, doc, nodes) { - function namespace(name) { - var reElemNameParts = /^(?:(.*):)?(.*)$/.exec(name); - return { namespace: jsonToDOM.namespaces[reElemNameParts[1]], shortName: reElemNameParts[2] }; - } - - // Note that 'elemNameOrArray' is: either the full element name (eg. [html:]div) or an array of elements in JSON notation - function tag(elemNameOrArray, elemAttr) { - // Array of elements? Parse each one... - if (Array.isArray(elemNameOrArray)) { - var frag = doc.createDocumentFragment(); - Array.prototype.forEach.call(arguments, function(thisElem) { - frag.appendChild(tag.apply(null, thisElem)); - }); - return frag; - } - - // Single element? Parse element namespace prefix (if none exists, default to defaultNamespace), and create element - var elemNs = namespace(elemNameOrArray); - var elem = doc.createElementNS(elemNs.namespace || jsonToDOM.defaultNamespace, elemNs.shortName); - - // Set element's attributes and/or callback functions (eg. onclick) - for (var key in elemAttr) { - var val = elemAttr[key]; - if (nodes && key == "key") { - nodes[val] = elem; - continue; - } - - var attrNs = namespace(key); - if (typeof val == "function") { - // Special case for function attributes; don't just add them as 'on...' attributes, but as events, using addEventListener - elem.addEventListener(key.replace(/^on/, ""), val, false); - } - else { - // Note that the default namespace for XML attributes is, and should be, blank (ie. they're not in any namespace) - elem.setAttributeNS(attrNs.namespace || "", attrNs.shortName, val); - } - } - - // Create and append this element's children - var childElems = Array.prototype.slice.call(arguments, 2); - childElems.forEach(function(childElem) { - if (childElem != null) { - elem.appendChild( - childElem instanceof doc.defaultView.Node ? childElem : - Array.isArray(childElem) ? tag.apply(null, childElem) : - doc.createTextNode(childElem)); - } - }); - - return elem; - } - - return tag.apply(null, jsonTemplate); -} diff --git a/src/drivers/webextension/js/iframe.js b/src/drivers/webextension/js/lib/iframe.js similarity index 96% rename from src/drivers/webextension/js/iframe.js rename to src/drivers/webextension/js/lib/iframe.js index 883ebea71..b50e63629 100644 --- a/src/drivers/webextension/js/iframe.js +++ b/src/drivers/webextension/js/lib/iframe.js @@ -6,6 +6,7 @@ var exports = {}; (function(exports) { + var port = browser.runtime.connect({name:"adparser"}); var utils = { normalizeUrl: function(url) { @@ -119,12 +120,9 @@ var exports = {}; } return dict; }, - sendToBackground: function(message, event, responseMessage, onResponse) { - if ( typeof browser !== 'undefined' ) { - var response = browser.runtime.sendMessage(message); - response.then(onResponse); - } else if ( typeof chrome !== 'undefined' ) { - chrome.runtime.sendMessage(message, onResponse); + sendToBackground: function(message, event, responseMessage) { + if ( typeof browser !== 'undefined' || typeof chrome !== 'undefined' ) { + port.postMessage(message); } else if ( window.self.port ) { window.self.port.on(responseMessage, onResponse); window.self.port.emit(event, message); @@ -132,25 +130,28 @@ var exports = {}; }, askIfTrackingEnabled: function(callback, elseCallback) { + utilCallback = callback; + utilElseCallback = elseCallback; this.sendToBackground( 'is_tracking_enabled', '', - 'tracking_enabled_response', - function(message) { - if ( message && message.tracking_enabled ) { - - callback(); - } else { - - elseCallback(); - } - } + 'tracking_enabled_response' ); } }; + port.onMessage.addListener((message) => { + if ( message && message.tracking_enabled ) { + + utilCallback(); + } else { + + utilElseCallback(); + } + }); + utils.SCRIPT_IN_FRIENDLY_IFRAME = !utils.SCRIPT_IN_WINDOW_TOP && utils.isFriendlyWindow(window.parent); utils.SCRIPT_IN_HOSTILE_IFRAME = !utils.SCRIPT_IN_WINDOW_TOP && !utils.SCRIPT_IN_FRIENDLY_IFRAME; @@ -181,7 +182,7 @@ var exports = {}; video_assets: opt_video_assets, assets: opt_assets, version: '3', - mrev: '4aeaa5a-c', + mrev: '15a9f21-d', msgNum: this.msgNum, timestamp: new Date().getTime(), pageVis: document.visibilityState, @@ -195,6 +196,8 @@ var exports = {}; utils.LogGenerator = LogGenerator; + let utilCallback, utilElseCallback; + exports.utils = utils; })(exports); @@ -890,7 +893,7 @@ var exports = {}; var _pageTags; var INIT_MS_BW_SEARCHES = 2000; var PAGE_TAG_RE = new RegExp('gpt|oascentral'); - var POST_MSG_ID = '1519242200-10756-12873-1462-13403'; + var POST_MSG_ID = '1554456894-8541-12665-19466-15909'; var AD_SERVER_RE = new RegExp('^(google_ads_iframe|oas_frame|atwAdFrame)'); function getPageTags(doc) { @@ -1028,13 +1031,17 @@ var exports = {}; myWin = window.document.defaultView, ifrTag; - try { + if ( typeof event.data === "string" && event.data.indexOf(POST_MSG_ID) != -1 ) { + try { - adData = JSON.parse(event.data); - } catch(e) { + adData = JSON.parse(event.data); + } catch (e) { - return; + return; + } } + else + return; if ( adData.postMessageId === POST_MSG_ID ) { @@ -1080,19 +1087,14 @@ var exports = {}; } function addBackgroundListener(event, callback) { - if ( typeof browser !== 'undefined' ) { + if ( typeof browser !== 'undefined' || typeof chrome !== 'undefined' ) { browser.runtime.onMessage.addListener(function(msg) { if ( msg.event === event ) { callback(msg); } }); - } else if ( typeof chrome !== 'undefined' ) { - chrome.runtime.onMessage.addListener(function(msg) { - if ( msg.event === event ) { - callback(msg); - } - }); - } else if ( window.self.port ) { + } + else if (window.self.port) { window.self.port.on(event, callback); } } diff --git a/src/drivers/webextension/js/lib/jsontodom.js b/src/drivers/webextension/js/lib/jsontodom.js new file mode 100644 index 000000000..24d9e4c29 --- /dev/null +++ b/src/drivers/webextension/js/lib/jsontodom.js @@ -0,0 +1,63 @@ +jsonToDOM.namespaces = { + html: 'http://www.w3.org/1999/xhtml', + xul: 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', +}; + +jsonToDOM.defaultNamespace = jsonToDOM.namespaces.html; + +function jsonToDOM(jsonTemplate, doc, nodes) { + function namespace(name) { + const reElemNameParts = /^(?:(.*):)?(.*)$/.exec(name); + return { namespace: jsonToDOM.namespaces[reElemNameParts[1]], shortName: reElemNameParts[2] }; + } + + // Note that 'elemNameOrArray' is: either the full element name (eg. [html:]div) or an array of elements in JSON notation + function tag(elemNameOrArray, elemAttr) { + // Array of elements? Parse each one... + if (Array.isArray(elemNameOrArray)) { + const frag = doc.createDocumentFragment(); + Array.prototype.forEach.call(arguments, (thisElem) => { + frag.appendChild(tag(...thisElem)); + }); + return frag; + } + + // Single element? Parse element namespace prefix (if none exists, default to defaultNamespace), and create element + const elemNs = namespace(elemNameOrArray); + const elem = doc.createElementNS(elemNs.namespace || jsonToDOM.defaultNamespace, elemNs.shortName); + + // Set element's attributes and/or callback functions (eg. onclick) + for (const key in elemAttr) { + const val = elemAttr[key]; + if (nodes && key == 'key') { + nodes[val] = elem; + continue; + } + + const attrNs = namespace(key); + if (typeof val === 'function') { + // Special case for function attributes; don't just add them as 'on...' attributes, but as events, using addEventListener + elem.addEventListener(key.replace(/^on/, ''), val, false); + } else { + // Note that the default namespace for XML attributes is, and should be, blank (ie. they're not in any namespace) + elem.setAttributeNS(attrNs.namespace || '', attrNs.shortName, val); + } + } + + // Create and append this element's children + const childElems = Array.prototype.slice.call(arguments, 2); + childElems.forEach((childElem) => { + if (childElem != null) { + elem.appendChild( + childElem instanceof doc.defaultView.Node ? childElem + : Array.isArray(childElem) ? tag(...childElem) + : doc.createTextNode(childElem), + ); + } + }); + + return elem; + } + + return tag(...jsonTemplate); +} diff --git a/src/drivers/webextension/js/network.js b/src/drivers/webextension/js/lib/network.js similarity index 88% rename from src/drivers/webextension/js/network.js rename to src/drivers/webextension/js/lib/network.js index 6df8237ca..7c46fcf9f 100644 --- a/src/drivers/webextension/js/network.js +++ b/src/drivers/webextension/js/lib/network.js @@ -1,3 +1,4 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i { + port.onMessage.addListener((message) => { + if ( message === 'is_browser_valid' ) { + ifBrowserValid( + port.postMessage({'browser_valid': true}), + port.postMessage({'browser_valid': false}) + ); + } + }); }); - browserProxy.runtime.onMessage.addListener(function(request, sender, sendResponse) { - if ( request === 'is_tracking_enabled' ) { - ifTrackingEnabled( - sender.tab, - function() { - try {sendResponse({'tracking_enabled': true});} - catch(err) {} }, - function() { - try {sendResponse({'tracking_enabled': false});} - catch(err) {}} - ); - } - return true; + browser.runtime.onConnect.addListener((port) => { + port.onMessage.addListener((message) => { + if ( message === 'is_tracking_enabled' ) { + ifTrackingEnabled( + port.sender.tab, + function() { + try {port.postMessage({'tracking_enabled': true});} + catch(err) {} }, + function() { + try {port.postMessage({'tracking_enabled': false});} + catch(err) {} } + ); + } + return true; + }); }); })(); + +},{}]},{},[1]); diff --git a/src/drivers/webextension/js/options.js b/src/drivers/webextension/js/options.js index 4c5d7cc67..03c6ae504 100644 --- a/src/drivers/webextension/js/options.js +++ b/src/drivers/webextension/js/options.js @@ -1,69 +1,105 @@ /** global: browser */ /** global: Wappalyzer */ +/* globals browser Wappalyzer */ +/* eslint-env browser */ const wappalyzer = new Wappalyzer(); -function getOption(name, defaultValue, callback) { - browser.storage.local.get(name) - .then(item => { - callback(item.hasOwnProperty(name) ? item[name] : defaultValue); - }); +/** + * Get a value from localStorage + */ +function getOption(name, defaultValue = null) { + return new Promise(async (resolve, reject) => { + let value = defaultValue; + + try { + const option = await browser.storage.local.get(name); + + if (option[name] !== undefined) { + value = option[name]; + } + } catch (error) { + wappalyzer.log(error.message, 'driver', 'error'); + + return reject(error.message); + } + + return resolve(value); + }); } +/** + * Set a value in localStorage + */ function setOption(name, value) { - ( chrome || browser ).runtime.sendMessage({ - id: 'set_option', - key: name, - value: value + return new Promise(async (resolve, reject) => { + try { + await browser.storage.local.set({ [name]: value }); + } catch (error) { + wappalyzer.log(error.message, 'driver', 'error'); + + return reject(error.message); + } + + return resolve(); }); } -document.addEventListener('DOMContentLoaded', () => { - var nodes = document.querySelectorAll('[data-i18n]'); +document.addEventListener('DOMContentLoaded', async () => { + const nodes = document.querySelectorAll('[data-i18n]'); - Array.prototype.forEach.call(nodes, node => { + Array.prototype.forEach.call(nodes, (node) => { node.childNodes[0].nodeValue = browser.i18n.getMessage(node.dataset.i18n); }); document.querySelector('#github').addEventListener('click', () => { - open(wappalyzer.config.githubURL); + window.open(wappalyzer.config.githubURL); }); document.querySelector('#twitter').addEventListener('click', () => { - open(wappalyzer.config.twitterURL); + window.open(wappalyzer.config.twitterURL); }); document.querySelector('#wappalyzer').addEventListener('click', () => { - open(wappalyzer.config.websiteURL); + window.open(wappalyzer.config.websiteURL); }); - getOption('upgradeMessage', true, value => { - const el = document.querySelector('#option-upgrade-message'); + let el; + let value; - el.checked = value; + // Upgrade message + value = await getOption('upgradeMessage', true); - el.addEventListener('change', () => { - setOption('upgradeMessage', el.checked); - }); - }); + el = document.querySelector('#option-upgrade-message'); - getOption('dynamicIcon', true, value => { - const el = document.querySelector('#option-dynamic-icon'); + el.checked = value; - el.checked = value; + el.addEventListener('change', e => setOption('upgradeMessage', e.target.checked)); - el.addEventListener('change', () => { - setOption('dynamicIcon', el.checked); - }); - }); + // Dynamic icon + value = await getOption('dynamicIcon', true); - getOption('tracking', true, value => { - const el = document.querySelector('#option-tracking'); + el = document.querySelector('#option-dynamic-icon'); - el.checked = value; + el.checked = value; - el.addEventListener('change', () => { - setOption('tracking', el.checked); - }); - }); + el.addEventListener('change', e => setOption('dynamicIcon', e.target.checked)); + + // Tracking + value = await getOption('tracking', true); + + el = document.querySelector('#option-tracking'); + + el.checked = value; + + el.addEventListener('change', e => setOption('tracking', e.target.checked)); + + // Theme Mode + value = await getOption('themeMode', false); + + el = document.querySelector('#option-theme-mode'); + + el.checked = value; + + el.addEventListener('change', e => setOption('themeMode', e.target.checked)); }); diff --git a/src/drivers/webextension/js/popup.js b/src/drivers/webextension/js/popup.js index e846dd0f5..cf5d2d95d 100644 --- a/src/drivers/webextension/js/popup.js +++ b/src/drivers/webextension/js/popup.js @@ -1,61 +1,51 @@ -/** global: chrome */ +/* eslint-env browser */ +/* global browser, jsonToDOM */ + /** global: browser */ +/** global: jsonToDOM */ -var pinnedCategory = null; +let pinnedCategory = null; +let termsAccepted = false; -var func = tabs => { - ( chrome || browser ).runtime.sendMessage({ - id: 'get_apps', - tab: tabs[0], - source: 'popup.js' - }, response => { - pinnedCategory = response.pinnedCategory; +const port = browser.runtime.connect({ + name: 'popup.js', +}); - replaceDomWhenReady(appsToDomTemplate(response)); - }); -}; +function slugify(string) { + return string.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/--+/g, '-').replace(/(?:^-|-$)/, ''); +} -browser.tabs.query({ active: true, currentWindow: true }) - .then(func) - .catch(console.error); +function i18n() { + const nodes = document.querySelectorAll('[data-i18n]'); -function replaceDomWhenReady(dom) { - if ( /complete|interactive|loaded/.test(document.readyState) ) { - replaceDom(dom); - } else { - document.addEventListener('DOMContentLoaded', () => { - replaceDom(dom); - }); - } + Array.prototype.forEach.call(nodes, (node) => { + node.innerHTML = browser.i18n.getMessage(node.dataset.i18n); + }); } function replaceDom(domTemplate) { - var container = document.getElementsByClassName('container')[0]; + const container = document.getElementsByClassName('container')[0]; - while ( container.firstChild ) { + while (container.firstChild) { container.removeChild(container.firstChild); } container.appendChild(jsonToDOM(domTemplate, document, {})); - var nodes = document.querySelectorAll('[data-i18n]'); + i18n(); - Array.prototype.forEach.call(nodes, node => { - node.childNodes[0].nodeValue = browser.i18n.getMessage(node.dataset.i18n); - }); - - Array.from(document.querySelectorAll('.detected__category-pin-wrapper')).forEach(pin => { + Array.from(document.querySelectorAll('.detected__category-pin-wrapper')).forEach((pin) => { pin.addEventListener('click', () => { const categoryId = parseInt(pin.dataset.categoryId, 10); - if ( categoryId === pinnedCategory ) { + if (categoryId === pinnedCategory) { pin.className = 'detected__category-pin-wrapper'; pinnedCategory = null; } else { const active = document.querySelector('.detected__category-pin-wrapper--active'); - if ( active ) { + if (active) { active.className = 'detected__category-pin-wrapper'; } @@ -64,7 +54,7 @@ function replaceDom(domTemplate) { pinnedCategory = categoryId; } - ( chrome || browser ).runtime.sendMessage({ + port.postMessage({ id: 'set_option', key: 'pinnedCategory', value: pinnedCategory, @@ -73,116 +63,125 @@ function replaceDom(domTemplate) { }); } +function replaceDomWhenReady(dom) { + if (/complete|interactive|loaded/.test(document.readyState)) { + replaceDom(dom); + } else { + document.addEventListener('DOMContentLoaded', () => { + replaceDom(dom); + }); + } +} + function appsToDomTemplate(response) { - let template = []; + let template = []; - if ( response.tabCache && Object.keys(response.tabCache.detected).length > 0 ) { + if (response.tabCache && Object.keys(response.tabCache.detected).length > 0) { const categories = {}; // Group apps by category - for ( let appName in response.tabCache.detected ) { - response.apps[appName].cats.forEach(cat => { + for (const appName in response.tabCache.detected) { + response.apps[appName].cats.forEach((cat) => { categories[cat] = categories[cat] || { apps: [] }; categories[cat].apps[appName] = appName; }); } - for ( let cat in categories ) { + for (const cat in categories) { const apps = []; - for ( let appName in categories[cat].apps ) { - let confidence = response.tabCache.detected[appName].confidenceTotal; - let version = response.tabCache.detected[appName].version; + for (const appName in categories[cat].apps) { + const { confidence, version } = response.tabCache.detected[appName]; apps.push( [ 'a', { class: 'detected__app', target: '_blank', - href: 'https://www.wappalyzer.com/technologies/' + slugify(appName) + href: `https://www.wappalyzer.com/technologies/${slugify(appName)}`, }, [ 'img', { class: 'detected__app-icon', - src: '../images/icons/' + (response.apps[appName].icon || 'default.svg') + src: `../images/icons/${response.apps[appName].icon || 'default.svg'}`, }, ], [ 'span', { - class: 'detected__app-name' + class: 'detected__app-name', }, appName, ], version ? [ 'span', { - class: 'detected__app-version' + class: 'detected__app-version', }, - version + version, ] : null, confidence < 100 ? [ 'span', { - class: 'detected__app-confidence' + class: 'detected__app-confidence', }, - confidence + '% sure' - ] : null - ] + `${confidence}% sure`, + ] : null, + ], ); } template.push( [ 'div', { - class: 'detected__category' + class: 'detected__category', }, [ 'div', { - class: 'detected__category-name' + class: 'detected__category-name', }, [ 'a', { class: 'detected__category-link', target: '_blank', - href: 'https://www.wappalyzer.com/categories/' + slugify(response.categories[cat].name) + href: `https://www.wappalyzer.com/categories/${slugify(response.categories[cat].name)}`, }, - browser.i18n.getMessage('categoryName' + cat), + browser.i18n.getMessage(`categoryName${cat}`), ], [ 'span', { - class: 'detected__category-pin-wrapper' + ( pinnedCategory == cat ? ' detected__category-pin-wrapper--active' : '' ), + class: `detected__category-pin-wrapper${pinnedCategory == cat ? ' detected__category-pin-wrapper--active' : ''}`, 'data-category-id': cat, - 'title': browser.i18n.getMessage('categoryPin'), + title: browser.i18n.getMessage('categoryPin'), }, [ 'img', { class: 'detected__category-pin detected__category-pin--active', - src: '../images/pin-active.svg' + src: '../images/pin-active.svg', }, ], [ 'img', { class: 'detected__category-pin detected__category-pin--inactive', - src: '../images/pin.svg' - } - ] - ] + src: '../images/pin.svg', + }, + ], + ], ], [ 'div', { - class: 'detected__apps' + class: 'detected__apps', }, - apps - ] - ] + apps, + ], + ], ); } template = [ 'div', { - class: 'detected' + class: 'detected', }, - template + template, ]; } else { template = [ 'div', { - class: 'empty' + class: 'empty', }, [ 'span', { - class: 'empty__text' + class: 'empty__text', }, - browser.i18n.getMessage('noAppsDetected') + browser.i18n.getMessage('noAppsDetected'), ], ]; } @@ -190,6 +189,85 @@ function appsToDomTemplate(response) { return template; } -function slugify(string) { - return string.toLowerCase().replace(/[^a-z0-9-]/g, '-').replace(/--+/g, '-').replace(/(?:^-|-$)/, ''); +async function getApps() { + try { + const tabs = await browser.tabs.query({ + active: true, + currentWindow: true, + }); + + port.postMessage({ + id: 'get_apps', + tab: tabs[0], + }); + } catch (error) { + console.error(error); // eslint-disable-line no-console + } +} + +/** + * Async function to update body class based on option. + */ +async function getThemeMode() { + try { + port.postMessage({ + id: 'update_theme_mode', + }); + } catch (error) { + console.error(error); // eslint-disable-line no-console + } +} + +/** + * Update theme mode based on browser option. + * @param {object} res Response from port listener. + */ +function updateThemeMode(res) { + if (res.hasOwnProperty('themeMode') && res.themeMode !== false) { + document.body.classList.add('theme-mode-sync'); + } +} +function displayApps(response) { + pinnedCategory = response.pinnedCategory; // eslint-disable-line prefer-destructuring + termsAccepted = response.termsAccepted; // eslint-disable-line prefer-destructuring + + if (termsAccepted) { + replaceDomWhenReady(appsToDomTemplate(response)); + } else { + i18n(); + + const wrapper = document.querySelector('.terms__wrapper'); + + document.querySelector('.terms__accept').addEventListener('click', () => { + port.postMessage({ + id: 'set_option', + key: 'termsAccepted', + value: true, + }); + + wrapper.classList.remove('terms__wrapper--active'); + + getApps(); + }); + + wrapper.classList.add('terms__wrapper--active'); + } } + +port.onMessage.addListener((message) => { + switch (message.id) { + case 'get_apps': + displayApps(message.response); + + break; + case 'update_theme_mode': + updateThemeMode(message.response); + + break; + default: + // Do nothing + } +}); + +getThemeMode(); +getApps(); diff --git a/src/drivers/webextension/manifest.json b/src/drivers/webextension/manifest.json index 2880e3aea..5aaee78e3 100644 --- a/src/drivers/webextension/manifest.json +++ b/src/drivers/webextension/manifest.json @@ -1,78 +1,78 @@ { - "name": "Wappalyzer", - "short_name": "Wappalyzer", - "author": "Elbert Alias", - "homepage_url": "https://www.wappalyzer.com", - "description": "Identify web technologies", - "version": "5.5.2", - "default_locale": "en", - "manifest_version": 2, - "icons": { - "16": "images/icon_16.png", - "19": "images/icon_19.png", - "32": "images/icon_32.png", - "38": "images/icon_38.png", - "128": "images/icon_128.png" - }, - "page_action": { - "default_icon": { - "16": "images/icon_16.png", - "19": "images/icon_19.png", - "32": "images/icon_32.png", - "38": "images/icon_38.png", - "128": "images/icon_128.png" - }, - "default_title": "Wappalyzer", - "default_popup": "html/popup.html" - }, - "background": { - "page": "html/background.html" + "name": "Wappalyzer", + "short_name": "Wappalyzer", + "author": "Elbert Alias", + "homepage_url": "https://www.wappalyzer.com", + "description": "Identify web technologies", + "version": "5.9.1", + "default_locale": "en", + "manifest_version": 2, + "icons": { + "16": "images/icon_16.png", + "19": "images/icon_19.png", + "32": "images/icon_32.png", + "38": "images/icon_38.png", + "128": "images/icon_128.png" + }, + "page_action": { + "default_icon": { + "16": "images/icon_16.png", + "19": "images/icon_19.png", + "32": "images/icon_32.png", + "38": "images/icon_38.png", + "128": "images/icon_128.png" + }, + "default_title": "Wappalyzer", + "default_popup": "html/popup.html" + }, + "background": { + "page": "html/background.html" - }, - "content_scripts": [ - { - "matches": [ - "http://*/*", - "https://*/*" - ], - "js": [ - "node_modules/webextension-polyfill/dist/browser-polyfill.js", - "js/content.js" - ], - "run_at": "document_idle" - }, - { - "matches": [ + }, + "content_scripts": [ + { + "matches": [ "http://*/*", - "https://*/*" - ], - "exclude_matches": [ - "https://*.modirum.com/*", - "https://www.alphaecommerce.gr/*" - ], - "js": [ - "js/iframe.js" - ], - "run_at": "document_start", - "all_frames": true - } - ], - "web_accessible_resources": [ - "js/inject.js" - ], - "options_page": "html/options.html", - "options_ui": { - "page": "html/options.html", - "open_in_tab": false - }, - "permissions": [ + "https://*/*" + ], + "js": [ + "node_modules/webextension-polyfill/dist/browser-polyfill.js", + "js/content.js" + ], + "run_at": "document_idle" + }, + { + "matches": [ + "http://*/*", + "https://*/*" + ], + "exclude_matches": [ + "https://*.modirum.com/*", + "https://www.alphaecommerce.gr/*" + ], + "js": [ + "node_modules/webextension-polyfill/dist/browser-polyfill.js", + "js/lib/iframe.js" + ], + "run_at": "document_start", + "all_frames": true + } + ], + "web_accessible_resources": [ + "js/inject.js" + ], + "options_ui": { + "page": "html/options.html", + "open_in_tab": false + }, + "permissions": [ "cookies", - "storage", - "tabs", - "webRequest", - "webNavigation", - "http://*/*", - "https://*/*" - ], - "content_security_policy": "script-src 'self'; object-src 'self'" + "storage", + "tabs", + "webRequest", + "webNavigation", + "http://*/*", + "https://*/*" + ], + "content_security_policy": "script-src 'self'; object-src 'self'" } diff --git a/src/drivers/webextension/npm-shrinkwrap.json b/src/drivers/webextension/npm-shrinkwrap.json index ebcf0d9eb..9934b3a1c 100644 --- a/src/drivers/webextension/npm-shrinkwrap.json +++ b/src/drivers/webextension/npm-shrinkwrap.json @@ -3,9 +3,9 @@ "lockfileVersion": 1, "dependencies": { "webextension-polyfill": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.2.1.tgz", - "integrity": "sha1-zfyRJgMwOfFxNVMVfTW+/x1Nb0o=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.4.0.tgz", + "integrity": "sha512-oreMp+EoAo1pzRMigx4jB5jInIpx6NTCySPSjGyLLee/dCIPiRqowCEfbFP8o20wz9SOtNwSsfkaJ9D/tRgpag==" } } } diff --git a/src/drivers/webextension/package.json b/src/drivers/webextension/package.json index 9b344ae21..837c5acf8 100644 --- a/src/drivers/webextension/package.json +++ b/src/drivers/webextension/package.json @@ -1,5 +1,5 @@ { "dependencies": { - "webextension-polyfill": "^0.2.1" + "webextension-polyfill": "^0.4.0" } } diff --git a/src/icons/91app.png b/src/icons/91app.png new file mode 100644 index 0000000000000000000000000000000000000000..3963238b1b19bafcd4d578dc72f6551f117d6d8f GIT binary patch literal 16267 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 literal 0 HcmV?d00001 diff --git a/src/icons/ADPLAN.png b/src/icons/ADPLAN.png new file mode 100644 index 0000000000000000000000000000000000000000..2252edbb8e7c8a22f00186d4e7f0923fc53b40fa GIT binary patch literal 6396 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 H+lKuQYpr;E literal 0 HcmV?d00001 diff --git a/src/icons/AMPcms.png b/src/icons/AMPcms.png deleted file mode 100644 index 1d528c84bdb09aba8603e3d4e108d919c1965c70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 779 zcmV+m1N8ifP)jLTEG$$bkw{N%ZEasoP0e#n)1rRA zztv)~q>z81X*xkw)vl`QY81`!L6$x6dc9Cp6_H2;fk5D%D2iqhkJ)Ta@OV5sa`Qa> zY3YW|44tmB(+vSCgKpwXVzi*30HI(IvMk?a7$$|p;(0#Z$O`Y_>}zo=pw2+0Naq{hvO*1n>^{eh)tfAE2lE#LxD1Wg5{roH=(SNqRzJZCoZN z)RpHRym@Xt@IDIs_yl~pfnNh{cyp@-t807@n-|#=9ZuIqo6UBgjN&+MiXdc`W@eca zrI|BtUua^1r@QdS5b!D+1Dz94UN~d8ZK;$c=Q%5RUg#pDoK9!0-EKcXbaIaC_Vqdn zxSs+1dIaDi@HhqUc8)>4-#WauO0;K*oXcorU1XG^DBad<={nIhFI5hnUd#hmQh_h4 zfqpB{n}~r;X=n^PAMf9~Ace$I6y>tl>-}nES#IT$dCZ2&yr;d3SiEUZ!so7Jyf|dQ zku|pAEsgUlNjz@1yCW0|!j>(aC%Ww|;mi$H_MUy!_P0k{W(@9Fk$tmXbA*X*%2XRPNFW+-q&Ua5Dx{d~E{N8$gG8y4==hO*;P(b1lMRAYM=R-IgMp;?7 zZ - - - AMP-Brand-Blue-Icon - Created with Sketch. - - - - - - - \ No newline at end of file + diff --git a/src/icons/Accessible Portal.png b/src/icons/Accessible Portal.png deleted file mode 100644 index 688c1122ec2e721696fa7ec48fc25053cae77085..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 682 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 literal 0 HcmV?d00001 diff --git a/src/icons/Adverticum.svg b/src/icons/Adverticum.svg new file mode 100644 index 000000000..92713f107 --- /dev/null +++ b/src/icons/Adverticum.svg @@ -0,0 +1 @@ + diff --git a/src/icons/Airform.svg b/src/icons/Airform.svg new file mode 100644 index 000000000..188efcda5 --- /dev/null +++ b/src/icons/Airform.svg @@ -0,0 +1 @@ + diff --git a/src/icons/Analysys Ark.svg b/src/icons/Analysys Ark.svg new file mode 100644 index 000000000..3e8322823 --- /dev/null +++ b/src/icons/Analysys Ark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/Apollo.svg b/src/icons/Apollo.svg new file mode 100644 index 000000000..7e542bbf4 --- /dev/null +++ b/src/icons/Apollo.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/icons/Arc Forum.png b/src/icons/Arc Forum.png deleted file mode 100644 index c01f4e466af4dc06132c4001cea5bf0b5a567778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}99P)h@-^2aA%S*khLblevetp%cIc5H(jp6pT z&d(1{P68Jf&dwYjT2~|uoj5qKZI2^b?;bs}ZGbtU3IOzN`*U^mzG@}LSgx;sXMW&_ z>OBwv0D9)#&CN$(x7%et%=wNZiU0thLkvI+9tZ$MQJ_G_QY+9Zu+0_B+}cuFS_;`} zhj`AHG45%s9P+m68+a`~xBinsvgghEuVXN1U`KA7Dr^xwa$zA@P}PwnNRk3TX+=>K zYz+Va0001>0RYeeIsgE4Bngsa0!)%5NfPv64;sbf)3V%yJ(H&d$(|q@&nST6NyGv+ e?y3SH_{D!k(UV_&QMph60000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/ArvanCloud.png b/src/icons/ArvanCloud.png index debf6aea98efd487c699b450f0ca13f96745f273..9c53ead920e8732cc80982caeb80278721a93acb 100644 GIT binary patch literal 3372 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 Babel Logo diff --git a/src/icons/Backpack.png b/src/icons/Backpack.png new file mode 100644 index 0000000000000000000000000000000000000000..5095bf4f2366571858e6a3198ca755269ef632d9 GIT binary patch literal 623 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvmUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIIA=0X`wFKADBCfr-SU{Zp3e0`&@%1o;Isu>5fB`*b5q_2Qzd>Q5skgj;U9q99lM zCEMDdL*l-~%(!-r4aE%1%grKw&S6l}()v4fo2h|ejJGDp}?H+U@Y a(qnifE?Dx($#g2v3I)aS4kBTio3) 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 SckTfbCWEJ|pUXO@geCwS_O+n^ literal 0 HcmV?d00001 diff --git a/src/icons/Botble-CMS.png b/src/icons/Botble-CMS.png new file mode 100755 index 0000000000000000000000000000000000000000..9704f5d7aca66961ccea4bfc7d20344236c8064d GIT binary patch literal 4094 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 literal 0 HcmV?d00001 diff --git a/src/icons/Brightspot.svg b/src/icons/Brightspot.svg new file mode 100644 index 000000000..2720d780d --- /dev/null +++ b/src/icons/Brightspot.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/src/icons/Brother.png b/src/icons/Brother.png deleted file mode 100644 index 737a0328886bc1c80aa72339ada21b3a531bacfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Zh%jS>;M1%KYsrC=-H>sH(wt< z`()a(3+*#cR`edqY}gZ3ywxjhopt1L9p8nr4zu`-Co@{#YzAsf@N{tuskl{o-chJQ zfrB-`!C3pjzvI3EKH`5{&+JJQUp0BH}QtTp5y3>YB>8!i8m9tkK zx|d`kM_!PC{xWt~$(699fmb8`Ry diff --git a/src/icons/C++.png b/src/icons/C++.png deleted file mode 100644 index bfb1f9856c161bbc8d825a3a4b5e2fd280a115a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 743 zcmV?P)-S=jGjk3Tflku~V5(|@rA{!~Bgl0J#@@KD*$bzv!mSQKCCJRL&l9cSG z#=r5m*@&#nSWWnx>AX7by!+m7{N7I%bL-o=@7?pxIrrZ4@6~Fv<3Aq}a3Jvz>ss4J ztcuD;W=y5SDz2w#y2d%zAII@Q=mD^ocdJ?J@C>e0`Fs?f18-6ID-W!_0)z1ORAt1J z@+3*NqTs8i>?8CUc*^`WbkeMU=bMcx!?mOwVLQB?UgNmevD9UFQ?MLEj(~S+;32d2 zR}Lqm7hw}d`9L5l?5M+c(-@GH@E7j>x;gUWW=Dx9C{oznE|`hJys;$PJ<3PTU4{fY zb9zw$uWQOE6z?;;KU;E~3*mbpG{*=}th*0gSsEoUUN(2XJ;$Tv<4&D7Fmg<&K6e`7 zvE~Q)whrGXb>fWAg$%f($|reT;lQsA+Ks!$9$95UdpxdPv5dtArR^{qA}{=LqV zc1z;Dpd}lY%xFq+<$a-M*R&6XyR~8pc4@tc+R>EGv@K8Dp*-|sl9~?5)!O`HGCTg+ Z_zlsxkTqS(vS$DQ002ovPDHLkV1i5eZe9QY diff --git a/src/icons/CO2Stats.png b/src/icons/CO2Stats.png deleted file mode 100644 index 47689c3be86c32a880ebb3acfe9820705e24c2fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 642 zcmV-|0)737P)Nkl*M+tNZ zV|CS_N{}z*N#{~z3Tc$pm8udL#0uKT_MNFU&_*%yYnqZOqI7_Wu9OkPD#R$PHLPV< zDduUz7q>ChTYXqWD+a1tGFlCGRBYTx#VrA6z5A|{B%r!oY zzoW6fk)G3635CMUtWD!bd~Df}$|uP+wbmGfrdB6;JN$;>xgq*Kzu?gRqddL&+}ju5 zPuTNlsH?}1`rPX3<;vOXwR1neKI@*mf8>@n=H26ghi*N$<^Yyb^KNW$*v%z>y78qE cx7*VF2DL3vvsO z&4AVTXJYWk=!G{z@I5HxY%!V?JOaAnnGpO4N(zrnf>~C@XiE4pxFG~Tjf%qK;$t$z zVl*LqUttq-88s2w;xVx?+F>yo5WY8*<|Y~;j8Ke&rDDWpnn&Ykz{1R#i#TW-;wPN(>3AhjCZ#k;qsu27J8VJQ09Ycg-{O`#VFdNE&duV~M z7LSjDJ`Rd8zb8*XDq$U0c!CZHZ}GT@=z$jwiqW%&f6<*6HZo%nUHkj+=zzyU@KY#n z(lXc%3X(VIgJ@`hdr%fGqPmHvzGG1SuH%3Z@Q?8G>!^>=rk?jdLiuas|FiNqgu?|Wotw+x36v9F&Zjm)2T@FaoHuTT zqoOa~3Xk21{H7d+R-iVnyKxwbfuZLWTkc=SYEgilMB!BmDoJ< zFGc0EzuA|fZeEK=#}MPM#kEj=?b|T{05AvxLERNoU&vu+hAHe3>002ovPDHLkV1h!AMH>JB literal 0 HcmV?d00001 diff --git a/src/icons/ClickFunnels.png b/src/icons/ClickFunnels.png new file mode 100644 index 0000000000000000000000000000000000000000..86504340ecd9da4a8771f11ea40dddedd0a1c83f GIT binary patch literal 15804 zcmajG18`pZ*&Y*uAEc8G9fRNDy0DvfEB_^gMBPK?w zWorfiNJpk>!f2_EVdv_q$XEu#O2c(U&R3?O>Og{(2gN2pqRYm>i40aVR_?A# zK-!*GL_}9ZB{UUQyD48*9~DGI)iYz;mUYU2>3wYb?C|e!KYjALOb5uCUw1)(6p$3@ zr^MXAM$<7z(aFWM4;JRNixfZr3?SGw;P%;>j$cR!8i?2VrMmqid|9cwmA0)r@2jSe z26g-eKzfI20e|@J8}S4IO1~|x2M0uSD>(>u0V@VE$hZ>vAj#6`otp8}X`M>&H7jhB z(0NdAz(Mi{ccyCqOKvg2%7i>5uSN&aOM0{jD!^$18S;L#CwRm!QsTrsVfDxYBFEA9 zD4I8toJ_GC0sTi*jg>-l=L{|8se`F!;f=cgo=nT{jcu%7_)ND~gva#scxl@jYL9`zc zd+;LBgHW54u{Y!e0s_hd+7#JYsN4|^ri9JIErB$uL+a~!YKPPfobTKcqSvHf7skpe z6?_&kI)Mj)!b6ohn#aRLWa|R@L+~%I=1O;dg`79uDf}gPtkfay`wF9ppRtNIGE$0m!fr zjQJo640$MC;O6qeB1AyB1vvm^6v%}NjuUG>OQFt55x63*g!maG4SOi&Ur?bH{|EBQ4sM^bs_N05Iu7Fzdmonmg zy(=_RVZMbgkd2)g_NR zHh%~w7`8j6%`mfJc&eu*mY~}2!ahs53SVck_~#B!f$#EWG)L8ctGB92mRz9v$&Vh; z97|*^MhDjl!LbR1UP2kGLxi0nC$^TRPyk0h;vX5_Luy?lsK;$A?E+!|-ygf5nJ*GF zJdnT#lh#x&zqz%&TkUs5(15pZXqD3Mfm9sud~l-HUonBawb015#2&jy;6PYd7!x3& zG`N)^`(-_BwFO=VvU%W3K4wbrks(qUI6)tFEyO$cV-U3?EFnx!@WU>8E42N<(gIX& zp#ClN9|~Ae(NkCmHc3WQ-9bDjDc?j=O2SAH^n`De5Mz>*5#X7jjN;>osnS^Wc;#aL z63FBui4D^H&IoPst`sbZD70boN)U^PO=407-LwR;lF73&mRx*DOpg~Z-iK~_fcljtsezHG?Y;l(D}8Hm}zsYX~@Ov|9A-me$<<-os&H%{c! zz1pn^Kl+qC*{4TJ_grqNJh8eV90nElHE-WMSw1s?G#ThQaG#LOMgnBntUr}x%Sdf0 z2uX8-I?AJO!=x$MBOk>{S_u{+cn32FsRsWJZVj3Yx*OBf#fy{UCFjTl7V)6Rs{!e$ zep6hL6H)0=yCrTXHjQGNdN@P!{$wO$A=OOqNQzHjNhV2tqie_1jS{AcBhR1AXZ&Sb z+^EE?(oXxKCRicJnUEzuRWMzup+ZnrTINw!)7aQp)%e~xY!%sbY^82}HOKeM&EP`t zd)~45!7TMWW@B;VRijCxZlk6v-&P#4sA4J3Z2J7gDb4BA=}jZvIz?04I`~!F`qFyr zdU{jdg_5hS+bUnOTa+8U>*Lvv#k0BM)AciFSFd&#*Ge~(^X=KI1(VaZv!S!23#Pe^ zau1E0NFkXW1>qkC`38kO5?>+yG!Q0Q96X3ZCS)cI2bjMmK$eCMy_}uhb40>|vf`p0g^;YQ{Is{j#SCEo{VSQiQr8>*!zDirQg}TnzE* zV|-)hP2ZYg>eaODn{68|Tk2b6n{^DEHqNU#m)2MKCcK;6D&1;gL#MQ|wYmOs1+1&s z`q@b|+t?{?bT>7$$ThvqRgYaqb|ng~bgy=Af5t&mn!^KV^V$KJtC)2 zmYkkETE2c($Z>vo#pteovndqB+V2ozDt;9~!2AuTS*}2?YvLnuGLek}C&m{4#W!WD z?2j^o|? zJI{u0@h|@V(yUyeaUgNX^a%E7iH}tbQ;eNKGJx3e+@b2Wc!%{b@OSw@e(8F8dStoX zx%lz`$pP(qr$IEouA~s89Ei5?EU`urHVIeJ2I0qH*D)8-Z1E-$s*(Irjfu!%*Rbz1 zu12SgZj6Od+>la3iDCUF?oK9;2@wYR$p^;!*ZcntBo9>f-$-alm`W{5{gL#Rn2r&^ zmWYUo(?N3!wi!NhxoGV&@g1Hdc45!L{)wxH^+7sJCyBklj!ndGepylHVQgnYRrlSA zG>)K!{@T9N@4fMPXBcf{D87>TiMEf)NTdHuTyj5U@Mok$l4x=o)s}+0v<78M$!U?i ze7T%gHhx+=dy~m~*7ZZo(%chU_yzfo#7D1?e)*>yeO06o-JPfQh zX3NQ!y_f21TZM+op=DB&Xqu4*hvG-JlU~^b=^cU|q%52c9zwjr6kqw`21yLOyi2~; zbBpff4UKB+Y*PX2Syo;3mTO$RWXC7#Le3Y&+BqgR+de^Ar%YhLT< zD}Oq{1&p=jZTeTdTNzp{&o`TGPjE5PFsC#2bd!4y#ie>PL~FWN<9AdzaoV`8ov+xG zRPpNWY1cV1x&1b_lQNSxd*I74dVJ;G_c}o!%Jt3m+lE&6 z-2nAnNp>~`H}~@Tl7=mrJ>BNLrOo*Ag7DktkCrJ@-Ir#?4XO=(cgjm1?GshamIc?7 zdhbSk<()2@{c5?MkdOJz-T7KCZWoUi;##S?ld~GU9{nAHt`@hvo9?iW<~JK;R^${; z@>mXhpKS5(L{nB%S1==lwsvrqytf;pJIy5Z0&0G%x3~2aixgB+&~ex#SNzn1%PsYRF~s7nr)gh2GL#1{(>*BQv?_euA7*fzRnCc z%hAFJUza_CH^_SmYkFH9SWogdOP>>W1|9sJ{Kz{f9RYhH`@tJO-={55j!=Z%Qw0iz zD?DxQTCXGDlEt>rw$gJIJlFrqzgG2>{$c6rvCice*!l7p-NEr5d2;Vc=)(1EJ50T+ zys8m2Xn7oZ+VV;MD*3Wo<3I4=-+t>B{vi81aPWCXB16I;%fbfB(B6Rl^M-ucPOw#HL{O0zV6d-_7@42P zRTQA)UqKTJSR631v=q-h+N(Y;?889W+v@FQ-~dQ70eq8?5dYMW;668EQTrf(OcoYT zt=Vs(%}pj0)u~000hcrKaVo z^x9@n3U*fG6KSqMezm5vix0t-TAMry%)%Sn&NL|2xb=PWm4v zt~P??THlpO#T=Z?NI99mF|(2j!IP4b3OJjZ^QnkS{ulh8D?xHgS64?q78VZ=4`vSz zW(Q{r7B*g9UKUn%7It=~e=L|>yzE_#JellWDE`yQ|LsTI%*Djn%F)%z!JhPAzedIm zZmxplL{{!}~=09QoF|Yp& zC-AQ`J|!zpGh1zOD?2lLmw!?dV&h?D75I-h|4a4Xnf?!`)_+6Ud3gRG(Ep+OAJBhu z;ZtzT$cYB{byZ-;00Lz&l(HC?@y!%0RSv; zGU6g?o?usgaK1U}OHY|p$(fhB>EG-YM4te5R%^0!1&wBCrVXut?)wS}rNz9mck%9Y z&~0QCJb6BC;VuJsH|d8y9p)?$Ateo*$*#b);4O`7DmT+K?dGe;!=9bv=TW99deo$h z`LXu3;M1nd^uOJW3rQlQDR06NFbzT*`F{((K|F@hnk((?d_I1DU4oC>31niTbt~*n zpQh9a?*zMA8GU@;zI_uPYi@4lf^CCN#;$YR6NNz+H9qbvcC3 zbM81OM$pPByOfWnJ5qrmmtL}X!8J??d|~}AmXZ&K1yw0dXm+QSKq$U_GF$3L#AN!h z6CndE{T)dt%;u>eN)SMo7Pq_K1Z@j9*pPG~(Ea@!va8h*63D6S<~M0u@ooR4uDe>6 zd&P+^1YN8E$eMEFwDury9g79!HS>PQ?O{*REv?NkJgL=4Yw(N+D_meXwU82qvg`g*{u`aS6gnU?^qL5?#Fq5TVD73 z{RBjcUwr;COXqa}AB3}2dQBHn|5N_m0?BB94;)NB>sFvr@698o=l##ew>+Qs6$7cI z%L*fw_j?cFB`ie!^9$RX=Cw;N?Y+`8K3(MRmFzWwQ?zc~qnNJ6uAkjxz(-M@`&EFet(drE2L62!UunF7q|vdLiVLzdngy?%&VuGdGT9mLiPy zpWcqTVs#I@g};Q?)@R907@`I@mWVVXV=(tnFmJUsm~=;Ft_smjnLtL$H!NOa$vwpd z+S8d_3fIqj+-9cgW{N=v@!6COirI7r0dEoSdEx1!Yn5WHGOIs;2rhn&Cn)sXX5dQCzQc;hFl ze4cmCWRU2V=f+mO^#gM`{aAW6-~iQCq8$a+0>9zfS%2@xk&4oA-i= z{Ej}I=}{u^XN$q~rE){vTL%pMJJ(%T!$rc6*tCGF^q%|>hkF8@VYT=a-EN;)-__;R zda_>%va3pfuru7<;OGRR9)>U}|HPNeCxe|vgYKSNTfBfvTsTp@OUFaY&!5k?>7ulB z%t;K)f>Q2`JJA;r$w3pgZLYWYy8MUF3sU22O{ENfskn+SB@DJ~!kHwx}=mj6LP|l3BRjK3Cvsrk>^tb#`_0k%o;IQsbS?s{h z&+Ut;LzqNdqb~8Xpr(WgxxIR{OXLMg!l@D!@Z+bv)Tw+cP2h_$`~j(;7neD|Dxq2O z2J1LwKcPe=!$iYrIk~8#AdHc*x6_HUHPtc&t&7KL=EU-16?I;DvuMU-9M9>-kSv)4 z@#Sw+#8{+w^9rF!iN z!i>K>wU;<`2uTQeP*Q1fqFz!_z&gSHT$BUnB9$fBft4%pN~#TD_vx3nEMP5$USz1S z{*s|pzBWH)hn8jYdI24f5ZPP~7;8uB<~xcsh_IbPJvppZ;>7-T!Gr>y(o~$(JBJ)6 zZ;vDiBNyDG&jmx{QA)Ri!93lgK1}sq47U)g>l71a{t`Iz)mk6bYB^eQi6D}wvLuqb zP{S?_kf6__Bf8?01W_Wrk4WaSLgOee#l(??Vkdb`jjxV(6Izzglhp?U+#oL*{Unl{GTqf+1pp?Fi^!tr`*b`gPwFZ){pjth3U9A-%=J8 z@W|}8tIOWi3hVm?yv%%p8?V>tI5FZ==jV-=&SfA{PnxhC#<>Gr^VHIg{vO6saQAHO ziMP_V+MNuye3|NMX`ZZqEXOq|MMU<2NOHq^mrcpiAZ$ZjkF)qY>mLm}7WMqo2!+jp zti5zwu2RB3KUsKZuT$~GA?O6WukS#}NA*ZPN5aR7sa_U2MUu#|;n{~T>6+sP=PP45 zbg4?%g5(iXGe$;%BUBE?JUj(eN}mS{P3-2bsrTQvwOf?!0}Ay^kXVwyU2*t^2yzm`mq=u{@Hv|H)3& zmu(DbjSH{P>$xObj?0XABec3h>El6>GEpZ~9ZRTAc@Tyfjni+jNownAOgp;;7G4}) zU~ALN8RZ&6wBXz_iU0do#F)G=s`Wp2c6~3mJ24BskugtgrW>H%fz2fvrf(1nttztW zWysi17sfD?#tum7=nqetoNDoY6dKh7XLw72knd9Qw6wOL^HvnY;{7W;wiP*|jrY8# z^kpf0fGRqGWLDHu2x#ENj4ne$Lb^u_TDB95w z6M4O@YP6bH1T9xAFLzI(RsTvmnXUgTV($W+$X^&*OSnA@ZOvfR6%~fS>9S++j9fQ4 zNX$+cbE)sb!_t{g>m9r*OAr&Lp6Gju?mtbjXBmb?N}OmIxIYEa!RUP*Q`KxD@~nHS z@m2fkc^TFA-eIeE6M{+yGOXEQ8KB2>eJWwRIdif<%(L1)C|7$NcBab{icX^>dha;Lhll2mPqIvb^9 z{k(pPnpa+ipg2FJDd5HV?}ii--W4d#ubE_JwAKIw#ND<~OAk9(kB7!c>))g+`VcBw z{06-1jLc%uAsP5*#S`HyL%0Uf!I5C7{_G*w893)c$`(YNJ|VH<4a~gZ2xRFP@I{3}p zbH(8E@$_92FLCAZzlV&O`Fkx9K7HOtq!l5dlbpFrZw)P}z$@~XOJ0COUuFv>5dEHM zaZCR8bz*1CkOw`#2J@>Bj(3&B8KkC7m_IX>tdy=PdeccA*T9?{l($Lo58X)#5NX^w zVN_0k5+E*a*Q1v1!x!umUJz(xRI|D1sR7%P${QCD2^UU4UW^Rrqbi(0v`VeAa{7c0 z=JE8G8{!mQ4Wgu`Zcq-g#3`hMWgFhowS+_5BuibU$wOt0moiycqYGPQXhuc7f1Mf1 zqnF_TK3vx({o{-mbv|b6vB?(9V_bCk{;)HoiNWIhj-%-Lv$f5TcxHU_w?x*zNK#nZ z_qY}6KZC$!kOS^$nQK!mVVkDe;PQx{&?r5IfZqB)G2 zePDK(BAYdDe+khS_UUsSuIR@+I7jE{i-dicz?iLMMMb#hVY8z8M4n=G0?s=4JTixV zZ)-FCnz!=cNuWv>97p{TAcqLROgG!5`AoSVei<7w>RR_izCguqE*QI-F?}5Lv=xtL zSYMw)4ppFa?W-S7dB&EwYE={*g*hG4cGX*Ed>yFju=sk%!e#OJ3Tp(ET-AVY_9 zN5GIk?lbI=t&!$(DV`V$%)6LlQZJVZi!zyb!jvxS!iw8wr+d9%8Ro7W z(Ac~fN~TQ@x>T=V6XEe*=EKtk+`eTXr^CE$B8-yvwmZVimfw~Zo zkz$jccXgg%v0{kD3|bD81?tV`>0^w(jejdCu$(l3l4o$4;gKNJWJ=f_E+!AX?O!wI z04vJuci3d$3J6Ylw@N*n5mYon?ptV~+nES5RhI&f^v+yQ#rb-iI(p#y7Tr~KIrZ@}= z1uOVft0jAWjpbt&8}euuIJ=v$r#$Ho_Aqc6j_;ly|0F&3F%#)?E^l^k^=LQTaiK}Z z$DxHz1)|VECpdRVaDjK9|awZ7Z;uHJU^hS0LIvf~kRzGgAPEf`C6p z4Dk% z4K1vPt0&!~B=S;c^qp{ZuSz2GjP*g}-yIT?RrV=8IlS`IIX_B5@?@xLovw+fc`XKM z>0Te1oS(Cj(eSH#pK(o`;}97kPK$5%Wnd+==RH z$llGQOJ75}GK^1<@YKzcN;(_u%0@9ljYz^(%o4p@i=Nx&P9PrZ<*=(5LY0voy%Kqp6jBn>GnPSKv*CuarXWoaPi{!$&FGI)gBI-)G;xR z@xwN30d+Ac((i`I50O*j&C(OSpJv>eSAf;}GM>yZC7jy^plV$T6bOF!@yVYwt_??K zF4aIn|4MVV2iFoXQ@Co_Huy&Zvxgot1n$`PvB=1osDId@Kk)!k1=H-Vq13MlK{mn3 zP!0)UqUS)22Sh7E2MVpn6)I_1{ZoMH|3U3!D5)6xz`?U9SK6J1MM_juKF^*pkSHQF z`R8v#SR}y-BA!cYI$XZ*b3r6+sEM@FvO3Y-7E1I5bE@R-JA#R7`QFwIJ|>WH$E!!;6s`FZ;O9Ub~U>QFg6Bp+AsPO1;oC z%%NhF_=ub|hzp9d=C+imdzWtAIxL?!U)0THCU-GHIBKN;zIfdGwRk~gc;=TJ*~w*x zt~cqxoqjuM1B7om%R%5;z3btWjTx-q@XR?HWa+8LqyC<*r*N-`gPNcMDhN>)Zuha@ zG-+d_&V!d=dvvT9t#dkS^DoN8LNjEH)sBXy(@&or^ZrjygIrL*GuV7fzC`G;1L z@3dSlhM_Zhua7wf9DAlRC0dcNLg{obRl@e$!aGpRDl65?yl2VfXutYt1a7U!%fo7S=K|+We<)mZ4q1UnnP31Kgz&ew zG+piZTe11inUkUql%9m$ESyyAbxC6=SaQF<*c)Tm@PWIACU^GFJeB8N5*lyhYwVE| z>mir>Dm8Wd#W!qBAOcwv?W;ly+I&o%#Qj>7*u8$XL0BP+VJ(e%n=2vRrJnSgTMR9& zZyf7tmsS|@UUZ|tM@FNbcjzjPJl4ixTf1<-x4@L}{&F(Kq@JP=bPx3N(~`DPxWnr48E26A;vyhPe8QC+vxK7Qn-& z7)Mkg=)drra)Q81k=MI*ccWE*{p$kW>4y$OGdgSq2HSQu@;9$daU9ZaE?=Gt3oIaM znBV+1d2=}{B!{9Zp1N0B%7``Z@z=;@|YrPlzFx1{&GXqQ^l1|q3@+wGJSt-ZK;AN7{$BM(r zueigQDuwLMz-hyO{Hnh7t_#ggH$iBU^F2pFF#xl8u1gitfmX2N) zK<+gh%8FBpo-!aIF)@fZ#~E7V*_aY^FQ4vV8rIiiECS{_vA6>vO{#-!7Wg55v^WPP zThGX$u4zx-`%~c!iZO>wC%D#NGz0Is)xPI9TwRcI#(5}(OulH5iG*u)jNdQ2gx`XO z1?}y;#S3NLwWUtLcUz(mxB&s{DIiDDcqd2RD`?`&j{hbN?NNa z!s}xWB{it?G6XvZ@!{)vS%Y`AVxZ2vehj?{Sja8e2aAFrw6xicR6@YvZat)+MaQ%k zC0q1D*nf;NO}DT(uD>mmH7R^nmk(&CGR+sP?JP3HhmnHd#A059kz$qAGjV<({sC1E zL@ekQBvq`oSEA#AJiK?+!L+$wDE2J*NqLFrdmH(MrX~@2UlsxJ2X%ZIHnJ`?rf**XJdY|rO;Y*y^(hN}1U9UX5H(n} z?h2(?t?4BPM>r81`6&{jgefu!`{qOeUO;pka!3CRJn0Q!bFw^nzRZ|*hXllV2N75_$EbXwkoHN-@W-%BDO%} zhSSQ*pilw!Z~W88TI`!`fT=agX+hDw0#cj8Q zMre?$B9U3qR%xTmf#b80Ga?yb2z9|@!EbzKL*^fyfID{xcq9&4ola{T+A}T@TJ7uwvt-h2S#J`HM(+_F$ZLiO zFaD{Sj8za9>B2oV4wE%rde&s=&BPL&)=~vwe z74gN(YM|!ieOom|yGgvt5TF%9G`h<%VmFa5z%({bWP^fEgN1wZTi8z=4lt~F=IUh7 zyZN159q=wA8qO7oEtL1IxfdlB60%PVGP|~z!G#XW@H^w7CNK0c0%mU&7`F_V)-BjS z#CiX;LG8}272cI}g=q3!vW~j<%qHPX8{hWV$Tw0#Jj;D0T3;BboO< zA&0YHqfkM#kL6LerKnQ?Hu+Zei}6*FHycs&u1Z6ZZg|D^Bw`|cvX!$I7fzG?Q>W1p zBeu(AI*mWNIKfcLNySYJV1PY1TJcywwAJkXjQFeie0k8cgrpjm*NOqel*L`Y$V*Rq z!HGENUl{afPjj3L{59f`7MLBP;UCHE&n_VW+Bo>rQ#2yM`pN0O5jE(<9D`etA^990mIP;Q1Oq1(=!cGKqSN!G z6x{grs8BZ})`;?UFC!J5HKPfiKbYl691vFVr%201RmM!4b$=ybXoU+*j=x2;i&EBNV8p)Wqz=} zbou$#zYZq-T3By0Nw-4IEMvq1b@&4`xtlX+9OHLlXfzSU(JyGyD%VqRehZ@XiB!TU(*h%Ju=gUW~@yvL>&4*(swBPP7L~80=1AX`zSTv*3bM} z_upwzOg?v3!@}9;LSBHdD}Rf@DOG=g@Wq3!w>Ibk{7mx3`#nw^c`Szxv&{B*Qz?os zX?l`7VQ$d)aKyP z8t;Cx!klp5;ZKuGaGkWf@fDJ%6p|8_TDN#h_~YQ(=$1y*5v;W`qka4@RJnHbJo2ih zXOcPts9fxMAB2Su!}ijo2 zx<+qAFB&d02baN=0%Ie2g@1e}r_=t!LyM zNZrs}em0>M&h`CP#RC}B4Qv~sbLiF8mM^k^B!3cU78jaSMd1{~H$5&U0^6;JvDWCsY^QTsl zHXMDR_ESq#TyfB+rXrLJXo9y&Wi#(JC`1V4G2;iIJr(aA8QjPo@?W++^S#wM+wRgU z)vOB>&xAf{KLc4QOS`#F*}q|jVaf6XcgPGRR``-)r@B&(s1Q2S5kJ~c#4@b zRPbVU2n_mKb_hepIKHzP&DE5UP9jfm+=#^uQF6KXaKfi0m+)H1RE(mlz`T7gF zk(pM5TSEvu$lCPla(Rh1h0Hz&iij2=+cXKAY*XUqmqQMa2AmP!I2X#asF2V*Q*U@> zP%BSJ9{e-LTdiyn{y=|n{GKC|7+{~bko4JO;MYh!*xz%UEKdf|Y5s5Hl;^LPltzKO zi17k8HM$y z+VstA5$N@UuJFBOy+T)vXPsBNNx@UU?oTE)zcFN*292tvMzo?d|JDe#Nt4_>+MSKO2VCgQYEwz*u>k-P5TN`D2M>THy z7CZ~B=4+6nln4V;sZ4SxBx7K^Iy|J%=`PHz3Y^dlL=7R>9{vXCwHes2ZPK3{SZxiU zVjFYO1@@m@SZErqdtl4=vY4Z!o-IkJ#QYpC7x0ZUB+*B4Y3$TSieShvLawT-j}{ibH1B)ySLHEUimj2b;2o^N z$xKv--HBrJpdY;UssTEZbnLgdwsE!1CH@S;1@c&`=g>QN)$U#}fkud8Kq!iL6-fK* zJ>kd8M`@+mb&B&IGx@Nyx0`N6_lPHfpV_fc|30JD-AZhHx*2{Gqa7n8N7I{UO|pb;={VO$UG0 zVZzP&Cfkh4?k z(Tm}nG*D*S&eg3(?8zP{j`t8(Qf_^;%h0tyMW+ar!0jn{&C{OKzo29te?exUphThX z9^J`;KmJuM0ZNW(Kx$Xdp~2B1!h`ZwxH-qpSgunS*to<@)Zq;!noj2yW_05%_dFEv z3b!GEeGUA3N=ZG>nms?@2w&=gzF-SYSb%l%e`+wYCD#=D5KUl-g=xH!rXYv+Wn8Dt zj91+Tg^Y4tdu|g5yZ`c|^SJ)=0Z!wKd`id6%ATV&R02&Pghga#@q8$e#KjRES?JY6 z&$dm9ww%X=t?k=b(;MOfH8V>)B7LuU<7W+$%Y>^fr5#9=1QQkkB-akk-_lR0ZlUm8 z0>93e?@fR#J zIxT=Ycjf?J*#0sjZ7$^V3RL5$QY>|U`$HIOg(rEeZ2DQy%pAz8`vnBt9cV+owZ3?= z4Ov@tUN3lZPRZJd@TTWWB4@I!>Z__kq?KHQHxfxJ07AtY6!#udfA@G>mHudc2Tg{r zD46u}`ZFlx(S^!}Gs1@%jY|D^U37^CB7K zzlow0MrzB{Y!9Xrnrr+ukiY(5clKDOpQD$3&>cW&WMJuo=VOv){)p*~iM!=~6suFY z-M$9B&s6w1Z*y#zoss3`#9!%d)RB)UmLgeUBBNW}4g6WxMjD$Qc+K?9g+b$rEjA*Z z!CD~Wev&DbnMUa*3+!P@O(;eEcDgcZMK7aGEo6vNlK$e~hw5ov`IBaQj z?F8Kp$uN*M-P5ha+bXkIMFAcxFkjccjjHjmzjCPrz7rLJRHW^aS>6o&5^i!Q>nD-( z*Eqy#*c5{WDbIjrcjLVO##ow`u~u^%w$~&&;;D5498GV4r+vI4Hu8H4`S66d!m)FAn0z++anQZz_8*|W#B8?xKA z3-gCpEYEGl%WC&*AB-}97gpUQik(d_pJZPX(cL-1{Txcu#=i2h%b-(wf!VCB-r=7& zd8w(gnmAm*Wmq+XnUU5!Z5Qe8o&xQ-(DWXV!+Za7&Ym5bcjDi>h^-M;+P-};e=pxm zP3&pH3d_RJb2g#!BKA9ObacIF`2myU_%pb~XL6@}w}JcBE&DrzzerYh(`FCxVJ85!8-fBKFYm+AN?^6 z>ES7=I$ya_D5_(0f;NA+a zhvaZnWB9(ODCof;fjOifBD0LRkSoA_`*!aC0xK?!6h0lMC>ic}DZ6z_%xdYNTZgwX zi%m)%nXdRYw?3c|C7T{hb@u~8Bc5`#jkt>nDSNaK|t^sfn6frgg#un zQde+3VDvAZC*OL_z#+@?l~8(-UE)Xa20-pNVzIjp9!D~AvwuIVOBE=2*YX{`7ftTC~t-Y;&D#cBp7(AK8U zV!rTCskY(DAM<_4k+GU;hB&+2;iN1tej!K-g7#B_UW!q`sQLo$KaW(#lcdTqD^{_V`fLZnAMfg%6oMpcPHQYF_i@wF-3BK1<5%VR6 z#(8W%PxT#GObZd#^G=VjqC_`B62-&{k#GhclUAY~E{~w3@WZbyu#8l{H2b3Dx-c>@ zx4tSqZGRre;6*zVy1AuqoL^iV1vfcV<+yIj*hx16Q21KkKkcV+U(0!F5r^f9*b&!Z zpoo<1J8dE@Wohil3CpXWT4GFJlD8VfabU>$P&Zw(IcQd{oL5Er$m1{0hvK&%a0x!Q zyW%0$CaNnd8xDf+DP8xlR`S-buU^U6bECKW$4)LArbu#LaKWLn22KrWXW@3NoMiO( zt`vp6afr=CeX)BDmEvui(5psXlC8TRvK&4w-wT@4>b_6eiNI)9Q|?q9nT+NJSR^%d z(vHp-if+vA7ouFhy-aPW$Ko)%j$$a@CR&}3pc(3pLTW#^90IkP1!HqlWB4M=nvk&j zn*9ZtM6rdg33szl7KQ>gFOrIdCjuE^>Ip}kN&kO@*Z#mSluGf~vKkq9tABrnkdaUj KuNE~7`o91eqbD{1 literal 0 HcmV?d00001 diff --git a/src/icons/Combeenation.png b/src/icons/Combeenation.png new file mode 100644 index 0000000000000000000000000000000000000000..86792253e375667078ee4b4352a2d43a24c73b44 GIT binary patch literal 4176 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 + - - + diff --git a/src/icons/CrossBox.png b/src/icons/CrossBox.png new file mode 100644 index 0000000000000000000000000000000000000000..c907d010be612037bf227d57b54d5167f15afef4 GIT binary patch literal 2958 zcmV;93vu*`P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 z \ No newline at end of file diff --git a/src/icons/Dell.svg b/src/icons/Dell.svg deleted file mode 100644 index a6863301c..000000000 --- a/src/icons/Dell.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/icons/DerakCloud.png b/src/icons/DerakCloud.png new file mode 100644 index 0000000000000000000000000000000000000000..377b223f2fb28789f3f7b206379bc1fff7b2478f GIT binary patch literal 4243 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 + + + + + + + + + + + + + + + + + diff --git a/src/icons/EasyEngine.png b/src/icons/EasyEngine.png new file mode 100644 index 0000000000000000000000000000000000000000..737ecd1b7931f593a6d3e1f310cba060595d77e0 GIT binary patch literal 4635 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 KV~a5M;r{`vyfN$m literal 0 HcmV?d00001 diff --git a/src/icons/ElementUI.svg b/src/icons/ElementUI.svg new file mode 100644 index 000000000..4c05f8d2b --- /dev/null +++ b/src/icons/ElementUI.svg @@ -0,0 +1,11 @@ + + + + element-logo + Created with Sketch. + + + + \ No newline at end of file diff --git a/src/icons/Elementor.png b/src/icons/Elementor.png new file mode 100644 index 0000000000000000000000000000000000000000..87fc23e014e907cd2999e32faf2c3c26d7c9b6c8 GIT binary patch literal 2564 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 T<;mA7I0C@J^qR?=%Q(WnLRGZl literal 0 HcmV?d00001 diff --git a/src/icons/Envoy.png b/src/icons/Envoy.png new file mode 100644 index 0000000000000000000000000000000000000000..5d69d481c4656f8c9811b24ce948e76abd321f23 GIT binary patch literal 3553 zcmV<74Ic7|P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 bG%zbLGCD9YxL)rO00000NkvXXu0mjfcOl{@ literal 0 HcmV?d00001 diff --git a/src/icons/ExpertRec.png b/src/icons/ExpertRec.png new file mode 100644 index 0000000000000000000000000000000000000000..490f69319553799be74767a5275b012d1da3ab9a GIT binary patch literal 2034 zcmZ{lX*d-67sr20c9JDZZiYz6GGs7C$QXnWg|TmwEi#iaw#Jq{N~S`T7R$AbJ+hST zmKn*KL1Y=CuH9&wa;KO77yt7-=X{>Ce4lgPom3lZln}oZKL9|;+|0y|O~XIV%gK%k z0`yci4q%L|i~t~K39vl5*g4eO%+3mc$ddpN69HhdOT=XWZfXFq;sF5SApnx01ueGc z*bQ#4izpK|+4kc?>n%2TaOPG>o_PULh^i}$ zw+4FGMFjkr(v*c2gkvn-nRd*0 zn!Q4)iFw{d2v@S4Ag}BBFr>}nbu2Gm9TaH8rK1*~_1;v9A|p~e6aBFxefCTd4~ENtdiE}<9kK=0fZ zdoV-g>ZI(3%6#j#NT+&HR+zjQ5wz8$q>LbRQtum=(7mBz&c{b7AYqgxci~;gTLM*f zZe0jo{5-0FqmzH*h|OTw#k{IDW}f4)O+e?N(_*AIjW3El?;v$G`?15y=eo%G1u2ks z;g+(VR~}6m{&x9?ykW+8)!HG8HV|?Mi@p1eqo&r=Nn>7`4|{E>9qy5}?Ub(<(Wp^+^Htbd93gi#Z)#eY0isjr6z~cK1iSJdlHX z_ojBe?U0bSD+!1fH!1FnCgF+%8`Cm_?Ok*F>LMEg`>xKS8^i&~zwwO0MO+d~+rJs~ zFAjQ{G-AeRac*38r!BQ$BwZ$Ucx6|PNxMDZ&SuFaCLV&uH}4#pwi`$~7nH9os;OR> zCOs9hdmOppkfq7%CC6LlSK_7qi`KI3#>Ghy5K%sJywKf8!3>3$!%J~$bE7)-n};@ z=vG~dM*Ynq)LnfMT2a&{<;fRGG#XMsBYd!ZawC$M6FPh9kU7ceuWS7$Q?PlJ>#bM~ z)t~{hQWeN-L=p45(}BR6-m3(_`Zqh0uG>pD%kEMut6+5BPCD;Chl#pDu=APxlB-1Y zou5;TUXPJ(JMHHMeIMD24hL65X1^Ql(35d~M`S*TWS6`~J3DYvET|c_H?7F4z@c&= z+=Cxv%*X6z&18$z4bCUq6OC1<-Q@g_7e3sht6Au)EVeIU3uAtoGyDSclAXyrYB!nX z|JbW1LWY8Y$wHa(_8@X1fF5bP!aqkOSxtmap0pR$gkX?l?c?fa`T0>$RSgh= zTV{{q;TvzRnSsf_$eo1{((C5=@0j_kkQn%mKvVO(MDqsB5 zzw(!VGA3JIkCHMP0bW~A+w8qe95;UagnYUHwb+U`a4(Ip(zB2&jv79*(fzBw%~pZ$ zOx)U3e`aj*p16O}*zpL!GfHrbl^ojL{ys zkV#o@b@3D?V?z3%wn1c=iZd%ZAjQq9s+$@*_2iL=KE;j4DzndR08&CLhUw>O&`)rSCP^zM%-=@RQLgtIV zz0n6t?wUu<6q&>v{?*Ro5Q%^+cI*Wx*z0!J4X2n&G(o~Om5|;7qkCAd%`MC*7PCC) zhO4?Hv&9AO$5Bm3F1am|fc{oeh7;yR!(pEWhq-rZf|lzMx^1siAi!{(n?^4D*{335 zh)+kIO$oMEQN3a+D4%)w1M<6aHE#NfTZKGP9_ehn;eIw`pNFhRYhXV`1su{5=i`a< zMR(TV0x-Bm?})yUPB9UMjHXsRn^c&XlP()QCOV literal 0 HcmV?d00001 diff --git a/src/icons/F5.png b/src/icons/F5.png new file mode 100644 index 0000000000000000000000000000000000000000..fba894586e496018d86d99f30e472f96eaa73ee8 GIT binary patch literal 4769 zcmV;S5?<|zP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 literal 0 HcmV?d00001 diff --git a/src/icons/Gemius.png b/src/icons/Gemius.png new file mode 100644 index 0000000000000000000000000000000000000000..c9344b1252d5cc6675734e0fbce02caeff9d9d36 GIT binary patch literal 1371 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!6p}rHd>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew4Fdz?*8raoSD*s6<&PTnGP13B%zoiNkUcCB(1UP< z=0RNI$jZ>vK)A>X;B2faaj8dB3^#;!44{qw|Nm#4!Xpoi_$4Jle!)PRfkA86jmtHR z85a&)2`s)ok5^>-mv2|hE(VzVd&x4jd-Ap4Rk0HLxBiIRwxx7Od9>)B&CEsXH}naw zGm`y$syLI|TCb~iQlzGvBNv;Un}MXO_&qVMbCaFF+we_nQ+=No^p}6t+c=3pp^!gn zy63%raj!kjvgJ>i;ftr*{EBjF!t88%wN$c;|5*{Ux3cM|cR~xtug52{ zBMxjbP(62J63~^5N#5=*%eHTjo(kl!mw5WRvftwp;FDs$`&n)k0|S$)r;B4q#NoHo zUIq(03LKT*qaeYv;E1rQ(ka0Xj|pF$1Y8dae{@sUn)g8R{qHb`J^CNYKG)x}zWk*m zG;Ed6neDalR$pJ6>qnc~ZsvY)a`JMY%u7!+SImi-?^qcu`{cZNO4I@dPsc<-pZS3@ zJm==9GNs*)DxPs>?sCtQHE!G|Lbwz|#k(4eUg;(U`5lQnlfgNWYem4;qB{+%_OpjL zm+oRr3~gS?eq}|JHj~y$@x)CfIt%(P8Yz7h$c?ynBV(-qqju@)9MQ>FvrV#2C2g6; zG%NPmf~9ILo33$Q*>%rR`pEqst8Pu$l6!{9f9AzyWg*AY9Jl4%ZM!v3_d=haN$I$Alt->nw%s_xCaUze(7$8bT`vO+_RneTGX7X!;h*VX&vl10>l^?eGK{i>MD z;bF(EuAxvkX`&_f-Bt6vY#(e{l^(?Zp)~R3YkymYb8Y8;K4o^`{Q7CeoaJA|^^A78 zENeJzHtjXHV%(7@pG3F*du5uutIm05-n}B}mfL?pU(LIM^-a`gxxaX51ido{SF*C|5bUh(F5+OoV3oRz?Fy)$OQ~AsO7xST= WOJ4D;-18ok?mb=oT-G@yGywou`E}C( literal 0 HcmV?d00001 diff --git a/src/icons/GoCache.png b/src/icons/GoCache.png new file mode 100644 index 0000000000000000000000000000000000000000..7f8c1a5f010fd0fe18128aec7e202789e5baf0fe GIT binary patch literal 2321 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 literal 0 HcmV?d00001 diff --git a/src/icons/GoJS.png b/src/icons/GoJS.png new file mode 100644 index 0000000000000000000000000000000000000000..5a91ade5468c9605aa169b6dd095499979ae846c GIT binary patch literal 5709 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 literal 0 HcmV?d00001 diff --git a/src/icons/Google Maps.png b/src/icons/Google Maps.png index 1f90c694b70b0214eebd70733b64091049e74afa..ecf471ef08e1656bb712125cfe0408e93478805b 100644 GIT binary patch literal 16008 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 diff --git a/src/icons/Google Search Appliance.png b/src/icons/Google Search Appliance.png deleted file mode 100644 index 71bb47077e7397b70c02e2cc19218a7e3eb3f7c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1508 zcmV(_~gf&3(YBst*9t|no0-+y}m008acv=a&j|K3sm+eiM{KKs=;|JEzrxE`8* z5Ja2OA&18ROM3s{UjN-p|Jge3$SU#4A?3dy;k+NvtQoSD6{d+2o`Mjfg%5{s4ro>j zHyh@<~c9*&n@-LAlbDW*RvbM zqZrAi7p{*Ksf!bkcMyqj4}4|~ZCMMwlmsb^%Or}*5q`uFc)JL5xCC#t08WSiQicFY zc=vg8^>JzfK4$Y+P!2Ih>qb4?KQ{N!Gy2moyC^LD(kJ)NC-ciC>%}GK!XwP88_cN} zv62#%dlAB&5Q1zFa$XEyP71V(1yrNdJ(tfFfyNnu!vk%w08^R)SB(HqfB;Q@08M-Z zN_h!HZ~x(BiBn?$I$%ISU-f2Q_F!56Vp0GuO}|P^|5{1^O+TnRKjKC{5iC9Y)G*dJ zEu0!Cf+r?O8YS}9B%C=U+btxFAR_I=ALhaz;>jNB!yd+;9g}<<^U)iPQW~m;7-Uo! zsvsEf%ogCe7Ig|1#-b8oQ4nKN3sMRSrw<0oqXg2Y0L>7?TL1t6baYZqQve5iPX1~- zEFB5{^V-qQzo3zBU|3a2Ml~)hC?p*m8yXl2{{H;?`}+C!_V)Ah^YQTT?(XgE?CIy_ zI(oATx&(pS*08w|@d2`E;8tGhRIM#cqazq>_U1 zj13z$ZT%C#z@U^ZB9c*rBrO?es%h(R@6P)5H|~GY&x?0bYi_Qzij;-Pr*f@6)!WB4 z;mXbHo3=hyG5FfFYv%5^-~O41Lgb~jSNBx+)bveQbNlX=9nWWf*j6^JtbFF4%D+pK z!16(7YO0S{FIzcr&9xajUcP&_t*pMJq_n)TW#1u(r5BU`TYC zxT<%>id7S9*BLSev$QmpmzGSKQeU=x@4opR9VrY9@)2t%^`GvaRJ(C)7=zTjIeQ*9 zl$MrGo4%`M?t-dLA)p=dmbJC#E=-;}SyzT3Yi?`v&gl&e4bv-{=CE{DwSyEeYw?lpB@30qIXD=~AUA3eu6@K{^OX z5v2&IbdcU}+~5B8J>!mZ&iMY^jI6chTJxFD`@ChoBV&z38yRR(U1PZh005|TwAGFA z*Xln9kQ9Gb93qv(U&!6GEj$4L3Wh%i0U#rj2>>AZC7qZ3*YyxrIe200-V!DiC>;`(lCNR*SdzX#I9-@w$~-`QRs z0ajK5-S&mz30#p_ILO!41?>s-RRsUV3&oHBJQf3k{(@kg6~U^141&z{jX-J`4>~c!Y?j9~uky6+wG)|C>P_>1prb ze@pCX>gR?OGe&x1ygclY8s11Wmiynv5cdD9b@TFY`O8y;y%^F3>57MW z;)O~4W6BMM!D2j7nE%0#f2RNO#to|GfrMi*9;O(K%fAz4^luiBn%bYl$bkgRoX`l2 zkLRsFqW)fkREJ}cir_!EfMenR85o0ba`5|4 zp!)hy9keGFj(w##UVkF^XZ^n_7lEDJ>-f5wW+IkQYJxA(BT(Aw;Ad zWDw$#(hzwG`+wLBJ)H2H2k!D;S^ua);2GgENVtQ86jDS=T2fj>8Uc|Ov6B#&5`joc zOUO#d!x1tNdoT!L4|TwJxWe(J;^Yck6fHUf7KlnZvUs;6~Xp@@{B})|9vX<^KP#`oDu~kAkBek@yZO2L9uZ*q>hW zuhfYBzghch?!WY6<`v3rNQt7Cxn)+sLKD3Hq z`{}q?@6Mc6duzonL_{r2zp z82We}ZLq;>mdjtiZCKmiH2Hx326oWQ^!;_gNhsCn!m+TJZ1{cajI;Y-N|bQa{h~A{ z??L^Ca^H^?hHQ=7pA0A74FyoYRnXeoE4)oW4|uT2iV`5og0uO!q1Vfnt5}-|MzUd3?=B&9B&kss{V}g-PgOvKT9zArKjc#=FmpwM& z+ghBX_9B5yQAY1JbIr{KZ=d&81>db-nz~dO;4IzPW^WVk7hnmQK?8V71{U>6+L!vY z6Sbt~(Br5|{mW6Q+05TAPo|E5n<>#taclv>_C76cm*+IHPrG^Jb9axtfO+wwlTkI6 z_e}e>l!E4W=g*&Zjdg4`D{eGjFs6}29jZc51m@J7@|EO6I~-OldYYtaL@#!Pd7pk@ z8gSFJ4l|mc*Q&AXVBkETK2{)zbe#!yzBScDi!VCWMOKyP;yESD!ns&n%p&mKA>@XAvBW1rhfY(=khD-6gsq? zd`Zs!Rj z=MPIQ@>1$)^at$MZ;+*Q_U>bsj5^BEPcbgWK+> zJ+ZQIl%F^cTa}Z3-NZ{H$6qgs10~H<8VEw%*LEGJ2vSnTvI5X>_@@j34!bUcUnekT zt?kQEPbw1?AcKn8BXjK(0}JjdBCQ}=y8FsIpQ?yeQ)O+SR>C4MTxN&?ksbg3Z-$&8 zVH^MLs+u(=KuA3aiSAFMkf>1?nKs*!lI%H9%JdvGxE32F;&m=XUV2_G5&W}k;*m6P zv1Ie4Q|_uvY<=yn=Fjn%0Rue~S=Bq{mu*@yX~0xjc4JPZPP#L8o0;>zheHk&{su&u zyfaa>;g|Qgn}PT!5(px!X6^#|<&44;KE(gPwCU;F@j#FC*_{H5fYVIa}{4_NV4|tO2Tpar1-RqGMVo{8ZxlnRH ztx3z98?E76zZ{?9%Evh3?()*PI7#ZF<8QFD$tG6rWFb9h4N7i%krFpl9{gq&(#7~U zbLtWTUR5Ur{aSo2Dl`$;P?~HNlzIDL*^zwEtX8z-1|y!8rSP@DD-99%4Jxqi`W>OK zzn8lDO&oy>1G8dfH=jNmEfUX$)^J%auc4Ut{dOuqQphDa`iCb3w`DXr2 z)C_+M*!HA+#&J^dd%{tF=Evrcr*rpru=aW!Zjj@<&uqfM(#Rey$C7L(Ed8CRpth4U z!PB@2ezP1XQTf*fY*2n(IZC7j!4$1c{o$Us9>q~P$wP~n#G=*sYrABS8cTg`0Kb7^ zGd16rIe))qb3sRFwk31kw-*W{c^*|`BfbrY2*-pwS!4owlNKaVK!+*Q%#<*G zJvkt8ZMY*^?4iNs#q?cL4Sj1(Vk%~{$cu5cwdB{6=7gyqtgXdT7(pOOja3&~|1gft zuAu2w?rfWGO2-Jgk@fD2g?gRlrqe+dy7C$?bTh;zl-ANg*o!Zv<*cx~ZY_iv86t^Y)LPAj%J~&n12e;Guiz|FFnp6J&Lb4BAgl+arL>a8hq<_oxO63S&oH0 zc}vsDZ_SDa!?^P_1DHwb#7rU+V}X{3?mf52?Dr+v);HCw>+v>COH_;+RyN7J%?MRY=gCqU~1`w z6sDF3({wc2mSn#4`+ad<)uEfEsj^R3o{A`s`HWlxx|S`IJcN*28t!Wp5j&Mn)E+J2 zL#_j?s6QFAEJh(wx~#>?+SFmmuF6jXe3Wk{o*Nqb6TUKjq+hrZyhf77n>HIINkQx> z&T^=}TB_uy3F{w7wXR)>)V>#7q^ovD5O6*-xOFp2U8KktDsEK&Nw8ukmgy!`VCR*}Go2P$y*H=r%DdV@MED&g@QIPN0Jsq6xm2 z4<{t`y(%lQcGUzR8e{#(aUl*EB#q%(u17xSLt~0e^S~mrAXJ~#8h$Ul4NriqDu_|$ zSj%}3fyT-kXCuhT$7n4LwQ90TKc2a-&3M_p+8o+j@2*4^zkqyR<;9LsX|sLfxBNvq z=jTK7*`Gaw&z7%ghj8Cd8DF}jgtamwrDDRud@Kd;7TCF>@>COn`}Wd9C*-6;^;91p zW#tQ69ag`v{f60of3LH5anr|V_lFgk!1dqcuTi?dX=9Fnm-bD(@Gf# zO7FAB{vf!o;a{F}p3Z z(;a+5{@!}Fo83qFl~FH&u;Q%14avE50htUhVdcw>o<9L_Z}n$2hEk~Qg1tXvh14t| z=vzG!8RfD`n3bor<*dr1GQWZ8g?Up_p4K&+bl+?}H_3#$Q@$IZSs2dOi+5l+&}4OJ zq*^5|69<8lbh%Z3Ri`537mVr zvoZAiX`&t7txI>%5W0Q2AUOQcmo-l5@%5u`!Nhvckjp>4%58z*c(y79rP17DzdRoi zvwR0w?MvT{Wvxk_fLp`dL8(zS{= z?hwbaHU30zY;G+zUipyp7+P!9BS6ZjPg2G~Q5ynU+X1V!eKhB^4H(5l<^~Be)T!fJ zGEXtWW7gK1aMg1y7(q3EQ0=+OU38<9!f_jC&)~<12kgWg z_4(;}>+(^4R0ou+ianU!aK|OT|eZ)p*fqE zA$?Xh<0J<_zb$Pbf98!9f!%Xca_w8c2T4@3t{U?#X5R}D_oDgLz9_q^g)jetzG8@= zj~#6HhMi#;4lZi1epI#$0%kYB;9r*1NjFh4tn7N5>op_9atc;WEw;+c^j}{TnHymq zlM_88Dzyb%*M6>+mYn{iDY?Usx~XjO`JjV1z>@DH(xxhZC@^(mlg>LTH)+^4$i5x|4E)C+K%beCsIles1M4K6*i8G3S#}C zx*PUWI?!6lffRw0XX;Ujoi%U|lV91AEmB!C@;Wn@gy?H2DaUCx!=rJb?8}uuPb-lA zU)6lxl>R11SU5z`PlXV|UeCMA%0I{$zd2#$ev3Jbn39`j9Mb;l!-OdNhW%0P%~b`7 zyP_g6cG)G!oohF^`ZN*>kP%|hpi(jeU}$Ex+PF*D3}vCSMdgR1IN`EL-aPhqVg&7z zTZL&7H*nr$({J47W~IZgl^8v*-8>=KQqft=fZ^~;Pdo|O0*@0;8T=5k%b>+{ZbhbkfqJFJWO~$9Rz92 zISd^!eIbwPE!<=GlDe3C8foS6QIgf4TBM4cxyLx*^VD6&z}6eL2d**R&%9T@vzXtx zjC({sTN442q+QV_-R!)(P3u5PtUAEFaDV(TD2hOWuE0QjoZa=l5bRn; zlm3Yyw#BA0S|C>y#bUY1$K*N^`BmZfurAe|VVS1l9ktgt4u5a(xHCNuRuttaoy>f5 z`{9&rhJiqEu&-bvy~kk(wPtK{7Ft05HLbSZj{;*-LKs3K8}nz#mB25WvIqz4+_g&CVBno-)i27=wv~-@5M$5 z^@|4AF%v`7k1Y=`-;wZ(O^#@~dBDjb>e!q-=Gyb~UMHyKCgV9zg_$yMrXY;w$a0@p zBAlnvOflLHH<-JdN_jGTd}b%ELfDW}B||PAvGLgb5vh6amW?C2F~l}i>3PY~#L5x{ z8+KXCp{;cSG@pSZ0HQLUdp9b6hdK$-RUXP$W(hYRjA{rh6dYUaClKFXNvW9F5FR4_yeUD70d#(1x z(Lm$=#n<<-V>|kNjKTu|OReI>1y* z@zLLn6t704c+yKFY{(CGb@cxlX5Y*MfhX2ntM3eS7vK)P13EJqDV*lZax@r~ zaSkCo+^Gy{FUKEuH)Wb_&`GA`v)Krm4F&^ZjUSWpWcPOdl!yZ!n*bWE+ zQkkdk>ocGr+`4=W#3^S)>IFQCuyZmDy_d}Mx5FG0DY)iu56@3Hv$`;W-wB#L?Zs*> zf*z^Hj-u5Yh*BLbHyYzYD%_>%+OZ8sCD8TJQ4_1s=FOF#R`}Z%WsFvYFj4U4ehO(0 zu&VI7A5+Y?PkBkpo32=UQ?OI`#x&Q*YI6rNDHx|6A~aW3;vn(KLgLW4Y>=+_;kmoQ zoFdgY!wp6#$p?A0Ot;9i>kH5vxHS|O)}!(^t_L;DwBpdZr zN9y&V@>*2!OjU6k?A>gT6yq(Y2*G0|&Tg>>b1^E`v1lA-gFD_yc^@K5sU9xpoub!~ z_G^!8MfZL}bMBKnv|kkRYA?>>E#};#oaGgIxnD^p6tG^SAEG=8AZ>t)bqq({2He1u zR(#7|5PTN)0#RzC{v;aVfQw0~6^ieWF}?JKi=jJxS02Q(p+LH+J~wT=fPhGR^)JHAU~1c(T)>_y1t zX?C0JjD4WJ+ra@XY3ECMx6#Hp?_-51$J-qUDfmb$4x@D}_C{(^kh*NUpn|Hj=K9&Y z=3bTwL9LVtKGWw-A#*WIUY`8H*m6M_7i*%u-Sop%I^05S$VJ7q&Is49ZP-?+wf;}I z9q6X*#D}mZ8knIAk-txmxcEv7+VzJF2R6hPB^7X3| z7iOP6h55~AmgD1bt=$&;J-Igr^h)L7d_Ct6IA+T>7qyg|!yhYg`gcz#tG>{~+?K|1 z$hb=~PtTTpH_5pj%AZqb==ZV-#Ot;@_Q7p)i1bGcVZi|hnJsVHZMip#QaRA@WQLF6 zH$(JB^TE5)=i5hfVc7#}+sge856B6)e zh$*^H#Gh2*+2v-^qlph)<>QqSAg0dx0KUV+cMP@n?D9-i4{}LRn+wB5AvW6n3B0qo z!zCzp*vbL7_N~zw??q8Z1aGJk2SuNEz(&^(5A9r90$V4}_0d#eQC}+(06`xiC7mzD zy`AZ`Tm024wL}GJ*m^k^qOqHWUmj){S`9P+MWrTwTpos9qsV%de98Qnt6Y}5rkn+GaLmej-G?>NcB z6fbXYIk!Nh4lbT^j;o=LVqQ$VfTnq|X3d)whC33!JSR})54m7v{@y)73nf?AY3hP_ zmmu!PS)d!$VsiN#i?Rkoo;I=B0{LjwWnoHN&~z0Lip_P@4$C;xzt2|)6(gv>$d{_8}`B?AUkFPi>Ylm;eBoFr4^T{VY2?#2FH%T3Gt?9u_c1a>#N&e^^1(O@9 z#b#XYK`|H=x6(|GM&CLft%+6SYszs@+1MUxXjHYbx?iUF^%(5v7@NMhk!^Tpq_cMU zChiU;^kff1Q7Xrw8Gzp+apLM8EY{H~^WS|s#-E{cdZs>9F5QX_K2NgvwVG>(wZ%$( z=cgelEtj?Eq9U=T?qm45lBUT67WxX5;%I;U;O#imAYV8+Y;$RoI?C8&PdK)nE6nPi zpoHyks4~HGjcnp72&q&7aM9+g&Om?qavJ=t8xWW^9R22WNqcE(SjWl{^dynnJR1nJ z(*5Oq-@UV3YJ?{$Q?)m}16-Z-q`)C$c5E2U6Thx^Lq=G7=GVFH{Rf%`ooOnGzQ~B= zbusLXmIQei*%QST@Vbo7^5XXKp&XYAERu(cxU`YA#j%_jLBf=5FSl zOShWMtpA#Prk94D9tKF(CAT^L&3AdxYNIjW!oAw7%oXBo)fxLzKZ)@N6ycpiQB`i# z_S5=UzGeUOGgNKQJ~P|}n3FK>e&N8dqDyXR`g0IB&Gp{y{2pxv^CX3SO$XSHDI!!a zb^XoMp$bR7j!TUpA-Bo8!5qlhmPCSaz_WKXB#Hh)i)_V%C8*Xyt@%@!%=ZHBb@)QX zVs<6f^&ehI1AbGBuh&d(x38HM=Qi9*Weai96Ta?gF2KU1bq|(0QPI}T>+lott-Zeh zk)-FBr1!+5^P#zqY;^1O4I=)N2z3^|U~41V%%pw2xzHn!95IJN`_or9T0W@6w!E1V zG~DjDF%qa8{p5u+gIXxx|Gb`&4d#A)`U>2(yn<^j7LK2$BEdbcQ{&^w99xX8t}G8P zKJw*{9&|#LMQefey>M)XhvatR}|Yo49@`ABc^WSoJ2oBw)FS1{Z1-Y4w_LsPgQITeURQ{pM< zV1b5_08e#m`>L>!(RTeUqN#8>T`tjrZj;6EPP;4uUO)NFdpB~3vGS$k>6Q{}G8#f6 z)C$)TJN)7dzPj{7>cKR-v_34SP|EAt)a$-cSj$=W-buBz!rGp2{EK$-u3z7h6O`V7 zU>V!W*4RU7fnM?=6}76YdEsWFenIe=JqVj3EV-MsaXL5acQC043jvvOhNl-396b}B zV@RkG2|PMXwsN1kp^%rl^%y~>zTh3uk@)qc!kMxj%WB{m55+s1f+T=mk|51S*F*aa z3$wM)KEqSqWe+DjyQ2r}0wSwku)x2@LF40ccC>$Fg8^2mJL-NDH0YLBtQ0@LznAoe zwFYc{oIO|@x}x*v7<7FZ4-Yy`eIX@NN04Aa-`HkbU5KNFW(sNT0zk{L*WP}3f4|H%aK$hR0+b-Z@%6*s zyU}=~n<~BB_ntY6*e&l9rZKs2e$N&iTvi87GtMM38+6D%KH zXa-3LGMGY);;m8$(4FFfsQxvxvTx_Rmig9C-Y2VO7^yJxhrgfC@wH0IDrNb4ej@)!Nnr*LPRX)#R+`f7TPa;68b-%QL9}9H$isasJJs2r_cy^k6)UrJz zHX`!XoyM8PJYzwd;alRzoX>Vl@bM-)7Gipr@MB4pS_#`(U$(ElOKUY#ttYeCsVwE; zm43O9hPy@_3uWsh+IwGU=IT#31G>Mm2YWAXB`ZTb_KqZhC-v8GqaY+jv!Q4FmMws# zE#ts31FOo<^p%Z6_m@$jW}SpgWf%|f$|(ASZS7$j<%Dx%+4h6r)$O4tRwH^J;Mij+paZ-+x^VEL@o_!Ob#mFKBg6` zO-OcpS*N{A$P8e+OBAi+EPeE{{%eOqgv6D9Rn3(?V-L-dPp#EnPe3j|3EB3EP)NklZk9X?toH`Ni2=`zYFv6mzbNr0;rK~Ud zF2Jv{9-ynE)1T_#h$IzNL@!u`Acfc9%fQ{Asy{mSb!=I<1a?PEVIE`*18+@iaozxd z?HX*|sY|53Qc+RqwD$~znU&)t`<_CCz76=-th*WP*wOKog(V7&_95{f%Mtm9HxbO# z`pGheyQ38xBTcb4coX!zRiNvph)s5Dq4>#47@O>ab>Jl&I#&t(kP7Jg zOR!B(Z-UML*2{p&rbGJr`pvPHR=8tlj~n{CaCymlh+<%&4Ez)W7b+;=;QR06xVYJ4xm$`Um;HmGLGC2AT-_~ToMnWKQSv**B*S#S2dHWn;XGKTqczNFTy zS(Es06BD!t1>&KL3vTZ>M%IGGxXgfK=gdVg12$i{2(}0IAfw_U!pnSMFFJ@%!u5G? zBZq;eG4N9?a0k||M`5`L+0BW#QWp*3wa;OivJHl(G@)&*iWEs6uG}BQwU#jiOGjYK zzz=5+!6dEc8|tf|7gz$T&`h+nc3^613e-%P~9_zHJ*yRMoh8vjqzwW#EN9EKFq< zu)b!5{h>NIdfXJH^$n=%8G)olhN!ARc-(n%v68)QZ4c-8!$3D$`y-Co1p6| z!s;UlFg}@!yu3UjAmFP&Q$r*FrlBEf>>Y4bSp^Y7Cx~h;BeNv|&c%mdk+U1xW-6#| z??TOI3w+cZ|NXhi)FAY_>cOdX>CX>X~NLZ5C?8=Z|9#j%n1UgzST{Hwzf7R zaAbNJYIs;%qd7MZkC|0HJv|6dK8^F$fe0vbf_bJs^n~gtZfJ$HYZ&M6_Tf}{KRim9 z`WsKwTjdNO>ShPJ`vy7Sz`y`f?}oqF1-YeCTx;mV<@-ZV)jxs*t9?LmKiazcIWRq6 zQBi@gu&`&HQlDJZz`-{O)7bR`K9(&2@w3fn<;s-~ckkZi%%h{D;p^**fOv1DRbRp* z*%LeC;^L54-G!WoGG2Qh)|)$f`8`T^Q&STnA|hshQ}6EX#_fh)oJ^LYx3?GP&Yk1q zRaI51zquQ}>EYoq)z{aDl#~?y;E59_c&(_BDlacDL}uMY)`J1mb`Ie&vzFTM@Gvf3 zyvXf-9-Mk>Yb&=ro0TLqG?bI1vS?~*4$U~-upM#Y-o1N}NF)dk4~M(EJ8Eldxvf!A zQT$>5lPA&M*~Nj!$H$SGnTfM!&%P9x9HS6Ui%3dJLP$smA5R3dw6yU2pHWspK>@0( zt5H)^gOZXGL`Ft}TuDw&=95}kS%FGLqzK?;!1T=R+qe0+n3xz;R#tKX6iOm69ZX$a z-4_UGU$}4qgM)*(e*HSP%G1*mb#-;z31Uv!ATm@}n(%pWu~>}e=4Sp$St2n+hFWoP zF(*J6l!5Krx4%H(6-!IYiO$YWT)lb~_wV0FKtKR@gA|KIA~ZBKaAFT1KIEaBwx8Uf z@)022CjwOa*w|R4rlxWNRaI5U&d%oG4<0;#y1IJP3ugjlW#w*~oI*!Apb2twb1^b9 zg8KS;KDo2AGruOMDA9DERu3&-vYd!hj;Iu5e|~;GM%j)?z_cZ2WMoXTzkq8mJ;1Ub z>&nW?IMa@f4i4z%=Ef~2Rd?>(;flx&B0$d2c&aOvq@|^WUne9apufMLKTmEFIPC`p z1_q-HL-X5?V8IxB=f{IYE2Olv6orL_aCLPBk?QK|;v^|>q*N-E z^0LubTBfu|n3&2SkX% zH@)5|c%+(2B@_y&)-J67^837q{F8NS*8lwU`#UV*Qv^ofv@G@X^kkH9DpP!XJm2w1 zHIZO{Y7fwn*D`~)YQ}_*rypkVtLp`48z+QD9{YT-*6h>u=)T0hBN>F8>}H<2)cm6vj6`t zy!np;KK%UuKVT=31{`<>(e&W+|NjNY{{NqF8DWUPd;$i5Y=;35n<(#~`x^v6UVs@0 z(g?#Kd7=yeIUn6cAOJFiXfGf;cfm~}4L}Y=P@sV{!ZZ_Y04StkhQI*G5RkWsG604_ zUI2v&$q9)>`~hUZ843)T4>CXwh&KZ9Pm*k&`F{lv^8)~D(#$gF?~i)`0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/GrowingIO.png b/src/icons/GrowingIO.png new file mode 100644 index 0000000000000000000000000000000000000000..c96be59fccf9ba9c568cf3b850581d82ffa1deb7 GIT binary patch literal 988 zcmaJ=PiWIn9L^lnF`ar*aUS-_6eifbBuy6^7E7CSuCk2L73|U1m6YERYb{?#Om-pU}-}n9geQ$Gd;o8{f_$bG5 zW92!s!uC_i8cDJL#LqTj+c{dQ(IwKLEfiv|;E*~7We+Xm3P#TQtq*vH~v7>Uw}-1xI8pwAtVqlS!yRGeV3g39E#x_PV&(B$Px= z5&*;KbPY^d$aek2c&UT3EUoNE6!|tTn>x>U1lM&mRT4`jRm~KyNF_-sWecWKEGp`( zXcUZsRLu3TCb8E%?9(3BIm9Xhv56qOfJHWO=-$T8Y)CxNDO__0=OPW{>tdb3xyS>t zkR=0?@%}aLo{4EFIrhcNE`9l9pJ_g1;y(L)=L>rn*UM(18h@_;YPa*l7w>G|EsA1F z*?!+X`SxY25dGL`gZb0&!uI~&#QhiJdr#Bf@*_*{j(vK3=J(OBXzN7k(a?k8t@A@i Zj&t8%@lQTJOzkG`tz23#pA~Q3`vWP$III8w literal 0 HcmV?d00001 diff --git a/src/icons/Halo.svg b/src/icons/Halo.svg new file mode 100644 index 000000000..cce2a59db --- /dev/null +++ b/src/icons/Halo.svg @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/src/icons/Hippo.png b/src/icons/Hippo.png deleted file mode 100644 index 3b2b5adbd2e88ff8d4582f651b128631fa69db74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmV;}0w?{6P)e5^85Y(spbN%=l=iy{Qm!4%kWyt z@7D7BaMAJa`u_O+|AW}`39;x3u;|9^`Z~bu;r0D5yz92;_*lyCd)4wr#qQkn{4Bid z+VlK!((*OE>8a%R`u_jD>iG_{=!e<#==lBX`TcCr@%H`yk=*pu^82;t_Xe-$AGqo9 z`~D)h>e2A~^8Ehw{QfAr>lC!<6SV0Ov*-b>=dI=V3$W-Txaw=r@s-{6x9Iojkdo3$f@1ujom_>Hw(bc+~P#$nR;-@!RzLWzFz+)be%H^3L!2 z!t43Y@cL88?@Pw+_x=A6v*{AF=@qr<1+eF7&Fu)W=*aE*;Pw2J-Sx@t`t zjMEpE) zX8w!?uV6du*2u{POSr z|9>8x@ax*f-@pI-{`Bhi+xx%2efs_L=db%mfB*Xa`_HeRdumsCx8DQmhaA)QbIK|2_fyFE4%%w|yyA@b$>@_sGH2)Mfa#qxb7|gT0 z8P|DPRw>}p0(;h!W1)`19SzF^tzA(N2AQK-M3+lomvV*QdOOBhTNE{k_K+*NmUbX1)7>C^X^^9PyioE#V( zL%$cL1I=q#t>odrsIj0;=|cEBPSFqS+#1UcurAPAx0qXjrkHHL)D8zv<$%s0 zugaaw@>iD5bMo>^ayT!s)PdD&T3a3Ku01UmWi_ufa^0EokSQTx`jMbMrGS5loU;z- km76q9Dl%y-`ozL;b>{K8ES`H80E2?T)78&qol`;+0BWMBF8}}l diff --git a/src/icons/Instabot.png b/src/icons/Instabot.png new file mode 100644 index 0000000000000000000000000000000000000000..3b49095d355d20c1abc8c8a1f785f847d0184c93 GIT binary patch literal 2877 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 delta 121 zcmdnN-o-dUqKJi=fq~)e-A6${N+Q4~#Pyzlz+(f0rw$Gu`uo4_-~Z$M`QP{N|NsA= zpG#~OP>rsqi(?4K_2dKxre{Y3+$t@1amei0v0$~MfmdRWlY}zkv4%|jX2Y%o9%hlp ZjLVfc9&Vjh^$Vzx!PC{xWt~$(69Au7FTVf) diff --git a/src/icons/Ionicons.png b/src/icons/Ionicons.png index ace620764f506bba30df3764dfea922f07dccb0f..67497c434a99d28e3f5a842182ba184833ef9ddf 100644 GIT binary patch literal 19373 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 ZU~PIbEayi~2Cr#=so@TTQhnD${{!eOft&yU literal 671 zcmV;Q0$}}#P)0(}TdC{09?>_Jd4=&6K+eh5WBh}5Qp>q^CfJJaSk=&pD%&-pn?_J?Ts$x zi#G4zuO{*t8-farq1zSd(xH`!*@4^s9~&_1N^}wH74~F*aW`;WayPIUCvgdvaXQN4 zBf&A{eW;YNH&!geD8Bk8mH4j7R2bWuMYY@<#|2}h$$-Fq(|Mos|84c-tT#hj3>AhA z!98P!_GI2o%FVniyCH?E@FhY5KTvBJ&Wzlo4cQ)x5Zu#kXm`$5@8PTm@5x z;OVd))%JQZ=ybc3F|LH=`qo?y2>cT_!q$|mwq&c9@IJ^+w=KfUB!NC$#{>pYA90hC z%Kk!jvoj@p9Y4oD|CiTrq6EQ@N{{E-hJTQAKoNu2>z=bJSAnD!NE9KstR?Tz8dh+x z_C!OB!RvIx+itCp)U!cn48f1!qh-(Gueb@fbOYH`Kwx>Yp6DZ9y_SE_jAy!V^yfRY zXjh-XYh5+>$2o~=HGvm;6ra~~-n5>E<%s?g=c1gfRsmm+R_4klarna \ No newline at end of file + + + + + + + + + + + diff --git a/src/icons/LOU.png b/src/icons/LOU.png new file mode 100644 index 0000000000000000000000000000000000000000..c2836cab445c17b77ce4e0902d8b70aaf20427e3 GIT binary patch literal 1685 zcmYk7eN@u-9>+m1gr>8mn3+yurfmj4zy|~YQBfiVP2H6=3_%1+kr0D4mFa9ly_nva zg^wjgHl5Bk-F#kUotrByP2JMea%LIk#*W#Q^y1dpx!-fX51)tgdY|{_pRYQKMYpwf zwg!Pfwv7F>X!A|o+%Ty5yedBa7z6@`i(}bxHZy|APftT9C8zTQXl0tzTnB+jfl6r- z|Cm6I;0c6c2^smSs}G3~CzFwJzDx{L8X^#h_h-ojF0OJc_{7@Jy5#vw9VG-{Zl46Y@$&you(X_C4V&;g96v^dMA^<293beu- zoh}msSOS3nU~m8qhcb7dGEPe5NlKI?GV+Vw0J~OV5;(kw{=u z1bC-nwg>#}&m8JaL3JFr7x;0(Gp7xwP8 z$f5Qhow?E|LgttH#4}3Nx13h#Uud}ze*k<_$kV_udwy)mkSPCPfmT$ZcRod9c;z^K zyVo&ZXP0^bvQ|Hy*tL#rR%Cm3q1p#^lR4$#lH7oRwVGFVUy@D?@wJy3B+qQF;=|E) zYMfh%2CHWnuV3`4Z?n02qt$0zHesv--^WfI2T=lTtZEPYDM`|2@e_%V+&b9#%i{N4 z3p^>G{nuU#PefiHST?<#G4epmFV^Q8NmTwaYW_x8!eeh293SsLD_ z%22Y$CLzL+py}E9*p~V(5F3M?>!Ex9Uaufu|I~eq}I#^ z(ax^-e(<;}V~iho+?L3B%qP@>7?9%rVNw@E0T#Jf%Q*LeMC^t%{;* zYTRTLy`o>c;*5zrcyHfR4fuIc_E#KZoo*xFCER#V^TC!$ELV1U$51Tv$_K1BBPpR8 z`z0rg?%buu2sQoTv>un{XhxM?af!(+RtE2srFsBDZ|%-gE?vGxDY#9@szItu~fgO=9ag*f|u?I#hQaoyb?~8^*Q07#?$NBzfe?e8B$&oAmdhi%3u5!m6)$ao_b)_Tm{Wr7tzeJ%uyglI+ zRdY9|dBMhPy_EFWrw$xBWgD4i^X$p|KfJ7GXCKYA<+7Bi8}!O*;bIuJLPBsYhFC7o zac07ug7ebi4z%Ozn;&&*UaxT<-EIFFtX$l+Izzudz2f&Hd9mqs98kz9wYqP4<4l0t z0f%fz!FK=ED&G^|a^%GqtJ(WJVd)fD^OSVn4SW3K!8p6RHSL$>hOU0k4gMa-JkRMj zWO-esQFk)b*!^_`=cLMY?boVWtM0bQT0pt&*Vwaa*(Vh(jU6>bk9M`{w?8Jpwhx?1 zq5m`GW%dS!)Ei?WjtJbX0mJrYdT82K((Ci=fQZT-=5_yFr1{gr>Lc5%q1;c(CI-Wk zCmndFkx$T5c$j|ZkkQ{@6&4m6CnDI=S?ZLm6VzT7^3eIH@0`c>6+W;it5v=#{ShW# z3C{R@f=~KomOVNOJv{IJwq1D#G-VP)o`%Qr8>(g$^Db4>HKPuJ)C4}ew Q)Bpeg07*qoM6N<$f~Y8mvH$=8 diff --git a/src/icons/Laravel.svg b/src/icons/Laravel.svg new file mode 100644 index 000000000..917d02077 --- /dev/null +++ b/src/icons/Laravel.svg @@ -0,0 +1,31 @@ + +Laravel logoimage/svg+xmlLaravel logo + + + \ No newline at end of file diff --git a/src/icons/Liferay.png b/src/icons/Liferay.png deleted file mode 100644 index 43560bfa66cfe552a0448c759a3ac2712cd77f0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518 zcmV+h0{Q)kP)C@3i@DJUo?DJdx`Dk>Z}YJaujS#6S?$LXQT>a)`Ax7P2t*6;rQ z{&LddWxrEbeDpUo&z2{ zikGpAn6iM6tDeZ|pvmdA)$Uhokgn0}uh8wU(e1F%?QMLGwbSmk)b3kvlR8diV{?VL z*YCO4@4MLVa)6P|;q%Vn^JjL5g_N&VYLA!1=TK#gveE6b((SU-?VHBvyxH(SQfaZ! z?MGQ}dy1${Uvz$ontzU}w$<);x=Pnkm9Ou?mpWNoce5S$&rg;Xt^r=Um+fWDyo@ns5- zXB@siUPr@>4|{Ul;z71(`!K1E|G$1`_X0p%4aFdo \ No newline at end of file diff --git a/src/icons/LocalFocus.png b/src/icons/LocalFocus.png new file mode 100644 index 0000000000000000000000000000000000000000..0571a349b925e4b1ef6a154ae0bc223e0bce7b6b GIT binary patch literal 3428 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 literal 0 HcmV?d00001 diff --git a/src/icons/M.R. Inc.png b/src/icons/M.R. Inc.png deleted file mode 100644 index 1e3e20e1bc39002aaa9bb64355798ed103ca96fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1049 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 literal 0 HcmV?d00001 diff --git a/src/icons/MemberStack.png b/src/icons/MemberStack.png new file mode 100644 index 0000000000000000000000000000000000000000..8f170cb9a7f144337448c9f16e75c0470b20ba37 GIT binary patch literal 2112 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 XRolCmDqIWIzlHJ92~mZUKg#(Vz5U)? literal 0 HcmV?d00001 diff --git a/src/icons/Microsoft.svg b/src/icons/Microsoft.svg deleted file mode 100644 index ecb0ac592..000000000 --- a/src/icons/Microsoft.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/Mithril.svg b/src/icons/Mithril.svg new file mode 100644 index 000000000..04cb102f1 --- /dev/null +++ b/src/icons/Mithril.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/icons/MobX.svg b/src/icons/MobX.svg new file mode 100644 index 000000000..2dbedb857 --- /dev/null +++ b/src/icons/MobX.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/Moxa.png b/src/icons/Moxa.png deleted file mode 100644 index 03a2e6f931765e9ab685480ef3ffc5f4aacecb73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmVfq|lz%{R&6RTDoO4VLkr`q$%pulHIg?m243lMzM9pDpUWYk^ zIfU5z^?2Ubn`OCK@zm3M@qB-u-}m?H`w|3p2>Bxb51!}!1Df}2sI!})+**d`<=KBZ z?`2=>C5M`gMbz6@(0;Hb07!2oNNX`jV;<6$#=kf9IcJX^MC%kxM_LLItXBvCnL!De zwg#k4P9KV(-Q5to^6-kbyK@>_!Z$LJ8=K_Rw zRKRg_fgH;Wa~df*_ylO=SaZAB-0_n=AoZC@HX2}ca|qW~Gk|VylL1pq;}lSgh#{4) zgQe3WCg2|K5YP&#Zs nlgI#mgCyng-~NT)0Ri0)wUC00000NkvXXu0mjf)cf6T diff --git a/src/icons/NOIX.png b/src/icons/NOIX.png deleted file mode 100644 index ae6f9fee616eb87866ac3f7d72a82df95418e4e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 430 zcmV;f0a5;mP)XIyMq)A;tt=*ixSX{VvVPi|A2Z6Tq-c2giM^M`?-k6IodT}g%_=v_na*?DIp6xxWz6? zv4Li%;X$oA@GD@)*hVcTaDyu}I0Y`W=From4SJQ3qa)Z &GD;Q|$SR4m}>+J37c zT}|r=UlY<)yhP(6@~ diff --git a/src/icons/Netmonitor.png b/src/icons/Netmonitor.png deleted file mode 100644 index 45da0d73325886db8c175199e158b94508731f07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 902 zcmV;119|+3P)vF;XLH4f zBnh#d(bpfWtX-R%zke3E2><{f003t1&Z`qsvtKT*rH%vx0W}h=!B_4@0H$e^$>q4e z8n-8|-TH1OcK0}t2T%ZRPv7zUbm7YRk|XVVroENgKo$N<4WH&k0J%bmt&Bm1RxZ~C z0v}XVXzf?8-`)@86o3npcTVbgdtYzYlZ1l-+M6SUYpU>+sR*EGS|ql0=2sqJ+YW1k>V5$$QEq0Wya2><{9T-Rk|Q|EeYf%tlYnYnw; z&*K+%$*q0SF`;+{>cc_$J9g666he{&uH$g)=1o>sR;aJ9N0wzOG!GzHO>E)Vj(E87 z*p-&n6MHQOkl=|>4MGTP+v4+2KV$UWLyR68W$gF~ilzlXVIs^~=vzuzB~w)I?- zXBOe)*JEt_rI9bXG$)H_=@L(8Eg^Yi5!bT@4-+XeMjn9v{(gqv z7{)MiOcWcb+7YHBXy9{`XikC(DNWd$Lx^Hhj=uDA=Xxp=6|zDw;HRxQf-K7nz4{9M zeZ6Rb5Y=6~X_o)PTV_%aDg{@dVzO4-{hK^|;J~BU;_5q!qDt}P7CRflglnsjB#D-m z7P9FSc_l#3*Fc?EAYp zJEOCi&SK;(vWCLQ;NXow^u3P&1OUMIr_N}<^4!v4Q&J_$HDm#rk;Jhq%t9W; zbs2f>#UD-{J$wvE0|)>B0DzCb_-4;!Y~k&D@r~W7Og8MZa&E1^@^MdF%hc + + + + + + diff --git a/src/icons/Onshop.svg b/src/icons/Onshop.svg new file mode 100644 index 000000000..902b25caa --- /dev/null +++ b/src/icons/Onshop.svg @@ -0,0 +1,27 @@ + + + + diff --git a/src/icons/Ophal.png b/src/icons/Ophal.png deleted file mode 100644 index 22dc9c13760b51d51cbfc45ecafc5d7ebc05489a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S}P)B(L;y1Z@n2AQAPY{08W2o`0g6zykC6qhLj~1|Fu(_@b}_QxM`-jg6JfwSr~yvM zg3q9W0t7VcLj8XqC5nNZ-B1I3@MsnQ;$u*kVx)m2r~y}jSOkk^Wu$P*#bv`vsDjr( z+zrI3K->((2Z8tp)SIz{0w@fKk3$3XKQ!5byjKgvJT%F<0P_9OhaJyo8~^|S07*qo IM6N<$f=ZHm!~g&Q diff --git a/src/icons/OrderOnline.svg b/src/icons/OrderOnline.svg new file mode 100644 index 000000000..0c8d14cd5 --- /dev/null +++ b/src/icons/OrderOnline.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/PHP-Fusion.png b/src/icons/PHP-Fusion.png index 0ccdba1695eaea79f952435d8cabb12eebd1a649..59aa99d6d870feeae75ad62a267758eb7ca68d0a 100644 GIT binary patch literal 7333 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 CbO=!Z literal 21384 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 diff --git a/src/icons/PageCDN.png b/src/icons/PageCDN.png new file mode 100644 index 0000000000000000000000000000000000000000..46788f4c2eefd0f982bf0d861e351343d326ea03 GIT binary patch literal 2249 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 Z1^^`U62?FjV6*@L002ovPDHLkV1nZP+$8`2 literal 0 HcmV?d00001 diff --git a/src/icons/Pingoteam.svg b/src/icons/Pingoteam.svg new file mode 100644 index 000000000..9bb795276 --- /dev/null +++ b/src/icons/Pingoteam.svg @@ -0,0 +1 @@ +Pingoteam \ No newline at end of file diff --git a/src/icons/Piwik.png b/src/icons/Piwik.png deleted file mode 100644 index 70af5df40e67bbf0a495e617732f9373367cb390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S}P)P#4u{Xs0BmYg1h1V->+Z&_vg=l4Djp4^G^r%J}%9>qOC~21wZcG`cDXaJ%9Fw zy&0Jn{3j0ld~olYsWzn+{C@l9=c9)Z^!xQIG&^3;n@On!px{Q1o`?WoG{9y5eEM`% zPlcKm0MX;pd}IZ{6hUPR?gY3aD|nC^OJxh5HP<35xa03mH4Cm9s68nw`1|DxauT?z zqeQD@3Is2D+G&^%z8pJ@%lQ;r@b~ZA6-%z_t5P8+|9t%D+m%aj^!ebvS2L&F_I0JG zu*08 diff --git a/src/icons/RXWeb.svg b/src/icons/RXWeb.svg new file mode 100644 index 000000000..030f86794 --- /dev/null +++ b/src/icons/RXWeb.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/icons/Red Hat.png b/src/icons/Red Hat.png deleted file mode 100644 index 914a8f8441c03587beb4ab9ec397efbee33a05da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 zcmV-`1%LX9P)exT zkuBLO3xX^#A&_iF#}dO)Cgi&` z1*{mdU?n$``d!S?!keAs_!U?E-MF@O$0DOthMoE+#Kau%$Z?FD9<)#~^WFF7m z0||O+%g=^oqI}nYM@UQfO!ofH)4@fV1Wp}03d5;Mu%Oohn+7v{J|AxO^dvJH5EBz) zr_1Gq*k}x|41|G4;I29azELDVPtr-4(PdCZ5c0z|K%Jd_ITC)> zswgn7;@PqX2CU^}F&e<(aNzdPP$H|PrKQQyco5^xa zNg4$>CIg5A(U{uEBOKap`Pt>mO{|)l8na{5C=t7bnv`8vLOi1L*a$?x{e)rOZv^pjIx8JMij`13!BvO~J0DXz1~8(( zWow*{5YT466zb$HE-JFIWHOms?cdK((t?gC`WG>9FI@p|2#$jYJtBa;gT291kS<^} z9D0-rg`LIaa@}7dn4cz02LU6UkmX%(7O7U8L3KV)E91X{Y^R>6C~VnuecwR}ZZPyE zo}emX*~=27Ba()`l!WIkULpa;_DiV1V1UzS&OjRGZ33}DJbn=a2pEM&o&!;-RN7fu zjmAdX0kM2`cAfxPqobqGN)V|nE(W8ag@3$=3h5gb?4oks-gHwStf;6kGc^k9sudh- zpuZ39kB>Xg$!tJM@Gh3uR8|@lomGR5Qns4+3?CNk6GPZV&*H0^PKWUWqnTwi8XH_U z>uPJkWV%jGGp`qy!2UHdJiND|Ao&yEk`|6U5!kv(W%%#z`yDX0;hfpPdN4VeI59B+ z)6)-Ob92+FXl7;xNQIoOsc|!6c6Js%ZfSw{-#rJPUb+Og1_q$3tBZOb85xH5wl?_6 zbOWRWWDEw7QEzN)ERlL2pv*P!@!Hwew^rbk9tHJeI>4u)e+ygM))mQc?nQb92u9=H_N+sPnL#->IvE zh7XNU^L8~{Xl}O9PDRLP_eJ;#ejMIjyLxs1v7K=y#6y)Y43J8tke8c7rRAyJ&8O4@ zCu6+uCeqWxD#uSVIF+AIcSO3HXWs^RF$rnMTjg6@TkvpditdQWO7iOK2pKp?pZFjn zL8Nxu@_1o@A3$I_LYpn*hm_r9;6K#r5n3v + + + + + image/svg+xml + + RedHat Logo + + + + + + + RedHat Logo + + + diff --git a/src/icons/Redaxscript.svg b/src/icons/Redaxscript.svg new file mode 100644 index 000000000..847d91f49 --- /dev/null +++ b/src/icons/Redaxscript.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/SPIP.png b/src/icons/SPIP.png deleted file mode 100644 index 6054c483d1a2111ea65786b3198ac71c4b0bc5fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1616 zcmV-W2Cw;vP)T zpZ=PfnjAi_UcH)p^5n_=M~)o%?eO8loz8!m^u~=F&gILO-SP49-qF#~l8K3luXI&( zb#=u&c<{iCkB^&Y2GG&b;k354`uh6%yafdXAq90$O-*@})LFT5W&YUM*fxFN*W25h z={SxV92_(rkH_el0mPC3ghC;=KAeVz2IubGyBn2sy8^$ucJ116CCi?kp3aMojy5DD z+0C0bZQ}Iwbd#BxX%Z6?jrN(5k&&kZ(9+W4KYjXiih{lr6BFaTbLY-#m&^5~WcBIZ ztY5$0ka%`>)@aQpkuo-MYHF%kv0{ahA|?U;rK^{oCI{P63XqC_4){m65I&7FN0^Fw{j@#{y zo}8Ra44WyWXAX7Lej}ik88t>u0W_O8Z#L=%TVK}rgQ--rz+lV!!~+l@xIA*?@7lOQ zAjb7hk`{{z082hGjV=cRk(ips#l=w`TYDVMUY_%;sHn&^HZ~f8wL5fcz3 zhk$#}o;??ZuC=|ry-sy(QlOv^|DYGoXmg8RYJjW~6(A$^R|iX%hTC&X}A#&cnecRTKdLv5AWKS0>>ku%41` z=GuXS>ycM&ZA-?5Quu^FOpCGE19;aW2H`|uVc}1DX|Ix3s{UoVe_2vi%jxBk`Ax}w zNaujWeyTjMN{#1_7<&!xLq=Ra`C%mL2E;3r0#CS>>FA#n%U{o*KR=7HC=u*QiYg2_W(QpZ7={%f0kT{GFx~-8P#@!# zgp6l;{?@Hq3qy@kz?y>!FW?i;asd#tdDS?C(_v5Wwzf9w2^7JMFvlx=s$<3kwqw~8 z(2!wRxgzaG|KogE)Aw{pSy{QETg3i?M)q#C?Cxb#KxWGlYy10xGlFw~6O=Oo#<{C= zW&-ii16k?m7n71wzt*-h>|GWGTrTGgjpJx)i@OsrD;>RjQsodYs-Wp2p;Vw2+*?t{U}S0sNF1BT(Ex`!$&D~Bp7Do#m-&*BpTuXE5nD$bHUFyRfM zK{Cb%1@pXag@b`|+Ra{A#x^G*D8R zYC7@y`2nj(-#vZ&vZM|e8J!A_P5d%5J<}7MoE#b)8aklm#&B;x)!*Mo46A{O5iX4Y O0000 + + + + + + + + + + + + + + + diff --git a/src/icons/Sapper.svg b/src/icons/Sapper.svg new file mode 100644 index 000000000..f4382d50a --- /dev/null +++ b/src/icons/Sapper.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/src/icons/Scenari.png b/src/icons/Scenari.png new file mode 100644 index 0000000000000000000000000000000000000000..bbfc2d9180589596f1db9a2479db7c8a59a4d8c5 GIT binary patch literal 1245 zcmV<31S0#1P)=s4STW zh{y|syZ}4^mP|{6lvI!cFp&+d-O*qW1rb$1g8HI4_MEe4_RjY0oc!}iU*WmCy`8z) z+1>H1W!pAL!m_Lk03g!8Mk$)nH+9 zk;q%E7F4UJ?ca0pIe53SLheKSIy!=te4fY+;I%U&sIOm?a5WCPActT2>gtMl!j|%a zVtWXv^*(pgz}zU6h$5(IYo; z3C{Js5OtT^^QTftZDjBEilf6rCvbA@2oiOdeMzrIaDmI<2=)VB5`oxo;9`OfXo!eB zf(S&t0V8}r9ua{z5J4owS)f;A2zvq%h|q6dM`QR6k!G_=o*8NbpsSXMUvol62gDF*$V-&5{ zwX^5%#>e$_BI6K`#~G;zno}wTZXDi(hl|mmA2C*+<@39m0*5hK2#eQ=NGVB zE)#hOEO(UPGvzVHVnHtpp&(!zT-#yCzDsU5_(_$Mj2j-6ZXF;7P&G8gF*HDtE1Dz* zfEOd+%5aZd7+vfsod`&km=~61HF`MXqeU*4g=8YByWA5D6j0%2Bu%6)xZ1f9tPs~R zuxQ%X17Ni41|QXe$2Z}_#sDu=;7CZM&IHj^MUlSBJK)@c<3t~r7@;C+vd}SZ0DIC8 zO?Ax>lX+~e%Mg=!aFR6iQfeF3(b>?7yPWvL)02IC9svFUha(?_oOhhN00000NkvXX Hu0mjfWBW$7 literal 0 HcmV?d00001 diff --git a/src/icons/Sensors Data.svg b/src/icons/Sensors Data.svg new file mode 100644 index 000000000..7250e013c --- /dev/null +++ b/src/icons/Sensors Data.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/Sentry.svg b/src/icons/Sentry.svg new file mode 100644 index 000000000..53b613be4 --- /dev/null +++ b/src/icons/Sentry.svg @@ -0,0 +1 @@ +sentry-glyph-black \ No newline at end of file diff --git a/src/icons/Shadow.png b/src/icons/Shadow.png deleted file mode 100644 index 6410565aabfa66c86b9164c4846427750f2db49f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 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 literal 0 HcmV?d00001 diff --git a/src/icons/Shopalize.png b/src/icons/Shopalize.png deleted file mode 100644 index c73389954e3db02e4b4bad89d89d26fe40ffe1aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 711 zcmV;&0yzDNP)h15c+W-NzU zmP_4q7k6`4-HvBBrn{VNZF6(BvpTc$>nUh$(jUGrfBt-){u}^%{%vSr_LS2>C4y8O z4w8zE4oi#j-2vFc$+vXashCJh;mn-{OzDDfIfGmO1%#bKu14ef;&6syiS0D5JX;3M zWY9cpL2Nq>qtQcrow4wC1r&<4@npmgM%4@2_y*RIn^@N`qHe^FUP%Z-H3ce?gjj5D z$O~9W%9UDv0gN9;X0jT1UI;?afxT^3RE_$;z3ax}szmq3jujtl*3c&7`(Oa$zC0gY*WnlelR1ILhAs0Yik_%o@WJ1BZ=Max?f zrnP`CFCbI9`rQ^S(7Ye%kR2?`W+hk(pi4wRPxv=?0h~Q5hXcHcDtxEYU>GK=l-`D| zvPP(^epV>7adQBr(epu|6`{CqA6#JvXqwI{F)agIPy(^R1IZ#;ode7pJeH?YKFTMK zphwe)WHOo6R?|b^+*POrvzT9Af1eAOH$r?_H@dYvlqn8j%=QG)%{ao;H$;2KkSe(b z@5Ng%^a&s}Z+LS6iN*V)YwkYIzB-6Dc^&SlFQa_C5aew>aI_SW7Cyi!M(lhOBo<#L z2avA%f3-?$P$?_Gjn5UR{&*ax2M<8q{s7>d1aqPS;Y)2Gdq%Oa>PzRovMmrFT6&Fk zaV@&%9-;Nqb#zX5U`C>Wd{POq-i6r}FJweu$Ks0easbjBuT+x3w49)zASgyj24gCF tnAADL5|cYR=%!K)RD>zA0o=d;;5V2i6V`32&_e(K002ovPDHLkV1f~KIxzqM diff --git a/src/icons/Shoperfa.png b/src/icons/Shoperfa.png new file mode 100644 index 0000000000000000000000000000000000000000..b6bc62af867d75ff890432b0ae6c4ad45d8974de GIT binary patch literal 2046 zcmaJ?c~ld39uFX_C?FKM)=JYLieQpS2tl$0Aqfab5CTX97sxR{#AI>|Bt+!&;4E7X zQ7Q;Fg;I900!ENk!Xnag1Qp&x5d^8iB8!DZ#jVBe#ER`7%g%cBa<@Vmg>8@K;K~FlBH!PnpE?;A8fAp*BY^{qSi4Y9Q5+N~~9_EIQ z6o~kcT=ovlWKse|GMFRcfdLFE2I1ob0zSnRAQ1^fGTE0-@*@y@_tM-+due1JfaXi5 z(TQ|mjmv;|$wE*BuW|XmaoyMD>Wm;1Bas=PRFDGl{iKi({jOk&VEtT3>*~Gd^4HJB zZCx%NNd~VQ>+i>6fu=(yS z^PEJ|QH8g?NmsTlde)+V<>|?`& z{wH!Y`pbvM$tm^QkGynkc((kMJN~D8{X^M3!_<%aV{BN-Affh zdz55xJKMP0@M31H^HUAQT<@?pi%Ym^oRVX*G5ck?iBEWxpuV@we$hQc)TBb~3jgw7 z+0mB9=S!+XogFpPoqeRzzRBovxMn>5KUWUz=y&jBr=w9NQ?9{#?gpjL*e#m-%R0?| z>e}MzN6Ja+UY<&S+bMo*OnBh8*j%95HpR}0TWYS*Jj=eq?XN1^8OhcJ1Eb*E9OsIm zd7ME|%xdS)znFJ?B+kny={4V1y0kIp>$2E`hJ;;rp=Z7Sazbx}Vf)BRMBeO|S>nShl# zF+&8tlZ?+f%x}}|_mcb5w6}vBGRF&29!e%G?hL7)Lfn4LaO;s_|Ij|`JM%l#4sj;1 zRU?LWGGfPMQDJ~Xx1cY6PFqxhE)}Jjxp}`B$K@2pTum~x!A78 z1x2fIb>IBO?|k9;dde49>l#1HhP-@E>5iNDp(nqi}T-~Qf&~R9XL1p zxOO**Tv?X`^;%RKJzKa=>vAq)u_g0AIZ+?je|1wfDwvpYGMv)9>6m`y+Na9jFj{@7 z{_&ik*!^5>_n|8uO08L_RZP=2?QI2O)5*#j`Q+Y!-p;u%BZOO6%a@{_9DHOoT{tQk zcWjg~3PSF8boChngGZeHVL=^Dn7J_b+%|iGazddhI(zv7bVk+Ce!BVg#15vUsXZp} zjfV|a`iL~pP#5m}L#ma9e#YCSPsWy}B~jV8(iDds2AhiSXRBzKql3P9y-T#!&)T`% zQwBC?7PK}oC(6#M2U;wdp;kkSxeG40Jnz64CsrooN=7oBC+$jO^iPhMN%Bv1Qyixa z%3jYk3up7)HU~D5cimhqP*N_3IKe9~o-ZzUct7z894`Ov7Q_1Z&t-qk)vr9-J2pz) zg8S;*FfGqL*YS#h!>J{?rP%Dq>4MPh4--v}Q!PH(lll^qMduXhm%fU1PI!{kk$ literal 0 HcmV?d00001 diff --git a/src/icons/Shopfa.svg b/src/icons/Shopfa.svg index dafcfd5c3..9898460dc 100644 --- a/src/icons/Shopfa.svg +++ b/src/icons/Shopfa.svg @@ -1,19 +1,20 @@ + - - - + + + - - + + - - + + - - + + - - + + diff --git a/src/icons/SimpleAnalytics.svg b/src/icons/SimpleAnalytics.svg new file mode 100644 index 000000000..772ac7923 --- /dev/null +++ b/src/icons/SimpleAnalytics.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/Siteglide.svg b/src/icons/Siteglide.svg new file mode 100644 index 000000000..113d8a863 --- /dev/null +++ b/src/icons/Siteglide.svg @@ -0,0 +1,12 @@ + + + + Artboard 3 + Created with Sketch. + + + + + + + \ No newline at end of file diff --git a/src/icons/Strapi.png b/src/icons/Strapi.png new file mode 100644 index 0000000000000000000000000000000000000000..065887ab78a9a29f1f3fdc90adab8d20c59c6d2c GIT binary patch literal 8670 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 literal 0 HcmV?d00001 diff --git a/src/icons/Svelte.svg b/src/icons/Svelte.svg new file mode 100644 index 000000000..4bf279659 --- /dev/null +++ b/src/icons/Svelte.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/src/icons/Symfony.png b/src/icons/Symfony.png deleted file mode 100644 index 0d3b4de8eb6318521b74fbd8d78f47d87ce2fd22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1107 zcmV-Z1g!gsP)^Z0VzI$9fx97R<$Elx}>$>jif9~r#=eo{qFxYNi zA>SjN$e+j#@=0PBnMa-@KO)|SJG5_*X5MA5ACW_l(F(#_)ee3G#YB)SRg!uS)ZYwJ*1G1&1C2(|f zG#~$qD1Hz5PncBG3KSO?!{y~A)Ya7~ZT0o_rt9l#7#<#G2hHX(id)fO&)bKGhr`j) z5uBf&^WSp2tE(#{Cntlar>CXop3CB2O2MHj5E>c^9UUDoH#Z047tN zhybI}$PV=M^zbtzJUu-PGcz;n$Sw0{8Ki(v4J?|3Y+zvEMqfZc01OQc!RY8H$W~ff zsyMK+vcitLxw+luzzcF=!NE8BeSLkoUAC;OEMB4X^mJHWUWS5# z0&DT}H#xAOHh@xRadA-*SXfv9Z*Om-C=ikS8*UUHC2xT^A=A*ivGU7KHhIyZn{i1H#gzrnnCi`P0W4^z6)K|{8&vBB}6!+|#Q+t435vUDBe(wc&Tf;cYZ zzNn}uPRFaOE6C2yzD>lW@;{aG--(nwsG3>|An}z)rJ1z!9-UqS$TOm&wwN8TVaNE7lHakq8S Z{{aedc0{0jkf{Iw002ovPDHLkV1oJ35rF^z diff --git a/src/icons/Symfony.svg b/src/icons/Symfony.svg new file mode 100644 index 000000000..673baf202 --- /dev/null +++ b/src/icons/Symfony.svg @@ -0,0 +1,39 @@ + + + Symfony logo + + + + image/svg+xml + + Symfony logo + + + + + + + diff --git a/src/icons/TencentWaterproofWall.png b/src/icons/TencentWaterproofWall.png new file mode 100644 index 0000000000000000000000000000000000000000..650138c868bde9ebd9faf62c4a03c76e24013f8a GIT binary patch literal 1159 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC#^NA%Cx&(BWL^T}FfdWk9dNvV1jxdlK~3=B3ERzPNMYDuC(MQ%=Bu~mhw5?F;5kPQ;nS5g2gDap1~ zitr6kaLzAERWQ{v(KAr8<5EyiuqjGOvkG!?gK7uzY?U%fN(!v>^~=l4^~#O)@{7{- z4J|D#^$m>ljf`}GDs+o0^GXscbn}XpA%?)raY-#sF3Kz@$;{7F0GXSZlwVq6tE2?7 z2o50bEXhnm*pycc^%l^B`XCv7Lp=k1xY)R;b4BdxOt+WkIt@*6epkG2wKKhw&d%}%^uJ$bvJNa)46fr&E=uNbu4{d7Vq$h29g zFWB7WrsK(|xBnQIc5|L-)tz)rq3Y>b8H0M=S9W##d~X`{yVjg=d11ZqUMttPXjyJP z;rv;9K2CIF3VZjqDO1Iuk>UKB7SaCB{o7y3ESSlhFS~2WLoQjrfOQKL{MVj)J^2Sm zX}ZR3O<$i!lk&D&c}uM+`g=05Yx4K%C9kjFYL@)+fpNM=bp8Wv5S)<3%JO*Ec3n18 zy>8PQ7e;x7pyFQvqI(XhP0_shqV(>|;|mR>Z<@F3ahb)gxoO(&`A+TE)9@E|@Jc7{$D(9p=NW)ul6n(<^;Q7`W; zZuR+#zI_z5KD%v=1LvHwTrHN#yOyo3UcJP$d;Ybn=^GELOC=~zGmg9;tGBNA|2ypu z`@c(&5o|4)d=bw>r~Pwp@6XVuJY*(iO$J68Hp$lqeNEUo)jFY0_;Hz`YXMx}7| zbn_X>htk?MRyWvwGEJFt)cTy@=Vg0WD<97L!lZm}k;~qOc}fSR|13UMs(m<4v)C^7 h-|OsKS(h0Zz8D3@O1TaS?83{1OO&&+bIA5 literal 0 HcmV?d00001 diff --git a/src/icons/UserEngage.png b/src/icons/UserEngage.png deleted file mode 100644 index 49f2d16afc3e4fd4a3b03692c0064c1373f9888d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy`2jv5u0ENC4BZcjLI3~%2Px}% zSbg~Y^|!zHrap07^NOke@vp!C12(*#bLq4C{O8$w-aY^FM{3s7ufP9UE`NFE#m_aj zzHYnst^3r+{g1xSy7)OxbjBp0)qEvEe!&dSb)_B!dH)TK^ZK=Oe@OP<7@*7}PZ!4! zi_=#pX9_hd@U-S`y_#p(ZqE|+2v_Xn+0SGESOSTaRx x+kthLQ{QcAyXV%zxA)$gi*9^({|5gls6W%E;%FA_H3#Th22WQ%mvv4FO#tlD%6b3* diff --git a/src/icons/VTEX Enterprise.png b/src/icons/VTEX Enterprise.png deleted file mode 100644 index 7678318113ffe13f9e769de53bd3cf1df6960cdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U@Q#q32_B-LBPS`e?0?(R;Y?+ zu8d{ji*5!{hb$56Bq8%$bI*Dum$Y{?859f(fKre9_@vFUC5_YMZ3|?a3e_wNRUC2+ z9131cV^?-BRIn_5H<3Zfu293JP}#0X-LX{G8py6tvMthatx$F-RJJdEH-TBvzC_if zOwp!D&7sKIJ4wT}RKum@)nr~}`w|7a0%f~mbs)p0NX4P_%|sSO`(hRQVkNtx*ORyu z?SX>Ds*c6V4#jE?B|!4cMD{n6*p(fMl!09PLPeWGc^jZDB|!B`_Qi^}g{qFFKsJz6 zb}Ry#tY};GW+E$4MA5EL&8Y;aM#Zs2(XI&Su-B8=6o9(yihx!F#epI~aiGhAmVy{S zGr=N2jUW+QknEd@Y(TaW&{(iWAOoldYBf-eeev5#tcpNEhypNo&EHvjfdO7w666=m zz{tYF#?Hyj!^_9V&o3Y(BrGB+EiI#)`C>;pyWW6dE288I_!xmX=vo zQCU@0-`LdN+1)c?%Cs3XX3m+ra?Qp~Tefc9v+wZXqbE+BI&<#axhq%h-@pIx$&0sd z-@X6z^FSF~}CSBYPK zcf;&UN}MOG)mQ3y2^wzH5!1Hba_#$p7s5w-xc6V0rm^n!x3B5RM;VV6issze+?BFo zwN1K;%fr)dTRw_UlHa>qMEz^Qh3^ihlNA{Iq7IwHUQ=jmET2{OU`;{v#iALF|ApA| zJ?nn=Yn#N!B6x$ZD0Vz2eh0>IUm7RlW0A uH8sTI)Y + + diff --git a/src/icons/VideoJS.png b/src/icons/VideoJS.png deleted file mode 100644 index 1b8a2938e2c22a3e921ed013ee4c82321b4a4469..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmV-70m%M|P)vkWrI2QW#0 z&s9epf0M=V+n(p?bnZP05&e8Z`L2QLVD$&8tk@l^?r=)5vjYg)U;!ixRdqs9*uXzG z(BsNU-Fz$y!>0iRHLeUxPc%Dc1}x3n078B^G36t;5Ol(x88|~kDH+ps*_hG`b5;?@ z^u_WCUp!B*3VS8pG81qCl5D{q$klAH1Y&5nJ3z3_3|K}8_1~0x_e(_Z7be_DxUO^M zg>|y0&xo)CcJe? + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/src/icons/Virgool.svg b/src/icons/Virgool.svg new file mode 100644 index 000000000..40367e96c --- /dev/null +++ b/src/icons/Virgool.svg @@ -0,0 +1,14 @@ + + + Group 2 + Created with Sketch. + + + + + + + + + + diff --git a/src/icons/Visual WebGUI.png b/src/icons/Visual WebGUI.png deleted file mode 100644 index eee252976c6447ce284ef86943fc687e7e5f52bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1486 zcmV;<1u^=GP)-*|kt5#JBJN&NhAqQ3g z(2s5>uLApA!Mf($DH+$3u?NQh0fZ@VPL*FoIT0$3Wd$2R`S=&esq@j#G8|d2XjCu9N~t4rG7_T;e5w)&!|J$AT}_a~Syi`0vO=$Ci`WMqqsf2ZW<* zTrXj~W3-56FRHQvnqaHPgM zZ&~0;;G{Dp#8e2?O)i>X3854|&B8 zgif5Uyt`DP5ufwVG zyc7C(Y8-;Iz%=tb1I<9PM3G*S8_U28&?ZDp&BzcuwQ~$qc!9GxR}EPM4q8QP<~1n^ zZOHgUnTAA{K(Uz{;z51l%P_=)2G+~ntU0e71oi?df@>>7+BW8rwjom(aL?}DlK!cI zLr{giS;v@l*kN^e)D-C!G zjBTpT?RgbVtIoHZK1Jg74Gv*XL{COmcdT*PfG!NI0lx%{jKs{|Cq$^sPiR}Qg=>!k zTT&HiJ9dDv>Lz6@GR%?!GdA#XLSPmN%EGE*qga`ci9`l&%gPj@Y;EUs#5QV~x8*eg zcg=|CtfN*+z^zk<2h9&w}jY>=$aCS>> zcH`W%^G#sJ(PSJ+=q1n*NMmD=NfMHIk{b(93ylQ+?@&(L>`(!uiXC*3e3*=yi2<0o z5x8-*=2@E`(9?Nk8h6XcF(z5*shEG!%1G=Qs&aD<@p$ zIEHejQ30_GomnEywvIjx!Jk^HfYk_%zSLC!oXH%=oNVxez~`D&s3sILwWL}$<(8?i zY(^v@kts-t20(<*fFGJ^csM9ytMJ;^?J9<%&F*oBNSDlLy9((5q(lK9BHhEyo>1gR zj_00tDs48`$vR|8G#S4QaI|whP@54sWIKGw*q}|om7kR_MNsTJh=}IU~ zVs?s;j%*5EO0E+EGO?|hf(W$=-U%n_^SoKd!-{O(lx_i&u85k-<2oDr zbUjI5N%U0)P8aY5u;G4+3qadvmyaXAcr*7cl=pJaKVog%2D9^$z5TS&(D7y9=fd#} z@XhX@HdU6+k<0;Mwx6}KGe{nQxm2k+X*GGr<_PJjIF9GYeclaw6 zf+}YPj;in$@YR3D$V0#W&BJMXJkOEa2JxdK*OFC%{T>bh_aNK|Twy!HU`6&E%Fn>@ oS~;3|egvw2{}=ggx^u?-0SKw@@)|U@Z2$lO07*qoM6N<$g0a)UCjbBd diff --git a/src/icons/Volusion.png b/src/icons/Volusion.png deleted file mode 100644 index 20e6d109a822f959a4eb346ab9abbf2a6d956252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQsxP)C3`uXAv%`_Cz8h3{vc=Ko?eQK~da1w6xXRV``1(O{k2`FOM01fcW`-nM zeHBl2-skKpUxB8)%D&FnS%RHtj;7e+=<4tDwa3#|fSXNvmTQow{Qdofq_^$z^dVS$ zcbTqklBuJ*$r4R-2}W)>YKmoxq?E6~N_UiipR^LQYHR=i00DGTPE!Ct=GbNc0044H zL_t(|UVYCs76UN=15uCcWe77f-~W1P{IYfvb^6^HLp1+G$&%T^g@8@99C)x343MiR z0hg{+4Gl0Fs|KcO=3oF?simi;j|bLDsI=h+TkXpIfe!5Pbk1!6T)5r{;hsI75x}c( gF}&+f2mf--7qemoM&5s@MF0Q*07*qoM6N<$f)JgQcK`qY diff --git a/src/icons/Volusion.svg b/src/icons/Volusion.svg new file mode 100644 index 000000000..34dd13831 --- /dev/null +++ b/src/icons/Volusion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/WP-Statistics.png b/src/icons/WP-Statistics.png new file mode 100644 index 0000000000000000000000000000000000000000..22d1c580f3863e3940700ee5ac96e885268d35f8 GIT binary patch literal 1672 zcmV;326y?1P)`5+mrlq z=g$1*obR0H_a_VXoMr~%fFf`ya1F2w=mBN}9_R<21r7lFfLDP8(CL)Ewzd;_3jhHy z5BM7JO<)dCPmK-(uK;;qK?=|TIpCkbX5evPWI6!hG{$EE8-QLQ1dap00rmn%QxJ_( z1U?8{4}1pL1Ny4gy~XmH@Y=dY;9+ z*EUlC?*bkJuEpH=0nC->BGvTWWx!LwHsEJKNAt$!5Of0%02cyZ0UkL=!_CqUtN?Zc zw*VF3S3s>5fMSaJ3g8RpYFwB$=5388N}OJ2V8%u5`OuhBNtC2jdQQl}*ZNM>L zKdJGtLGkpK zrULCb`S9xQ=>E^1pT941Y|w_}8;^Oqs)=@2tNz-tM9*vbh*t7;;DS^Q4x4I&jXPpb zG&geFc3s)=-W|(l^^^j+F|I2$uf(cU6J;c}b*AbU^vnrw`$13Xp-X0m+Y}Z@4k8By z*YfLs4Xnoo9S-Qi`u(^>j_rxE^q!YS`?nvhQuEC1$V*o#C$#5;C`iju;LVC(wt7+Y z`Q9tq+gB}&*434FM^1>G;Lr9%4{#$kEj>(h!k}T(?tCEE#LBwOFO(&6?&84d>e&VN zlSKIrm~oeeAt?oy9XMH!a;|dvsgrSMPUMq`a!`b^kyvTZ3BiOH?!t0yUv?wJN@8L9 zeZgO6R~F(urGA%FE}Al81wqEw-w~-XHLhrK5?>kxD?2uworbo z@SMQzz(F-p+Cl+X4tx~&YNJa+Y-X>-GV?m%Qy8Fl9mh6LUe*rMozXKFlB zMh`2z-w8n|@=FmCVVorN0-p#Sca&rOUA?A-dS1Hb7o{7xK2hq809->n9&I$<*a5}X zk)biYZ^gW5-R>0~o7OKWtRIZ^5O7$4AnlZaFcLYwbgJx^e0ouI&(5nl?)*?^ZtHNY zo8PGVW9h)!lI8;r_&3JyRy87%Gz8^Xsl-Y-R$r;}^xV7*eEhs9ys$l>mPlWm4yeIV z&xtdh*UO$0BmU*eaB|nx?}+Bza8Y6YrE`K(CD#49KvaZx0^h^9Cc&(AH+x_VxB+-3 z1vHLA5S-X5g$(vr{NST~wF{m+6+Zy{UZ6r+l3^g^(p8My(O0YbzC#1?(nBZXhsz0n zXv;}e;9lS|V9oHJ+XpjN+zFfj{)JJnNup^n2LeMiEsj+D;;7(Gb>?L#$@+E+!ca|E zoOjG0t?Ti8AOoSJCk^vn;B&97?HuO=r?CdngRz!LlI8$vAVvx0rJQ4^x!npt!>GG$Y;@m`(e^I_ zeVNWiPFMzR29^SMW6b5TMgSftg+ifC#;aq7axX?gw$i`{;cQyohYgBXFm}ALS(6jU zIi@5eP0|JY73+R?rU0tb0RTJotiih9CahB~Z`?3F_XLb(eLsEoD&VIW*Bor#IMvCh z5BM_hUEmVnFIa`#gw66+5&>6YE&ab3{~yBoe=l&R)k`xuoOS`<0=|Kr7qi3Z0Coz_ zV>G*+366OLbN61X$+dLaOiss{IG_Yvj&;nBV61jl`g{O$_mfy_{|_@fp8p?X+Eqzv Sg`x=n0000ihfr0s=K4AWSJKR4OV|qN25t3CbW~J!S66sgSb1Y(f@*4raBz%paE)+rlyPy6a&nJ)dX;>Aor8m% zhK8Pqh@gpypoxj6lar{Elc^vfSOx|-BqUIwp|h*2yt1;wxw*%?yUEJR)zZ@2)6?EH zHC@)$-re2g0IXPfDI$}CIYyJKHl9H&Z>a{rl0004WQchCS`&4- zs7b5w4sBR%DjKR;9Res;Hgs(&MWB-lQgeQ(1#=w~vg?KTq;2y}EY{fq(uotpKTfab zyoPy7q!Ei884{)az9d3CMq)@USG?XtyDe^4u9hj}eRZ;SKcDY4vhK?R-e<|JP1;+^ zCoh1^&OfIy_wO>$zWY{rb~wz+R{sk|-1B01;&932z_JEO3GE+nLm1jVfMf6g0000< KMNUMnLSTZ7FYjRh diff --git a/src/icons/WebsiteCreator.png b/src/icons/WebsiteCreator.png new file mode 100644 index 0000000000000000000000000000000000000000..3c25e14aae94a4507e642156a0b1619bbf216bc6 GIT binary patch literal 18990 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 a>CN%F_u#;{KJfRZm9)5mSe1yr|NjLdT^cF? literal 0 HcmV?d00001 diff --git a/src/icons/Webzi.svg b/src/icons/Webzi.svg new file mode 100644 index 000000000..fe3ed90d6 --- /dev/null +++ b/src/icons/Webzi.svg @@ -0,0 +1,18 @@ + + + + + logo + + + + + + + + + diff --git a/src/icons/Weglot.png b/src/icons/Weglot.png new file mode 100644 index 0000000000000000000000000000000000000000..33da33a8aa270d26b71632089fc58bd7caf2717e GIT binary patch literal 3607 zcmV+y4(RcTP)`6A?r5tH!%_Rj*;Px*P_Bx_p(rzW1`#?8|@Jk6Xl}l$TUHG52XIb zJySn7;aQAPd^{8z1zWE87N{}qy!q$~_`gNGYr4OF8~ zANU;1-5$l0Z;y>izd?dqD*`-#7w`n$z$19Q?m(wL@nk7X#W9%JLhu`{2+2z^c++^k zX3_nH&;7T?9ZGn*IS9Nslr`jPyk8IDIWDh^jUG%uYKiJ}GZA7peZVVtz6N)o8UZV>e2l6H6$e_vRRJTARQbGV<*6!>vINMWWV)(24@3p1 zz^|0qS26N|cL|IsO197$o)PDZfvhUbRZ;Rv8H!b&5GrF7euBip6z8dmlgbmeD;X;^ zeWaGL(VFm8UI}mo$fjh~LY~^#h`o7u8bvfjT(y&+hPYmT#xN$vH?E*i{Xtjn3NmFc zf{a>dRQq`zIJ-%s42o;+DrwQ&MT+8>nl^S;YU1cfP-Xf#s6{gu14Z3im{xmT_*1Z{?;YjU80;Hv@@Rjp=Eo-c0?e;qOzp zkBeG!A65=qt-Uf()-Ar+Q^x$!11mboV5> z^R|IdLPe|3Oi2@sv`|pAgTfl5@JhPrm6zwygz;}s7S98kIB@}GX6Eoc7qw!+Y_?uZ zj|t^J+4Dv6c(Uom7iQ6j5z{F#@lPytI^X*PQ#Y!AUlO&6PnXKAC^zsBiYgiwuvz8X zY=bBzdAzrzxRe6hPd}aJ%*sg*J($cZqAQ^(e}~mvxpEzi&YUGaH*cnyGp{I^ew=c1 zmy@~qd?ecEpC9J?@xmfrczz~*^wB3&@b!1}%P*IxtgNiOZ*g%66&0POJ$t^OxpP+V zxEcIRCu$TUT+2!c-k3<2s4Urn)bOZPOP9}P>+0LP_W)2kk_kL(^o$Jkt5&Gf;U!EX{ncF!#zz&#&bUH z-tprnsc)Z`1fMMpC1`E{nQf|}@`~bP<3?$vc%XL86gqjbP+K7|=1HFI4e+h;J}xmNy&)8)albdbG-J@gY}bma3{sLc8gWrBv%zmP}VXe zV+z8SP(mBA`dw(jg1>13n*;}G_s^ZXK)ZK;K}(l@$bk0_y*~e4djI_`!evx9xqy%rGDCJ7PGR5^D)oh_LMR~hXP+HZn)PF9{`^(MU`ZX?52ku`5~)MG zp>*cVdDYjjmi61A99RpxOqx)}S6>}B#tm>fEK z^aP>7Z68e-4xEAOL6!=`A!N7VD9TU(z)JaaPnx2@5Q3YShOa}zPyqb=O=DGMKV>cF zII;{zXcGST{By73o}~q-@0BIZe02#w*OqGEJqVEpRsRfkp9rFYF<^DSZyE0LX5`c^nQLM5{u}Q11a<5B9DLcN z9P4Lx?AXW8w5N_8P=xi*Hy)^$4AT!Fq{sbXW!gOu7U14miC9=QUYV4+017CQ=Waez zz78#7b=j<50T^l^b^iQCG59Cis_Ly@-5V;?*AEkFzzBMWaV2zHC`?+N4QC^rP*IZMKQ6&?P% zP}OqEDCD6SFU(9fzU@^Rjr?;0(R}%2ZRU60mTiAlnTh6 zIF~{1*icOh^AE3zL6jJ6@-T_Oa<&XgiF z7wAcoCe5#m*=q`Tm+{Kv0_9;)ON0VQ#$6Y{5L;B!p!$RtE?feDv9)XnX)T$fawtFF z7|$5vGIf9A1*%hPkYDUZGWEN=22t;)N72HCd7M(O_M=6M@@Uqqr3~0&Of98G6oL%E zwSYv(NQJGy5D5oj`SfXTnFrOhylvZO+%Jxt&WT*GxFY-Niu&<~QzFBAFF;Z1nwPhU z@3*5z9?mek0pd8~InW%!faK@y^7CW#?TH`dSVqXc#5Ick9Ey>+VXtFOh5a@|6%{a1 z=c{#B3N{;>hE*G#IUAF}gf(k1e_p+M1NVvH^44o$R8tU?=SiQ8G?#PxA+SOyLS=%; z?vSp-EkrurrSmZEn?M^j>3F)mbq^Y3r8VK{r!q09wq0 z`lMD6F_*+N9MCJi*k1z+*t|t%SRU>!a5(GP<3+m7Hb7K#)jneF+RcG(z$m@|K8w`= zA`4|~gy|aNY0n%za)RDj@pl?CI+t9oY*C?}I&~3h5Gbx#DG-U8+_d#Z7zO(4B{5YL zmAQZqWL3`x(=a7~p?RX6JM*zuhv0A*8M69Na?&{A&#Ha@{ZI5OTN08kMs;zp!PitU z$o0mfN(li1nK8mhfmJi2h_1MtoaNvPTWH{ibx{-zrD9Pswgy8Pmh2p&?83ZN%NjQi zz^5v)OvXN9-@e1>BEfGxECU4+^b^#KQMvBDiM-`a=WVr?7bry6LofN)1aUDdZ`rbs z5Ft?9F>izQvbZ`Nz+r*r209pmc?ba{S5;X4A2HkE7din_@Kfv~6!`UJ@VlMe1Rw^c zRA21+?*1*x*#l_Dr~86bgey*Z%oYKQn=xZC@Cb_#`d~yIjp4Wm$41f>ycTW%<`L=` zp~n&$VmXi+?t%NJ(20EnfD?59SyE5HQ5S>`RIJ?krU*-Vor@@iTw3>UdY&KHU~LY^ z1h}a@B?^5s=65)XgF|S@YKLe}NZ{jJHt(Sk!>1v}0%Wwl_zpg}X3b`t1R)g#J_H}P zp&c&9_nml#nRl@ne~1{)hb@;a_Z2uD+O;!Zx?wlLSG+96hdLa!JRUb&fwdyAYJ=G# zDms)@2PYXUoJ8RY$26)@VGWX@FjxeqzhfBn7xJOWDiQA&zrBX$&RtHUN6%&ub;H~d z>JX)%U|7^u9gpiTNQ8bnMAqn1Dsx0OClyhEJHVKBZ9NRa=>TG6hP>i#l_o>*O1~mg)n1Z< za8QOM<1=vMKY2;2`Zc-g7bUA-m92hRy83nb>K{y0|7526M^n{5o2&leWc5#HtA9NG dfB*COe*t5~p9V%dmeK$K002ovPDHLkV1kwizgPeO literal 0 HcmV?d00001 diff --git a/src/icons/Whooshkaa.svg b/src/icons/Whooshkaa.svg new file mode 100644 index 000000000..ec20e27d5 --- /dev/null +++ b/src/icons/Whooshkaa.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/Wikispaces.png b/src/icons/Wikispaces.png deleted file mode 100644 index 91034ccf26d36da8d9c8941c19ee2b479b2aabc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2412 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 HL(KR$)QtYB literal 0 HcmV?d00001 diff --git a/src/icons/Zimbra.png b/src/icons/Zimbra.png new file mode 100644 index 0000000000000000000000000000000000000000..f81873b391daa697ad66b6786a9042c65ddbbb2d GIT binary patch literal 445 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 R9e4+Tf~=}cjT9vG{{bbWK#%|c literal 0 HcmV?d00001 diff --git a/src/icons/adobedmt.png b/src/icons/adobedmt.png new file mode 100644 index 0000000000000000000000000000000000000000..0a74d4d36fc0d7b39fc3fa47f98c80d9ee4b0197 GIT binary patch literal 6284 zcmV;77<1=|P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D7$HeSK~#8N?cEEQ zP38Uv@ON&;kTGJ$Fjow9x}HdpF{VgvIirQnagkQS$prb*52=$^?jbt^PH!{-tSub+wR@#@-F4Z)Wkv# z+yM{6OYjx!gd;!|`~g3}yYLK5gkI1L+_(v8I>LPT3HCt=9EFM{4%VM=5Q^b#7zPc& zjT=*w2Gd{@?18^PDx{qb!;kPLTn&-n#*N|B0G@8V1N<#5l`I@>hR5M-aO0*@YQaeO z0HgxxhX3V!0@{I_YMf}e0$vBHC{DpYZYMxGxTz*dg3%xq!s*_Fw&2d;9hzi#8Ke)t zy5S=>J)tJJaX{+BR**jI>W+^T4T2bOqhV^p4v;=vS9$+~!Qe)d@L9+85Dv$)b#n+V z12P1}cRSG0FC%EiDEZH5WI4DoG2=nn(c0)XtQi%)mrGNQmz=&2%wf zDE;iZGfo*LpC$*WyvfV4BTbA7>?VxcAemVC`z z`8_qX7phgdfV3mDlX-3e6>YpkEVRVmlGAsJI=7SGTSH$%wFn`NdeXNwBuF=#3q9Glr7ZM1fh zo7JY7pLG(8>`R~}r)`Q_pCyk)Lwx$5*Tr#M&H-tIwRGp=)?$gP5^%}k+n40AXo}ZY zcU0m)+E6WBctr|LD|7j*KY}SaUzY2jlSHg9I3~}6w2@jGzqXxNU~i^vyqE^g`8%D{ zDT$IYYEg?!Mb})W==H}?-0vzBxeEI~kjJDkM=UAL3;#$Pr={+9WziJj5?aahk1wIW zwQoStG2U-nt`VcCTMi2RL*+t?HYu7vNq#L&@ndSV4=)oeZJd@St!pn9x~zhCb7|-k ztth5ul=vEwxL8H&m!QO7RVcOK@Tc-?XzT{iHj_cxC@uYCR12E&zFh3GhAlduBBT6Y zb|NZD(MB%1Q0#KPQM7of{2H3#qb*UOT@parAZ-~r@xwnzV`~}z2Ct}g97_Ccg;ERt z{6bMgg!~$sdIYq~D6`+<1zVWHH5w&%)!Ut^gN_Tk0brNL`!!kbkeQQ@h~xg8V5zaNOpb5Uaaz?6zz z)}Nore_vx-T&bx2dMRbaC&n5&F3v|?64PsmuMvpUWR%!I$@#c>Mq~LkG#1u3Sn!e( z(xA1~ZRoKz46DK=Ps%i}7(YTiY{O@-q(N(me{dFkWbhgll)Pov zWbt(Z!KeL=mYlXKignKQ=8TV?m&b^=>yohL6 zJw%spX_E%3wV9uH6pQRj%WlC>S+4CO7ulzu@GnP{{CXO@7Q!ayf;32NWwovs&^6VY9q97m&Bga9YvyRVw0^@h=d3LGJv0~c!-@PHc4=VR z%DyhuuS17Ey`M|@Z*`ziOWV*@V^5>@H>A?Y{)!e(R6{F{R($D&Rbo+t@x7v?`tmkv&epYAx`Q+btuQ>Z-pHoL&tFPv<>lo|o}WP_@Z0o;wD)77sKNM7QI8JtHfoNa6lhzff;0%N zwZ9>arW#mZ#SlzSM!b|wb(VB3Ew@M6l6(A?pF+RB8D-w|>UYA%lKdS<}!GaaF>xu?)yn}p)}>9b|>Hafs1U`vWY z8i3XUeME`}Uqha_sH0eJ4__ts*q)zEB_GMG(E)w|%kuz8 zZ?3&@FZ;eDXxjRV>53H{C~|2JvA{+IQ*!o4UIzX0T&*gPr#rahhrseI2IUK8x<)=?b$vj=aQ{-LpzAdEOiCDQV#)Vrl(lM#(+4 zPHgCPt(ITkk+;zyEYIs8y|MPBqbnoUwinA9C^JjWN+vd;;JvQvFuUaJ&qQ zloV-vt@JRr8!XTDAicR>l1?Wz_?43dXE!~Gl6Mo!X%<_iD}@=fwQ1&wlC%G&wV>?S zIC)>_#g+@ST7&fF`ZxpM)`MOuUvSpvWl}F(CYIAIc9eW?ej5Frc(ULg2h*Ct4q$e%UZy9KA;T>_ z!eVvFkKjk=hdHTYsU>@1Rzi}z@4{0q*pihX4Iq3(Mw9AVNUFad1!w&hlX|iIs#j*R zy5xtaX3)0GredMJ;iA8qm`XMDn7;5joVKI@qydD7xVogSTOgOXDtv@xk-pci>=>6u zdlQ?BWvcZs#IVjZdyZXR$sB8X0W>C+Xq(t zqtlloX)UNr&D!$54ZV$ETVg>PL};CNJ*h!!+-FYn{fnhUlje3pviQ`X(4`al2nrvEI=%dI(HZe_`jU_SoU8NrvF{SNCA( z5c@Pd1EpMExun6mX*H?BL1IaRWo5~~zdpG6xHo$sCp@luu|4O2G!T2V8-i(tP*AfB zD#AnRQ9h+Imu@u9?mUSd&$VO7aL z>6b!#8_DG~6Hi^fXp|{`Hr8qaAxTe=24tN+&&j27WRFM zvk;U#S^=` zTP&>Kp6WtTcV0x>qVwsu5vQS~>6J?BudOZ1->_^4n@gSyVG*7)Ndq)rC`x|w(!i%I z{Pz}jA$4~fQX|_@)W~ew9Z^KTs{3hct$XR`5zVM%a$sfWsmibE)*c&|*jRE~FRiUA zF(3`nd?6`0j2JAJ*c*OWExx(csEbGqhtb)kJSE?QlC#~gC21(_9MyzM3j8bkhOQ~L zPgR(WCGP=Y6`ngu12tEuN`CVyQcHz0SH$1k&vzp=0j0kCWVyYS+~a51)?y$Pk54!B z&3+)y{<*k^O(j1H(GXVQZ*v})G+^_DtmKe)gYRj}${wVOE+%zX<#Ky?D>*BMU1}!n zY;z6m&rhR6n2tyV=bM#3z3$`+S$4CjKQ^mk`$Z9;AVr zBh)4D^9rfOT}jRBMC!H+NR5%p?2SJqFKde`r0spqr(f<(r+rCs`Rrmt$xnr_PGgV; zZjMlwy!X?juI`1xdY^au5@^ZUKFrq(YF|xT8{2m=mc-(c^ORSMd=AnE1TSPIUrDNN z>aj80G92IFSBfRBN-!ng5Id3XXgsiV3{9hBXpb|Gt~3HIk_6HQ1kdi0^Wyxx%v{+U z1qKc!_0U36qcB|&itJ0EB|nI7@tGNUbbF)zC&m#0ZDZp~7YCBcXcY@f&d;OLDr-R6 zkl@%=^8TwyHOoD=5mF>qJ9r{s$t5`(t=l2a*x^(kyMyapN?2mb_+`WCukjW7a=mc(|+oCb>#Q)rEJOB!sVn!x zv=e-*RPyD=rX|@!NX5p>f5&V_O3v<|PHI&76Gc+V_rb#CJh9XjSzU6EgviL!r@|dh zYf-xXp-CnG7^+nQI~!WIZ6-&Nf&7h|eC(z?rv&B+Z zWLL>O>Y?mQ8#FF`#7dAQ-wo9=&w;cvK ze@f0uPyO>1iznAz;gdZJ>y4qu41R-qgsS8oO`>Dyu>+w*H}{4%sU|M(9m*AUeOWg0&W7#Ga&8Q&~Zy% z)*;9QH$i3uNIN(*+>(3j05>M)43KuT{oInXXTgmH;oIo8g0$1^ZbZ`@9;k%9axUKYonaBAh{|M5-O_+wSeX(ZQXbd>6C_H=3j-@B^0knhNOy z4V?2z&e!ty1vi?8m%!Kz(uW%u=aihk0Q!L&hlFp+SOL<9?H~P1{s-g&Pwm_|F#O04 zzUEo_@Qu;8uk^8GLX_+e#ks&RNKb3O3W$E2c^7yc#Z zr+Z9+bHI(8O5q=>H^Op|7bgwRlJgR5Tx_0>xN+lG_(=%&!rQPD{!)YQI<^FyP~xft zQ}P8_57N*^gSgNoz=ucqhLUdJ&avH?oUT3lse20EQVU+#q~P2vyP@kss9HLAU%y_Vpl5w0000 + + + diff --git a/src/icons/aws-elb.png b/src/icons/aws-elb.png new file mode 100644 index 0000000000000000000000000000000000000000..8db61179600fd3682e7f5531f8c0b340701d3396 GIT binary patch literal 1444 zcmZuvdpMM76rVA6YBf@*+-k>Mn6wy%`9>;)(2mcbl$ti7hKi;cWYg9#V=hPuVJ@+h zhYhXTQp!^yTTyK`C2X78?eaVm!dwmZoo4^s^PKN|=e+OlocG)$3^>fv!odQ8Kv+hE zhs1z?pz&LX0#ebIt3)8oY8dn_p};KKggdzjR~6|ZkH#yaapz)PYGC|N@ou%dJnFXM z&(n#+nH1#-cV!`EBFFo)*n5gkQ=JM^3;Z-(Xd;(t zC=NLL9Ra|`bA8A2d{y~W1%o)-->SQ?A1J^y+>^EJAOU5*0GcnN%|2;X38=u-iXZ?` zL=nq2;{hA>FKmj?k+eo7q;{r|M>4%kaZKk%$9&3+7y^nEHpVxx3De444a_NlF$bU= z33LKdBm55o&THa`r(ox2hsof)Ula%AhdQnaY?7v{vvk4$hYaulV30ty+X;=^K)uv! zNvrks2Yb^!-X5c9%3zIxDUTxFOkC5I>IH69g@MHpxN-&#xL1G{(Fv6?xXM_36-5Yn8D z)(XM4Kw1S;Tbl&-L|1=6*O0DjWa}<+bxj$%<|De6Y`qwokwCKr&|Cp+u9Cr+itYC-|Kle`119~vGMWGlao_Z(`t=I ztJCTA`k5I6pjjg^p8N+(t( zB&VaEZG7MN@ite>uCzz-v3}_6N4a+F>+2%!MkT-ROTE3M@xdKzQDlHWAFe4}I>;-hVNO?3SWol2 z{*mZ0W`pzz#jm<<_!zp|n`enIJJIw#3F+{QWi?V2pTRQ^4D;cA=Bhfzg`ly(sghqe6qNYKUfUC)nhFTYx}3P~GP=bQW$f OZf`^=9MZBeA@5(HqK%#a literal 0 HcmV?d00001 diff --git a/src/icons/aws.svg b/src/icons/aws.svg new file mode 100644 index 000000000..48209aef8 --- /dev/null +++ b/src/icons/aws.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/azure.svg b/src/icons/azure.svg new file mode 100644 index 000000000..2ff63c104 --- /dev/null +++ b/src/icons/azure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/bigbangshop.svg b/src/icons/bigbangshop.svg new file mode 100644 index 000000000..cfbeefd7b --- /dev/null +++ b/src/icons/bigbangshop.svg @@ -0,0 +1 @@ +logo_bbs diff --git a/src/icons/bokeh.png b/src/icons/bokeh.png new file mode 100644 index 0000000000000000000000000000000000000000..b8c5167e5e5cf73d73078c4716e2e9f0d4b8370e GIT binary patch literal 17742 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 literal 0 HcmV?d00001 diff --git a/src/icons/boom.svg b/src/icons/boom.svg new file mode 100644 index 000000000..18dac4f2b --- /dev/null +++ b/src/icons/boom.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + diff --git a/src/icons/bubble.png b/src/icons/bubble.png index 16ec01d91443bfe64a0d6605c9fe400890435043..a5d9479ebd18abfa1ee9188665152e1c00d826cb 100644 GIT binary patch literal 3779 zcmY*cXIK-+)(!yz1Q4VX6k-7B5CQ^$5L)O>DN>|J2c=0(=mJs{QI-f;AOh0VfJznV zxKyPpN;8tsLXP$(+Q+gH;DWAsn>@kkry9}y9%siYJg9jzFxq8Jk9r=*NTB9-6> zB?Lm@7@-i33y$!>Dg=j%|4s6LJQ$yFudsm7h=7n_=x<&R&ydInZ5Zsg(7)yHbw&jE z{=ZUi_&;eKC#dv$MoC!_uJkYWaVYAySJOHyz~@-`H$Pe#^%wGgeE;a6lzxl<*JA$8 z^e^vms%S7u>ECTbgDtwGoQ{u&(G;U+hh`?PuQp! z8yRKKW1LD*eL1mQ!^7Kjg5^WCR_}HRjX}8&^|n#qjx)tmX1itiZd0wEf8M-;AU(;o ziXr1=Y=^o@;VaRg-tW9JcYb7FKS=9%T2ayK)rb?~jw*`V>c8ZVef0BSh5gxe*Xwt` zdU;FCy$qfxInDTlIA10sz0YUX#xKdyzL;63f9Zb1!VD|1#MNBZX+c2V@daN<0;HK; zS=Qx|t{BISj}l+LZ`gn+Wohg}B|cKLXVM{32vO2!K7X0s2=))p<4EwF#Kob)t9a%b za;qdIR{4hqDh^3AW_-&E;xLAvo09(o%tzdrx4luvv#h}24Fb3^)G+L#F>WUcNw=|) zeifrO6$a4NGLVzB;MB%Dz224DVRWoY1(XnZ@*Hxg#yK*we{S=IdAuF*CBPF-i^|wm2of9P z<*O#!lp)nDsb6}mUPF&>My*Z1ZYe33b=^UDpoFdes3F}$j{ukAR;FQG8)+j2PjVCL zD4&!>BH{aR=nTIWtNxg>-EAM>&G@UQ{oX$)ORv$Z^71lZ?6xTEvM}A7xyWeNMmdi}804l~pv&()7aEtuulvv+e|0;(1BquZ5qXdQbX#g#jy zIJ2p$j+ozOl}+&Sj0-&6r$skoUYTjgi*y%Pg>OH5_ds1gja*R5>Sf;~!l+6=30o<@ zEuua*E-&52fgj6sH=>s5kHf*{+bXJ+KTUG-ZF)21X9r{> zM$V*4<((zdGGdvhy3S|l+ZKShrbPo}cUm91E^4tRtvwJ4%|u_?eUl={-G_@b}#OXDE4L=PufrJo3ce&mOI3O38hr{L6!5vqMB8t+Ig+u+@`N#y1bOl&ji&GsJIw1W)a#+uGfjjX+@mnIOTm{dP%VWvDva>P_x*!e+198vXLZ9hNcGTXyL)%&LOjFDqpgD7KlDlG z5r}P@Po=uiXmc_Tt86Y?638>r@f&*atwGZdL-ICW#G#N*d4tVxa9P5APu!20mu&VnO}I@rTl2NO`#NP>27r^6 zo7{I}&I#V)6680mQ?qvLdJ*!~bq~q6<=u=#yq|7Q{8eJbAZ-)JWEgnBKKLOQ-o49jZ=1B<3~GG0h1dUt&NobxOM0ADeE1@zXB+(o&P6%6wE_HrBRvqReG{R(Nl z@R;TE82C`kjUP$Xf?|pJyTV_r7Xt70q9%$vg7ZWs7rO5!2PX8N-QsJHbx`4p@46TEK-zBDugnVqYpjexr-1cU&BZ^Zl>$-TkE$EDDjAzumzU_X z`Nr_fNIf;Vq_7G@WdC&JONhHjnQO`#Mi(qOIxC)%;aPZ%$6wp*9Vt#n{KGk3%dG?X zT`>`w784-Cy5V~;3n21@U!sr>**q<$Mn+~tr9<^%vMrG^5t+f0iG>Z;%^>y^-!h11 z&9G4Vtp;~gf*3k9A1)KrfF^9Fgj$)x=Ap*0-t5yjGw&6t9bpz%ZrW8O%S#vZJq}1N zaJ<6W8l(g19z3d292EcFcwye4)^E5dFDk$(*%YfNmp)yx($}gH+->l7u`f*PJNJ>_ zCBX5s0K9G7uLLt;zyYv~~O+<-Pr`lYrkmaDujZA8fe@hFqq&+QkUUim#C&YS|ZdF9avRnXw}66u2Uy2k@gI`;4^|7f#A!#9l|98 zw}~Q^`=T)6pf_wa?!fkkIq@($N36EHcT4k)m)3mpn`06ygq8C&+btTUg<|oGdG}Wn zNMC`%n=6#;u9s87e`auecrsyiyNwj0I@6Q4hel^=6C?*>&rZ!@4iEYX9jkr}Nx4%6 z-atH|udN3aQQ9r#MwEK{w6SaF3Sy44qB7}XoM3C{9qT=u?(RwN01ej1@y+Lh`Ss^m zSVi$Xt(G_$j&oV8WPT`J`kVd7D@mVCR(|U3?RbzZwou=ODe-KG@~ay0W1*ZVe>pRj zmGSgVIpw2y6T8WW=})Ka+aHvdi3<~aDql$WqoIM13E^oZM;(OU(4#8)l~pmJde(&= zU^4yQio}!`roa+XVAC)Z^Qv8{B*sFAD2x$HB)n*DY>W0f=MAQ{omukA1MdQE=gTBpowK}2jO--I}I4hke zJkKdvXQOBi3n22>Lyes!{}w`5WsQhZJt*D!{pRQ95_|_zn`c58DGcuVu{Ir@vZHlj zzmqjtRmSetuCr1|XJ|mJ-Gx>8TAC@#Q}*1grvof?_7=@l&#~!e2^P=OmtozbEfexG z`RMC_v4euyVWVAz?9F8bsi!ju@84-*^V@j?cMaLBb`@jfC$|G$4UyMQZHPb=YgJx< zSd_TETBCBM-Bbr<3-)TteCft+qN1$0w0E)PtBvG+#2?Y|gbaMib3x>hf0xn-VgBkU zL43OzjqA!vn)XUjIj{ZvVaA8KYsAjzo`#Ec)hpUqk{kZMbz3I-;KInlaA_r-B6%lD z+#u%QbE0Fy)&h>JCo$zrlP>w5b)gzFMJC)fXlm{0oc^j`Kcc}P>bWGjYJHyrm6$yA z*!c^;GvVQ@RfSmQM5cJoR0p`K)eA8cdgsK-7KIn^ylKbqQhcYeD mDa=~b7FG<>?QMQp{)>@e+(#&YDcR!p&(hS;3RA6rIr%@;IPh8k literal 1468 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 TY6!g<00000NkvXXu0mjfPP4o_ literal 0 HcmV?d00001 diff --git a/src/icons/clarity.svg b/src/icons/clarity.svg new file mode 100644 index 000000000..29f217c2d --- /dev/null +++ b/src/icons/clarity.svg @@ -0,0 +1,17 @@ + + + + logo + Created with Sketch. + + + + + diff --git a/src/icons/coaster-cms.png b/src/icons/coaster-cms.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec4dcf1ad8d64a6112fdca72fc02584a61ab3e1 GIT binary patch literal 1751 zcmV;|1}OQ7P)qxxdM-Q)cX8R_k0){OIQU-P-xj%kay~_{YOqXo2s3bnkj_ z?Py)>UsKsvQ~37w^Yr%P<>}?l)%w-a`OC-czrXmyzSXe1_qnt7vaI!~qwn}XQ)nOq)lW|N@BH8U+Y~_RV6dT2J`# z^8N7c^z82F>h1dM?C|5~_~hmM;^6Gq-1phn^U~AZ&C&YP&)>t$ueQSXzPk6jx9PI8 z!>X~}qNL=Uo%Exe;g^}Dh>>S=i?C^a@P>T7X?NarbklHfLsM{aUT>&aZ=_RefLm&2 zLTT=DXM9Fy?Qdi>MP#f_Vmd)yH$Yu8KV3*dT**{f%vD&!Q&@FLSbs`a*<4lBS5e>L z=I`L-+ur2(-Q4Nc+s)G1;LpQek_N zX>_n$a6(dVLOyIfJZ#BpYin3*?sI8!L}^??XyI&UH$7*{WMb`XVK6;mLPTGaOkQk9 zUEpC{y;59PL|airTTVk;Wk*`iURi8NS>s+;tx{CCQ&VXc>~R191Y}7>K~!ko?UiK{ z+b|436$hK9?bde8%*@Qp%*@Qp%*@Qpy#2e`k)1T#l5Tg-Zg;EyW$y`p~~mQJ(Y~mvnHW{7Q^4 zQ)d`ZEZSP%n2=iXq|3QvvKzG~g4a}a7#I^3<=p_l7 zvc-KLw3R2V!Xa}bitE(njkghNn47`p^_Vp zY2-$|sk3`?oX73HZdb#cJZVw9O($Voy9!Tq$pq|}p!Oz=P9TvdT)MIn#zST_9JpFt zd~zs;`8le(k>K4Rk12#R130;nyGP_jaD*n^vo9@wQKmHaMZCm+l}q#PDrFPCZ6z|D za2mDz*||hz^z2uCh+Jvzjj;A5pjRDv@e6K|b?QIdEeSrs&#bP8X~zr$-%#fgH2;-LTsC1e~oP9xiX_t%gvo z4#dU2#UajlBOyKppZjH+)AA52qc3*(21Edryp;% zD-Q_?{|*&0hN2jnDdMUb!^l(x4^wgcc2!NYE3lTK2z1ayllEgHRnQ}y;vXq|EbUFWQbZ50Ez42Ubqj~01{xcN`(^qj9qUXf zWLPPxieDhmK&eLOP6x0;r5PL%|5yPuUOdynKT{k`jiTeTX2CG*GE%TudBVtwA5C4? zO;$7q(8WzQ?cuf711nWl>V!%~LVlR>OTcHPS-e(QdrM3IBt?usc?*9a)%+28c4nHD z9`6U;)S6f5SK5!STj&|xxS4Q$7~dfh4b_X>L_h`TqXndPK_ tm&+eeLDxfffo|J6BqSsxBqaQkd000mRNklfH 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 + + + Artboard + Created with Sketch. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/icons/decimal.js.png b/src/icons/decimal.js.png new file mode 100644 index 0000000000000000000000000000000000000000..ed7bd2750dd97cf7fb64f4ce68d1e53e81b23ee5 GIT binary patch literal 966 zcmV;%13CPOP)Ccwn3#!)iF$f^X=!O! zS64?zM>I4vBO@ab5fK0Y0RI30{}B=YBP0JbH2+6O|5sQ4X=(p@djE-u|CpHnr>Fn5 zwg1Dz|IpC?-Q8<`w#5Jd0}Dw+K~#9!?U>P$qA(Cedku*pLLj$MRGd-%|0nl>g#=_o zS=^ne;=Wjw3OOcyy8}(MYSpS$3(Ep##$yJ6do#lVfcp9S5D9YmX2!pW`L|(2v2}p6 zdC1VI1M;Nr7ok%J!0u$|DF8Nf0MX9DN+RQsH8YJvrmIJs!?{#4yd6Zhm5-7=YahBB}jZWk9Y4kxGKS#Q>aAH2e#AIGrwD*=e+ zF>+u_-kgSrNRHkI4$$)$X_p=%>yBk~xioa!ON`F-BJ)R|0PfC18a`WJV+aT2TN2s< zT?Rw|kSHP&Do#?LjmUL0T}y_HroI3Gk}lmyhqh{;kKA2NG<^fAFBn}lH9n<@w(g!m zk)6w+tp)N#Qpg~o(;R@ayKQiRsGSAitdTD=R;^mKYSoX`uk{GNhfcizoblN36Y-HM zW-d1GWt7a!*YCNHm)Zg|!5ON@%W%3!=cm&{z0)y*UPE34BBFwTB- zj4|j8&SC_JfMLy65|K1+@Sgo_JgR_EGxO<6MD^$SFfvyUzL4iIF3g9i?3RDe*iSLk z0%uj$_jBaVy0M_oVKgy6TyFg~VfvM^W-(g3?W=mw&0df}^?A?C%taNNsrm3;Bp!`! zmjg3%<+~J4EEn@m*8_9m7itqvOft>|pEl1iXyb23+jU!1KEWnk45j~YHV{0>*%xXUAlRbF0Jd~a@`QsAH`^TEW-#KRKJ~Z oxVldf8|YSn+zZ!%?S8WEX(TL1t607*qoM6N<$f(K*H$N&HU literal 0 HcmV?d00001 diff --git a/src/icons/eZ Publish.png b/src/icons/eZ Publish.png deleted file mode 100644 index ec649027f146ebe8b02f2a6d9c04e6a4c105c06a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJPk>K|E06|)4?PV3|NjrU9Lfje zFqQ=Q1v5B2yO9RuXn49fhE&{2PHL7H1Ip^0f0X9MFT28jf&1wX_^ Z85n+SW}GMLQX~s9&ePS;Wt~$(698fUAW;AS diff --git a/src/icons/eZ.svg b/src/icons/eZ.svg new file mode 100644 index 000000000..481d1f146 --- /dev/null +++ b/src/icons/eZ.svg @@ -0,0 +1,59 @@ + + + eZ logo + + + + image/svg+xml + + eZ logo + + + + + + + + + + + + + + + + + diff --git a/src/icons/ensighten.png b/src/icons/ensighten.png new file mode 100644 index 0000000000000000000000000000000000000000..935be0caabeebde78af98fe2fec5dc49314cded6 GIT binary patch literal 3068 zcmbtWX*ASr8~@t|lThkGw(0Sd63sBSL6{=rwItbPn=!^V2FaeaJd9Au9!-|)6j`#T z7~AAUjEt;Vhpb~w-qEM`{qTNze)qYq-*vA0T+6wabFNrpBi)nWb6@}fPU@kwO_-c= zELI41w@8ra*$_5c95LQflM8Zf#thV(nvCCs^YM7=KD zD5=~k#Wg;Qg}WrlF0gkUT8&ijXj5i5(ljrS4RKg0N7kQsp|FP9rfpdOC{ZXLT$*CH>{45 zJD5fqznVsq3=eAXg0a!3b4*VqOKXF-;WBJsVC?e+cDpUp2NC9&(D61PIQvXy(UOWW z{-P}ClG`fhaJx>?pZricA&aa+7pOPZf4qM;crw@QXvShso%PN9ak?=<)P=?Sk9h4` z#G6qv%vzHu4J-R#i(8F;eOG3;j5IFxC4~Q3*c5uLe)PV`N=cKrW$R%vG%$Rz8nmzB zePQ137aP)Z?^*ygz-_NoQ7&~K%wqv!%x5LO#jGw#HF%NCfOqG7Stk4T)JE9+{32{KVM_-FFFHUrE78y$jcjWT=^4e!jKPcDzt z>ZwT{Q~1M1$6k#n_TW=^PE3@TC434H0fb5o&;I3*;C8?p>L3foWqjz4OMuB-#_Ea2+T@2#=BF?-FL zu|AqH%zT_C(Uas6cOp0GsExAD-;{CG1I;}j{;KFs13LXf2VwjR8J79Fhf#6eI7XBY z)<#HYsT^dTiwi%fG#Q#OuPNqpcvpAgjUw~rH4U!tANG$XwqQXELm|Pof`V%L)UPhd zQz%zk&6`nLgWR^IF@^>RmmIT}cjhR5+x9{u$h3|0xw5U)-Xg~JZ?%D_*DZ60RY7|| zP+iwuN{@U=@$^98`hG*!Rd(DJa7#3r_31`;rN;-q@N=TRNpZv6tc_`_)n7;D_A>BP zA8t~8r34O-T_x`-3HkE#zCL?MVhcf(zp~g|l~6zscFqsjs}%y9WAS)lk82iSOU+Bf z&hd_(lG+nmb9ab4eM`wvtsj$Up2eH1B0dxnE6_y-nOT>BhDzfT)>wu-e;{X}s?0QN z!`m~ZWuIw>z8v}-?gvQe&hc%^1vaf*vkqce61z@a7Dd$yo0S)Sb6&=$7g-aIfrT?fldYExkN9u)Xbe+(>7sG{nYc=x)oxSn=+^Obguc-4Q~z|_|IAi zC_C<=9}53?w$Ax!?hcE8u362Gp(5T>q-coBqa5x92Rr28Qmj)DycE zrKe5tgx>C_oRC1tfN_$4!RE$TZQ$g>jgU!{IP-FwGWfi~DUl!-#XmINg@((bm$!J7 z$rhO>rCaNTV0f=cbBt)p%NyG@N0TvFW zqV7AhQ0r>irzF~~bq>SVUK!amP)=n$Z)_nS5D+fKZAl-3n5aP$ol71cjj$N)o138(#kVYa696 z9T#N#S<02 zl6%kc(zjmWt4hbOS|%3QzVE9eY{nwG&8W`8SM<_%&}ig@+dN<>%)~?8Q3c8vksCcIy;81dQisq8Y+cFOUBCuEn|-W);a?eV zJ4BMvDP$VXISaRmXV*DD#N#{wX^Jmktj4ze?NHetTr-lm9l@yfyugRe-WI)?ke=_! ztJRe~X@DrpAfH#CRt_YI`_Y#pq=n9@kfEjWChs4@7@8 z274fK(~3n8YU@v*h^ZQ6(Ee(0(htd?e9!6x3QsQue`Pnne8M6CEDOjNa^ig$*F7}cqE zpNNG`=?MC(RBvxeV#8heI$!8q5mqXt2?JdBR5SRhzBtb2^VP;zDAnbBU1Y5sBrdxA z1b0>!od$b(mTccOUD`#nTYBb4-c1{A9l!SB!9zYTwbhSD@WiUZ#>6~FAStukNRxbU zI~${vtF{{xbl^mb>XBn9=S5efeOrZdX=H@uNgUja+4}ghf{=>u!HoA0yrgy^2keuD z3p@*%hcVZ>omB1ljPIqx8cYNt+p~$S@{424wDHJxPN6i?IZxG)^F*3Osp8K$%y&h4 zc@_`XTF^^Blgo_!Gkz_CfGIyp0RBC#_j$qDksABcAzd$C^Rl3+7c*N39Pl^2b|YQU z6Jy>^nERQdKluIkJ!Wp2WT_V#HDx6FGXx5oW2z(Cl;QhZ!jRnf?r+gX81z!|G7ZIVX9UqQF)eQt`_^rR_X zTJwFtt6$*=+UvBI5_mxy7r;%oBhmP8+b>N%+05LRDlN^FP5t7=GubS5LpIS6Y9F^q zPO3iSdYmM2f=c(gEm%eeQ5$i$7qis}VF~w5!q1H|N^C9g6U#d(pKIs*t_mpoie$m* z*OB)d>29l%pDp3@_^Ktvx4l5s?0eArHH*v1yP3;jcON!aO`O#j@i1m_v}VJl&DNM7 zIu1H~9GYL{B0QRtA|z8L3fbuB2msJcgif~}Zb}IJoUJ(GSi^Buy7wt-8U@6f&&-yW zH1`Q%D7|6rW%&>7ISmcO>A(6Qr~VlZHGWD!PIc`zo_f8`oMSH>Pti_}zF1X^50*)Q zJWNhe7A7Yv2RD^dQdN{wRY1tX6jfm`5%X>3{|UeooLrp)|9^nn38Oe>0HCL1q+Nd9 GA@V=S8Kw>Z literal 0 HcmV?d00001 diff --git a/src/icons/flywheel.svg b/src/icons/flywheel.svg new file mode 100644 index 000000000..2676989a4 --- /dev/null +++ b/src/icons/flywheel.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/freshchat.png b/src/icons/freshchat.png new file mode 100644 index 0000000000000000000000000000000000000000..b79a05767d4f75dbba841393784abb05316d55ac GIT binary patch literal 580 zcmV-K0=xZ*P)GWO5i-MF&jUE4rKK}Gfc7+0wo&&O#|CUHl)^OHSO_*WIu;h_+(JO2 zhze(+(Vz#n2?_C^`HRe4a$k1$?l#F}Ldvq;Y);@R1FSNEr(DQOE>K0cykzC}W>}6) zPT=Y%z&w-B1|xwmkXEuFKV~4eX2NiR_98$6zSV+Qwwqm4RDN3vGk>AR2$WW2v_L7; z%yb|I(n=d<5-8ji$mh9^Pip1JWTc`#7}eJeua&A#aTHs?r=7=U}3} zK|VSv&4Fq>yoGk9IUt{7*1o&sw;rUlC2Ek)|7y<4xHj3o5?5P7(W(D!?o*5s18Hf$ z$2eeV@zKGO7ADYJFRs9KsroI;cC*yuWL_A{cC$txA1cvEfpo|)K_yXB#y=cJsIt2p z%a#DrnYx;y=<7dG=rl5chp~d_lmpCjz!C@PaF7lY*kuB{{xt_I + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/hapi.js.png b/src/icons/hapi.js.png deleted file mode 100644 index 0308945de66ecdfb6b49b2d26620e3bfb0d738ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1042 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 F{{ZW0+3x@V literal 0 HcmV?d00001 diff --git a/src/icons/ionic.png b/src/icons/ionic.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b7f2ec572203fc85ac04c770dd1601bb0bce6c GIT binary patch literal 3654 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 \ No newline at end of file diff --git a/src/icons/kinsta.svg b/src/icons/kinsta.svg new file mode 100644 index 000000000..971e27db0 --- /dev/null +++ b/src/icons/kinsta.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/liquidweb.svg b/src/icons/liquidweb.svg new file mode 100644 index 000000000..bfa137903 --- /dev/null +++ b/src/icons/liquidweb.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/litespeed-cache.png b/src/icons/litespeed-cache.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa3af334e352668b555d15b35d73530011c56b1 GIT binary patch literal 2390 zcmZ{l3pCW*7sr1XkA%F^P-4V*UFP96GfCGpo-t)S@@B^Tj7eiW26;q@(2&O{rIKQj zB?=)4*QJI;-KZ2HZxP8YB)LDW|62e4cdh?AYoEQ&*`NL0`>b=;I_ZbWHqw$Rk^lfm z+u4#RkXPR{2{CAnh>iUlaxjLaqa^@TWo`XV6@}J95fmFDP}#FiMNOqVXlF~Ptw#jpZGW0| zXRrlCb=r|EUEJF$@;f7T3bv=V%q#ng9msYUH3YgvVW6kt9;do1dZkwm$aHo-)yns# zoZrw-Jh`o*L=TT&Y<11uuJ+p&O;=8O?tQ=;kQGUC7yH9u3axIH#%-qzg*_-u^jnTw z9}0G=c)MQ$(R|n*kvy^i7Tmnf%=LZtXzAgpDrWf(K zCYKFVx{>y}M1=D+#eQ@V-sGDVWK67iLtlCsd@d{4OeyQpsFa5iKU`VB+?HWgjH#|M z8nj1BOcTz?{Y@3p$jPzr;U#WN#eH6N-6d#na{zq4znjsqws9`$WuAScAugV}V=$-y zxtzbSIB=&0dC377i7DI`s-k$uw*`64Z(@9W+|x`#QQCO-Off8P^fD|XE3>+$scqt?}p2P<3Q;>eAW83m+A=q=5TtSHh zn6Fb>+HWkC5aT>nVwO?hF`jNaBtf)ar2>pmy>xs%32)RL)$#jVgIl%7!RR0o(myaq zTW`@)7P^z!Z)-w5?eAcdgYxH}8ncPW$4=b$>ms8e3I})(Z$~jnFVIaL3T9-lbbUm8 zm^5N&OjyWxU+Y-Nu04$;Eu*%}+36lk>=FH%rU%y46IWA;P9sE7Z^@ z)@V4Xcj(EJ<+IT=_?t!-B;#3oP1L2fFOl|qm6Rquo1L@qfjBtvD*~HVw)guq>6v;- zUPe}yT&9)y*hqNT1h;+ZlF@HCI7M1Z{VU+QCV%?r)73yk9WtQ zS9097rDeCY9{ggjUYXyh5Jyqf=;ZstqJ$OYghsRV=9TpUSc-qM7YO#p=vVfojB~`)`Sgxz z9VPC1uH;QIznc$i<8~aJJ<#WMyQLq2r{$27FOjY6JjGUb?8SA$8YY^LKMT})as6In z8~OTlv`v2dWmrpUZ)7H=!Th;{&NtaH!?$6rsqm~d+28>Oz6PB}Ev#UTY08gZ*sqo5 zKUC|H9{H^OPVjO5aMQPaSH|w494u0fUvvxlvQLesan3oIGE^RZ_XuBs%Zs}^!YvPQ z%QfWx>9siPaI|19`p(dKo}&MUPoa|c6x3*e8s}cmkMb#WwRr2pTPE>=VBea57!YHj z>&=ivizKCbNLN%HvhD3K?B;nrmE(vmRrlBz>`WKwXtink;_9u7j%>Zd-bqrhJnETT zd>UCVBJFl_JT<*#&ti{BhMZ(drT6c;qD1uGtCM#UJLDJMmQ;CkGIuErTd%opcwR^W zJw%4ZDT{MYjk~&*S663xw|4JY$(&eOf%ACKgMRGSjCCp${O~>1Mp51;d;hbPLD%RK zYIkBw#I9KV|R&UcdYG$usGG?#zhy$T}&GEXT z;_}xrHx@ya`#u!zV?U$C+cI}ly6f}$Mu=2U!I?bT$lB^a1Wz#65el!LlFzitro`Ux ztliK}UXecHEwsTekFdyTs2p~PFVW@qwfqoYY6-(0t^cYI{cc(uD|Zf^$^i)h;UMGy zEE2=0FM7n-wD1ft+Y+ zI0)FWs0`4N%3uZrtD72{8R87^>QG5z1GI?&2CMFbF;x%Za6$%CKB^*Sj<5ow_if86gwc0c?^V(k79*zj + + + + + + + + + + + + + + + diff --git a/src/icons/mhonarc.png b/src/icons/mhonarc.png deleted file mode 100644 index c808de4236f781182d83d8cf939045fb9789dad8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 567 zcmV-70?7S|P)CYu6aZ#23tvSsByOY_mhvQ#*+`0}hg2u9Qvsx60NQB)xT6}ElU3T7 z0P?T^_|O3V@BqfYlm!3;SOylj00001bW%=J06^y0W&i*H0b)x>L;#2d9Y_EG010qN zS#tmY3ljhU3ljkVnw%H_000McNliru;Q|;85hd?tK%@Ww04{VzSad^gZEa<4bO0bA zNo{a%a&%>6AZBuJZ6HTUMj&ZzVP|DJAZ=)GZeem`E@x?GE;t170003lNklF%hL0F|D2%R-~7J zmymPb0_ z=bCe^5)*TZQmci`V#j#{0KuX4j&$&r;6ItW~X#eOZp#nziXFKmqro&qMW?rsUD5rC^7-F3UP0vcC?*Jo*@RM^B z7{e6&CW)T6U=(2jWjq)84nUsE{cRTZ|M~W4)9>|7;1g4)99(vt2FU;b002ovPDHLk FV1kp+;4lCH diff --git a/src/icons/orocommerce.svg b/src/icons/orocommerce.svg new file mode 100644 index 000000000..8f1af0c86 --- /dev/null +++ b/src/icons/orocommerce.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/pagefly.png b/src/icons/pagefly.png new file mode 100644 index 0000000000000000000000000000000000000000..b4898698dadb502082f33c05ed382b770a13eac8 GIT binary patch literal 3774 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 + + + + + + + + + + + + diff --git a/src/icons/percona.svg b/src/icons/percona.svg new file mode 100644 index 000000000..383ae281d --- /dev/null +++ b/src/icons/percona.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/icons/platformsh.svg b/src/icons/platformsh.svg new file mode 100644 index 000000000..2491fb8c3 --- /dev/null +++ b/src/icons/platformsh.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/icons/sazito-phoenix.png b/src/icons/sazito-phoenix.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc422b30fa1ca3a91bdf6589b087adfb772cb3f GIT binary patch literal 5119 zcmZWtcQo8xxBd-@UPdRPlZ1pBC3-K>Mf4h@jNTbtMsLCBqIVLEl7tXlVvy)0K@g&g z-s`yXe)qoXTkD>+_St1U``LS+Kh9d`#A<6PlM>w_0sw$iRYg(fM$7&c0=%2O(!pcy zMuEI^l;we%p}Xrh4xzh>u@?XkQ~ebXkey3^18{ZFGx9dl)DX9JbK$eJakGN+`MJ2? zpaDSAPyEJofqPrB`nfo}dWriV_x5%dhd_LNeffL^`P@A1ApBxtVi2eRL_mP|2Eps) z@9J&o$Ls3F@gI`^<57frS$jITdpo$fvi{|@v~ojuOR=;6E%fjDPoFl{|JHFwcsl=6 z#l{)}cZR#bUA?^^{Cxb7f5~rhC2g$5y%1K8aBJ^>`u>;hp8@18?I8aZmW2F&v?Szj zNB`B~f5!hOdNaQ?ktF2bvy>*{HZ@YXbl|iN}z@7E&K(~_t4v%E! z;9lik>hm5J$FU!(+$%)fMDk;S(@DL3rQwPn+cNEa#~0lYRD{9FpDDfT>G@e^TiNyP z*V;4~f8R;5B9%4bBuQ3oW`udOBX!i92cbR0^)}-<6Jw6%_Gf%NK#jop&{>w%TyDkh z0CZYFLrO6rKmZi>fz3_g$OM-EGzzunU|SkpTsw%9UpxTn*grN;^=XMiRUHFKRfF+? zS46-qgGlhb;}Ghr2fi?+OZLZ(hd&(5|2S-mj15QQ$r@9P`PMl1W#tXlf&LWjYTyI7 zKog8UO=;GZBK40B@(P1Q2?6mZ(P#GOT24Dfy5CXhN#t@#3KZR?&pzl)Zrl%M%$O^0 zU>;Q^Cczt5x5C6fu{2IeWZsGguY~D4@V-XQ77wevy?#b7blWt<1qaJ&C05Ism(1Cb z6=aQ(87bF1Rw2-B!?76^ss-(VX3|9D0m8v&d=|%+hZKwF!%Av zoEBoYQ(h?x#%nwV#G|;P;KyQZFu6}q43p;%McVBecYIZ~*QoLR5 zL$wet@2W8YFn>5`^HFH@p3Wgxvg&McZL8f* z0ou^0^jhumpm-0lwjmsuG@g3DVoSr3Cg3qno+&I6NoR1%ij%Txqu~Z|JbV6#ujQgF zPczo2gT7!Omdi!VvFn&&;r@k)dPZs;lGrWD5>;r9nlBJ8##P)OU3zdOc+S;P}NP>jWeEHmb-%keA)-p1(TiF9!(wl{kZ=qdB7c6*jTLIho z#YXtBvhGsl@wp*Vasz)cPYCyZ#blNZ=Av$C z80XYUP$UKIH>;I+Fm6{E^E*FP^xjC$M-jgKWw%-eC5L0Yp5Hp?&73@jlY`^cywN5c zUCK(jppx;#wS9fLeHZxJVpJ(JJocRf&CU_A4x~0slC5m^HWV{a5)K$*`m%3j2Pbp|j3! zx7Pn17Gxm>OW1#4NxN^t^r;RPU@dntogj(x|-Vg=*(HMP!d~(%i z+hD2y;>O=gZzA7)g?_J+d`;!$kO*c#Ci!$Woy{C?%vKD;g%gVeq*JM>)=Q*eYZcRn-PBQ`BPu#JW zqtF%K(BWIrkzYqNtIj?incT%}oQC;}Us(vHd|s^OWP8R1IW_hevl)M)Da2o6q)7o9~8o0^g&I1s|%kVl3}hDtE>%m*FK?f zvRw$!{6dZUzDbe+{r;Q?u*ussk=OFVCjiIwr&0m)K0;AoZwXP`T7f@WkGaoS*qvH^ ziqZgyYntd*js#n63U4ly|R@0>pv;V)OD1ujS{9Y~cN+ybdoKthw}r)m%Mcu9(- z;V~>PpKh;Ljyt^4WXMSUvAu=Q4}x3FN;S(nuNiE8@iw_l|y6xfKl`TP)8j3v@`lU{|i^TQfcVC zp=PpyepHvT#DH^6u*}XCqx`2+8~2~ErIX*CHn!3n}Yysk@=PY=k7uqtw5d>b~ee?cF5P7PIgBt|?l9U-`xM@FMna?XBK+C5&Kp_K%?-8(&sZnodg^vM4aY|VR236A;C*4lLq~)=;(F&FcPe&wa~eW9WCi>9~28vzutiTx~p61zQM9 z=$(Tz+}u~)+~=mytEZ)RmJ{8po-#hR#w($2f4ZpoyJhW>d4QEs&FblwV3|(sFfxcn zVyNv)XuMs##y-vT#P@`Zk@4mgYfaU+bZWY0#63vzMc&WL>-47rtJq%*KNl8GMWRur ztLB&|!%9hX{dVr3JdhiqdH3a*!-h;jP%x7p9X(#BOzw|7LHM?-xmZu7(tNSZ%S@iH zTh7O?5sNdp+M5v>PskHF6r)^k$?Cr6(dzx0*53rp3uAB$i#~SEznih$^a8sq=~Xjs zwk~&gj|f#(KID)3Jk-a>3{1N1gq>Qa&*_UHeUa^P)n@Su-49`Xu)%eniK9hCV;K$K z6aiEvIf8Qc$EE8V5}QL&Y0WO`yfcr<0~tii*t6D}Ku%XJzpCkdiSV@R1*H|~z!?oz zCZj39Uq4iYpT!CTnpf?6s(4|vB&Pjl;1uR}YQM3O5GpqvI_$u_t!4APe1F+4-Ryb& zTbvl5+z;On5xZY9iqizmb{h37zP+b_dw2Py{$bo)f(ZCF1gv5S zbSf&};*`$B-H}MCt6`=1qC^(<<>O*gLW6kbpR8(H?olnHg%)x6<$6~;Q)P8X@Ws&B zKvpdW=Zci+5w!QtyMeLYIqyi%@k$CuTJr#{SxKskgQB4sqm}g-rK<XstptUXT~6|jA4U@%$M-xk~>a>cZ^w#8JN?_g)doTuzb1EhD*BSo=Pf_OAr-tf(6B8;s z-o>Yr%n&)Y4070~=b|)KEVd_N%tUwy8V+Du1b#5&S;3w94P3ed6OVo3vxO)`djk@z zx;Z(x^qjLPdz|X-tT5VMj{2Sa34DXOFDVBYMT&XVbd&x#09Sa6{(S*=$9@k2(q*~1 z*F*4R^J=9Ey$MBS06r!J>)RmG6V1R~&=JMJ`Gt7V@WLEX$75*yIQN@=$1xMFlv2JP zL-u#0UZ9LMxJpZe(Du_K+x!G^+`?IZ9KbyxU%E{-YvoBRtwp%io7uc6Pw~QeK64tN z+Wz({0zgu`a|#z@PJT@Bx%@0xkC{+d zFI`Qd(x&pVr7G9g#Yi7wK~WyB?rI@|;I91YdL_#pJKl5@Ovy5bg|ROCzXk)~FBn6s zK$!70(^fFz%wZ#(c2$YsB-cP#_&cZ@)d$a-P}Id+iN;6tN^y#7kF`X>3>~_ z4H#;HiyV!6G9M)k2Jh0wG!|cy>Qi55U^kAfT|dEeeu-Lont9tQN+YR`4+5NNv1Nw+ z`t=eA%|floF7GtY9}gYhEC2n(XuBC?*oQY*6up`6agea=RnMhh?D%j`p`g;o?h$Sm zc$+!obFJ*vfsKJ{MMjr-cgS4e22Q6QU|G$xB7RfCbXG)* zv9vTnhP=Zbxm#qWNA$?TdlY~)IbM(+&X+xbnlaEwo=*b(ZxYNe9Eqb=mG$pSZ7#iz zx5e|z9}D2(bY2C}4rV6}#oB^@4L&U5WW5vgZvBDnh$X?XE<=SK7_HS1;XyjrWcE^; zB{b~bL*uML9b`Mj>v&y!fKb6{%;U1Vn#Q82Jst`RY?VPmH+1RaMc3@KfnEDn%7~$B z{;-6=_Y>+x8tWTho&j6T^b-k<2GvnJ40}ta8GHjF39s&x){|V(Dp*#t2kDzU7b|*& zBZ$gm+kHxcH#P4`5Vx3yFJT?`A>utbGxf&l<-sLqBQ1M4ULlD*-q%0|Y5r!$FF};@ z!lH4z0|o$W)v=_NF6})(Oo`%Qe^6)c*`H@@`{QXm*w`c@i?o;P zfSds+WGWoL7k>g+2e6H@{RKT48l6n$Rg{4SoQjLhX?<0ST3=oz@tdWv6&or={(5LE zMQGf2wCYK9Z@d3{+=4PucCcp*L(Z~ymi1XVzO}k79jH@_BJp{4 zxG+Z3K~-*Ec%e^%r}4TuT6rVW;uFYP1!y8c2TB!|-%cSt`Nob9% zf=cx5kgwz(vD6PM7U546Qh6sxfiMftOKHb(5UQ)OyW#va56UQ(=AtD>{t)HD!SzBB zZ4pT^d)F + + + + + + + + diff --git a/src/icons/sectionio.svg b/src/icons/sectionio.svg new file mode 100644 index 000000000..f840642dd --- /dev/null +++ b/src/icons/sectionio.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/icons/seravo.svg b/src/icons/seravo.svg new file mode 100644 index 000000000..0f946fed7 --- /dev/null +++ b/src/icons/seravo.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/shopline.png b/src/icons/shopline.png new file mode 100644 index 0000000000000000000000000000000000000000..ebdb09d1486d8a31109349f0dd89a12aafed08d3 GIT binary patch literal 6316 zcmeHM)n5}1v^NkZAxM|Bfb>MVC#{k)7$`8hyIU9`so+L~FpwB9YJ$`#0i{G@!U(0N zjF1=|m*4Asx_`iZIOjZ^b6&om^Zh=2&l^L1ZE6ZOifh-dQS0hx7+=-F{{nF1D)TDH zf4wU9p)bt+jiEu@-o9RrF76K8{vqBD+%De!cGs>2&ngeqQ%6fuX^bzJNcKEXvCj9= zp{2Wj>y+|c4DM_lAD}w%>C1!?WF{n*!3=(S5CFu&Gi-x^0{eFeg7C{6n^B5~RF$->mghW1mu5=3 z);6Tefx)*G$0n9KlW$!+5s7&x*s7|LI#BW30V4cC>9i1B?*W4K&QmB>i0r25(4Qs+ zj0GdfAE@P-KDNCF6io(X*njQXQ$lAs$gf3pOFon15El{2y3@@<4`L8?!$2f^?kq?{ z5V75cLJSniP!K?iMJn6GR~VyLY1kKbn{VQ&p56n9BVAyxZ3<(xRt*?6Wtz3N6C57d zZU6X>e`_!rb)#33Gaa`YxYxemEIHUPESa(>A@@rBLBC@j++n6PLSvyU zV;mg*o~(zrmmmM^9`8^?eW-yP=YOa4bxrq%ooJGA2!z$^v3(G67J1rHV~LT;qXyUk zMG;x>i(O*Qc|xbM_pg83S>nV1wgP=-Rvo|{vKSiGNwi7AT~0JJ)P8bDF_3X%w!@5` zc!ln**zV8(;$3zHp$4m!_Y_6HtUJ#lqSOq9ZNqf|Jf7)-3{32k&oA*c%`$G&ldg}* zHFtJbMauPy6e8AS({XOULg0F)0o6iDY;f28KQEKt(ZE2aPHKRA@jMwTq+tEC6XG~> z(faJX;Wf_Xaqgg#F5u3s*mR{`Lolul=XJEw)g5b*DzN5TE0OwEjoW)$8FKTs((cTf z7(OWc3dtL<)wJ+3^0A!Q@Kx7^r7|iTD@Dt=@QQ)aZmX%FT1j z8_n%*j`h6gac~+dz~J2};y?(8qQ%QUd^C$VWZ0Ksx(wCJaFkX}Z7T=ttu^hs90z?N zt7XX2w=)d1SwvVgrG9Zc=<`d+t1Y&@{R*p&Z7FAx(No2+wPu>>nz6CVx{8)Q&qj?J zs-E92E4RZ@m5$cFZ+gsEDqfa{=Z7cp5~*!Y}d#$rmDm2t9s;pvVr91?G=2 zcp@>tyuVY#fBrfJg904ceB!in$tr0yvV z$5GV>ZZR>jafM_kzmXOIo~6i2{*{amCYe0%X^=a=V|B4E_tSvFVxOm5bdfdI?yf(C z`q>^QeX)n^T_hcNSQ-=pCt^l~;Z?hjybk_KyBm5D2}N@YtDM+H^b27VbC5>6y4!R+ zuF6BOdBEuxNjHl_`erf^^rsi&cDONHvqZf!z@zaNTt0=f;X-LakHZ(Hn=!dNW0gh| z^PY!gC^LC2Xfr;g{|_@QMM9_e&l<2_;tg`U@}W$t=Fx>$)-xUm`^L-FV}c+z7#Ont zxNW|>!M$OI-sMNr*FE~eg5zBgFiLu+UH13SbXCZ+wf

fqCn1ahS^u+KYhl!P(s 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 literal 0 HcmV?d00001 diff --git a/src/icons/signal.png b/src/icons/signal.png new file mode 100644 index 0000000000000000000000000000000000000000..56ac41aa5c821f51cac4ddba0ee6bebedea52610 GIT binary patch literal 4424 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 + + + + + + + + + diff --git a/src/icons/siteground.svg b/src/icons/siteground.svg new file mode 100644 index 000000000..cba0c15f3 --- /dev/null +++ b/src/icons/siteground.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/icons/spip.svg b/src/icons/spip.svg new file mode 100644 index 000000000..6650df09c --- /dev/null +++ b/src/icons/spip.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/swiper.svg b/src/icons/swiper.svg new file mode 100644 index 000000000..63d5a4a32 --- /dev/null +++ b/src/icons/swiper.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/icons/sympa.png b/src/icons/sympa.png new file mode 100644 index 0000000000000000000000000000000000000000..288e92224ec4bed330dd93715400d8b09c9cbaf8 GIT binary patch literal 7355 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 + + + Syncfusion Logo + Created with Sketch. + + \ No newline at end of file diff --git a/src/icons/tailwindcss.svg b/src/icons/tailwindcss.svg new file mode 100644 index 000000000..5b0424030 --- /dev/null +++ b/src/icons/tailwindcss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/tessitura.svg b/src/icons/tessitura.svg new file mode 100644 index 000000000..96be0cdc1 --- /dev/null +++ b/src/icons/tessitura.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/icons/uCore.png b/src/icons/uCore.png deleted file mode 100644 index 5f5da3de3826af8170ad9f468dc43edf5c7b597a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 779 zcmV+m1N8ifP)6z~7uBvXY+SpK?N>!@A_r3Rh^-AEM@#x8v62Pbs@-WwZt#)g7p660Z z@0~IFc^t*}xV{5m{$j-6&D7IpRR*5)JUPL2q|sPZpXTN;xONb=Y7Mn|J!ANM9LLw= zD7pcl<8U4TJbgA@C(Y$@xqP}-t8bW_`yk)W%z*5uR4Pb%F*=Z|Ed8GI@p&w(P_dY*;W8YB&8nUp<;KjurQCD(pOeiFuW_puA^NH z?_EH7IRFJ?J z(@$Wzx1*8=($ySwBUr180ME}Lltr&=p?eu@PLQJPEN6@@67=^{r8=EuZHEk#^wq&6 z0?YFR>jXN<(QZiSP@*gVHm!(pC6V~O;&r@~GCug{pM>xGP$IyOS2Z*T$x1@qDkC>J z)PPy-L7M7}xAsDj{jRmyiAveuPD3CF0&L#28FU=Xibc*ZDDiwCDE@_Eo6G^CC~mOa zJId1AY~)RA&G~wLjqhr7Dyr4$Dx14HH;dXK5O%tT1h=w0pDj)&C$9`Z$g6bZaVGP7 zv~J>DXZvraNFa+I@!WxL^A^SdG*=(fg^QO4*x6Hp4r4F2l2Otu?y3rB5||O#;ChRR zuQ~94uhES&XU{on@1f9R^u~VnX4I9$T0e45GtnI~&;I+Ie*@OI&HTBYXH) + + + logo wap + Created with Sketch. + + + + \ No newline at end of file diff --git a/src/icons/webdev.png b/src/icons/webdev.png index 3d46323003e4851664d4c8a68eca8f3d2d3f00e5..a37ce3ec83faa0f6269df3d99521f9fe678d9a40 100644 GIT binary patch literal 5632 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 LNVDSNwHyBfsxRPF literal 5493 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 diff --git a/src/icons/webflow.svg b/src/icons/webflow.svg new file mode 100644 index 000000000..b7d4fd50a --- /dev/null +++ b/src/icons/webflow.svg @@ -0,0 +1,13 @@ + + + Created using Figma + + + + + + + + + + diff --git a/src/icons/websocket.png b/src/icons/websocket.png new file mode 100644 index 0000000000000000000000000000000000000000..7d94f1073717ab8511cb229d460a86cc42d20f8c GIT binary patch literal 990 zcmWlY`#04G0KmVlM>j*#tfHD|8agP*RD{?1#_i^A~(#?QE@8m9>-wK~S~XWx02uX8$9WUvO4s z*q9)QcG~UUZ-tYHKpiHBi81EwD_j?IJ%O=4n$F>=j*}eSH;LJXtC+tln4jbI3y!T| zex6?ynR|z19dBo7Ddyc0~?3I3S2Ysm6Rw4k#A&!yZvPxeoEzfWrk)6Z$Y!3jOa2Pim-yDBqN+$rR& z1BLDcen`(PUW_s~OP`GPY6e=kdIJAd^xvT-nM+=j1~B{xXL)8{bIOFc9SpYe^Z{?C zxt@rufIKH6w&15l`aaV3QlCbMAr(=awqm%02qQ+i2;D&9H-v4Xqn12poE3;OCH`xU z>+-0EW6Md|P0M96zQ;$C`g9(*;ky!#CB&PN?MPc0ky{z<;np8?)-(Htq+K**Ff~HH zD^~(Zv#0MiLHbBOqW><@U-C~CqrLcifS)$^|72#8oS#YGPsK^jA3_?-s|jjTDe*%Z zLy14Bwp5>?Dvrzpr0n5YH_6{}rwISm;QBwT$pj zXgtgL!^Cdqs)XZfDfXqii6ReNlqip&DU08}!%dl!U(lS#Uso9G=k`U82!Oft)K)=| z+h=2GzTcs7ynVa7$VgquQLk-h@eg8q3vY!yv7v6VQmpdQi-RHq@5?W@HMF*b8uynE z&1~r%$?+YzRrxBwEpYY9xY4i>xp$wv$vInpPybxn#1W0nM#c`2eL9;}!~3Fw{0BU= zM_U^{Us7=>%1zgFgW}p{Np(gBsTp=*BQZ{EHSdN0*jd%%a8slbE4K7WAIz53m6|G6 zZ_=GeOjDoMkXzLx)t1*XuDPABw5W8?HRB5hq{~H;F0BhOCTGOUg7XbmTo&SW<+5Z6 zD*fheni^&Sc5-G@)|$dVSD|o5QME2I`iZ{uy)6Sq51tA7)!ikkaP9F-lmbzk^au(7hWEVXb9 F{}10wO%(tD literal 0 HcmV?d00001 diff --git a/src/icons/wisyCMS.svg b/src/icons/wisyCMS.svg new file mode 100644 index 000000000..8063affdc --- /dev/null +++ b/src/icons/wisyCMS.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + diff --git a/src/icons/wpCache.png b/src/icons/wpCache.png index 7f24b9d35d8e80ee57eaca88430131e5ba19e25a..85ef209d9f01ee6b674f27f5d95ac243eaef1b63 100644 GIT binary patch delta 1522 zcmVN-rM8c+~eNb ze^7jJB5`U+Z13vp?(FGpDr@=l+vVWl^6%z_K7`G~%aJmIbbmmD>)_IPGJ14NfQL}3 zpNy4zDR!26j?~7-i8_Gf;?}H{r_sR4jaG?T9b|c0h_jfnbTo6^)7Nb`e(2@kXe4Cs z@9e_6vr89X)6dSfqP9~IWw4&3tdFjzk)7@5+K+dKO&nl#QFU$`YMOzPc1CrOZi$Oi zuB?Ti=i}a{gMXsy>)rMB?fd%T{{Qpz^ym8f@b2#8{{QS)5?=oQ@bU5O`1s}M=h*!G z=koF1VlH~`?&xC=T=)3v=j71S%)w$abp8C|?cBk|yRfyhrD7>=VIgT^8ei({>*?s@ z^YGc+*VpCZ*6!iTrIeUkA7@<-UhnPM;os5i>XH*tuRVrm=Lt|(o zVr)@W)XCKD=hDul!pF6sL0000}bW%=J z016NWPaC~9E*k#+{?0=o92x%m_U+Qi$gG%PMSnK?`t9T0*w)g{%*DREv$C(Ko|ln> zfp2SLO+!F7{qped@9*p6+R)9#wyK|;l8k|Wa9BSrw{^Gs0009MNklmTcIvORF=(<7 zqFq&4NNHG>Bw1Ed-BlT|i)Ce3_iu;7<$vT}(P*@(x(84cr2wGdkmpxfjYhHeh!P4H zu50Z!tJPYsRud$yBN?4qjkfxGtv0)Mcl26{-6}|b1czZJ1}AhljbWI&$PYII$!jTM zjx1JGEPcfo+Jp%>Mc@J^&~#R3MMb3lL>vN%z8l%^bD0DjDkMtL0?pupN#D5?nSTlc zK;()$c^;U6!EuJ*c^w>K7Opn$ezZJTsVlp9f+IKq$AQ!BrmAp;BM6Q{_x|liI!ghL zV}XWsIN!c?Iy4#pFb+_=E=fWfNmLOSH(30|?Ql9A@7oHiO&92L1}sMAO(fyuJV!w7eSKr;Sfp4t)br4&z2Uq zI4M|d_e61d;ed;($(4ky`*KHf4Bz{@+TH_7uh)Q2-*(JS*5-`nZj*$RcV2J)LP=jM zU^RN41v?A-N_q@lZ;d3#9=hu4^uE&W4-Cm>R|Ar1HkMfUIsa_UEBO@am92^Y|4K+123kwSl4h}6XEff?K zAt50tDJc{b6dxZS4h{}9G&C6*866!RNl8f<7#I=~5=2BqJbyeqBqStWUS2aZGchqS z6B83OG&BVT1ribx0|Ns%I5-#>7#tiN6B83YK0YWYC_q3!I5;>sI5=)@ZY?b>0RaIB z2nhfG{}U4v%F4`X_xIo5-@CiJva+(6n3#);i-v}VWo2bfPEH>m zAL;4o&CSik#DB!5rly~tpMHLRczAeKRaHnxNIN?_B_$=()6;QraWOG5c3>Q90000z zbW%=J0Q~&s-Vg9{aU&oX_3Yl>+SAd^zrCuUpPGn;gM52$V`5oTPDwa5G!_&H=-kM{ z!LF^MnvjfWUs66fD#S^(=>Px$jY&j7R5;6Z(&tvBKz|Sg;0sJzb#=`-XWg7rRdvHS z(HV2r_kRs-daxP6?+2$(-=c~JkW!rSJf()`-XK@8GU^jEkzbfu-^=DJfe90(`Q83_ z;1l=qr0VU`emXBa2hN90B=$#{a_}O0rqa#XHRH0)H=j4$&338miQkd)qT;*B*K!{~ z#n-^J7=O!zZl1pYY`N)9*xT@b02Ru(ZHhE*&B|K>zNAjbY-X!tX}9%J{62TEXU@>n z)U4BCwOiLxRUPRhy*>jw0WsanO--)rtw>r?t#v5}Wbrak_RN`TS~sfl5Xljp>aH9T z#S=uP@*8r@>1%J`m0iSi~O3rngi7!r0E)|znU`&v6 zWv5%SyNGRvZZE33g2KXf5wWk7i+N;X0LEbON&%@=#C|g8f2yGhY>N@f7ygH}p>ls0 zo<-sp_um=D*C{xQnfa{dk+$sKhK(n;&~Ia0g)SanN7nD@$+5yv=yUMx5AqHED}Q`H dJQ)2KDUaeGt|SD0W`qC$002ovPDHLkV1g6LONamf diff --git a/src/icons/wpengine.svg b/src/icons/wpengine.svg new file mode 100644 index 000000000..d759de179 --- /dev/null +++ b/src/icons/wpengine.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/wpvip.svg b/src/icons/wpvip.svg new file mode 100644 index 000000000..788a4fcbe --- /dev/null +++ b/src/icons/wpvip.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/yepcomm.png b/src/icons/yepcomm.png new file mode 100644 index 0000000000000000000000000000000000000000..4b987b382f335559068775ec230582d0c1a7864b GIT binary patch literal 3339 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 F;6L$Aw?hB` literal 0 HcmV?d00001 diff --git a/src/wappalyzer.js b/src/wappalyzer.js index e117c6121..7a2c3e368 100644 --- a/src/wappalyzer.js +++ b/src/wappalyzer.js @@ -6,13 +6,117 @@ * License: GPLv3 http://www.gnu.org/licenses/gpl-3.0.txt */ -'use strict'; - const validation = { hostname: /(www.)?((.+?)\.(([a-z]{2,3}\.)?[a-z]{2,6}))$/, - hostnameBlacklist: /((local|dev(elopment)?|stag(e|ing)?|test(ing)?|demo(shop)?|admin|google|cache)\.|\/admin|\.local)/ + hostnameBlacklist: /((local|dev(elopment)?|stag(e|ing)?|test(ing)?|demo(shop)?|admin|google|cache)\.|\/admin|\.local)/, }; +/** + * Enclose string in array + */ +function asArray(value) { + return value instanceof Array ? value : [value]; +} + +/** + * + */ +function asyncForEach(iterable, iterator) { + return Promise.all((iterable || []) + .map(item => new Promise(resolve => setTimeout(() => resolve(iterator(item)), 1)))); +} + +/** + * Mark application as detected, set confidence and version + */ +function addDetected(app, pattern, type, value, key) { + app.detected = true; + + // Set confidence level + app.confidence[`${type} ${key ? `${key} ` : ''}${pattern.regex}`] = pattern.confidence === undefined ? 100 : parseInt(pattern.confidence, 10); + + // Detect version number + if (pattern.version) { + const versions = []; + const matches = pattern.regex.exec(value); + + let { version } = pattern; + + if (matches) { + matches.forEach((match, i) => { + // Parse ternary operator + const ternary = new RegExp(`\\\\${i}\\?([^:]+):(.*)$`).exec(version); + + if (ternary && ternary.length === 3) { + version = version.replace(ternary[0], match ? ternary[1] : ternary[2]); + } + + // Replace back references + version = version.trim().replace(new RegExp(`\\\\${i}`, 'g'), match || ''); + }); + + if (version && versions.indexOf(version) === -1) { + versions.push(version); + } + + if (versions.length) { + // Use the longest detected version number + app.version = versions.reduce((a, b) => (a.length > b.length ? a : b)); + } + } + } +} + +function resolveExcludes(apps, detected) { + const excludes = []; + const detectedApps = Object.assign({}, apps, detected); + + // Exclude app in detected apps only + Object.keys(detectedApps).forEach((appName) => { + const app = detectedApps[appName]; + + if (app.props.excludes) { + asArray(app.props.excludes).forEach((excluded) => { + excludes.push(excluded); + }); + } + }); + + // Remove excluded applications + Object.keys(apps).forEach((appName) => { + if (excludes.indexOf(appName) > -1) { + delete apps[appName]; + } + }); +} + +class Application { + constructor(name, props, detected) { + this.confidence = {}; + this.confidenceTotal = 0; + this.detected = Boolean(detected); + this.excludes = []; + this.name = name; + this.props = props; + this.version = ''; + } + + /** + * Calculate confidence total + */ + getConfidence() { + let total = 0; + + Object.keys(this.confidence).forEach((id) => { + total += this.confidence[id]; + }); + + this.confidenceTotal = Math.min(total, 100); + + return this.confidenceTotal; + } +} + class Wappalyzer { constructor() { this.apps = {}; @@ -34,97 +138,117 @@ class Wappalyzer { * Log messages to console */ log(message, source, type) { - this.driver.log(message, source || '', type || 'debug'); - } - - asyncForEach(iterable, iterator) { - return Promise.all(( iterable || [] ).map(item => new Promise(resolve => setTimeout(() => resolve(iterator(item)), 1)))); + if (this.driver.log) { + this.driver.log(message, source || '', type || 'debug'); + } } analyze(url, data, context) { - const startTime = new Date(); - + const apps = {}; const promises = []; + const startTime = new Date(); + const { + scripts, + cookies, + headers, + js, + } = data; - var apps = {}; + let { html } = data; - if ( this.detected[url.canonical] === undefined ) { + if (this.detected[url.canonical] === undefined) { this.detected[url.canonical] = {}; } + const metaTags = []; + // Additional information - var language = null; + let language = null; - if ( data.html ) { - if ( typeof data.html !== 'string' ) { - data.html = ''; + if (html) { + if (typeof html !== 'string') { + html = ''; } - const matches = data.html.match(/]*[: ]lang="([a-z]{2}((-|_)[A-Z]{2})?)"/i); + let matches = data.html.match(new RegExp(']*[: ]lang="([a-z]{2}((-|_)[A-Z]{2})?)"', 'i')); language = matches && matches.length ? matches[1] : null; + + // Meta tags + const regex = /]+>/ig; + + do { + matches = regex.exec(html); + + if (!matches) { + break; + } + + metaTags.push(matches[0]); + } while (matches); } - Object.keys(this.apps).forEach(appName => { - apps[appName] = this.detected[url.canonical] && this.detected[url.canonical][appName] ? this.detected[url.canonical][appName] : new Application(appName, this.apps[appName]); + Object.keys(this.apps).forEach((appName) => { + apps[appName] = this.detected[url.canonical] && this.detected[url.canonical][appName] + ? this.detected[url.canonical][appName] + : new Application(appName, this.apps[appName]); - var app = apps[appName]; + const app = apps[appName]; - this.analyzeUrl(app, url); + promises.push(this.analyzeUrl(app, url)); - if ( data.html ) { - promises.push(this.analyzeHtml(app, data.html)); - promises.push(this.analyzeMeta(app, data.html)); + if (html) { + promises.push(this.analyzeHtml(app, html)); + promises.push(this.analyzeMeta(app, metaTags)); } - if ( data.scripts ) { - promises.push(this.analyzeScripts(app, data.scripts)); + if (scripts) { + promises.push(this.analyzeScripts(app, scripts)); } - if ( data.cookies ) { - promises.push(this.analyzeCookies(app, data.cookies)); + if (cookies) { + promises.push(this.analyzeCookies(app, cookies)); } - if ( data.headers ) { - promises.push(this.analyzeHeaders(app, data.headers)); + if (headers) { + promises.push(this.analyzeHeaders(app, headers)); } }); - if ( data.js ) { - Object.keys(data.js).forEach(appName => { - if (typeof data.js[appName] != 'function') { - promises.push(this.analyzeJs(apps[appName], data.js[appName])); + if (js) { + Object.keys(js).forEach((appName) => { + if (typeof js[appName] !== 'function') { + promises.push(this.analyzeJs(apps[appName], js[appName])); } }); } - return new Promise(resolve => { - Promise.all(promises) - .then(() => { - Object.keys(apps).forEach(appName => { - let app = apps[appName]; + return new Promise(async (resolve) => { + await Promise.all(promises); - if (!app.detected || !app.getConfidence()) { - delete apps[app.name]; - } - }); + Object.keys(apps).forEach((appName) => { + const app = apps[appName]; + + if (!app.detected || !app.getConfidence()) { + delete apps[app.name]; + } + }); - this.resolveExcludes(apps, this.detected[url]); - this.resolveImplies(apps, url.canonical); + resolveExcludes(apps, this.detected[url]); + this.resolveImplies(apps, url.canonical); - this.cacheDetectedApps(apps, url.canonical); - this.trackDetectedApps(apps, url, language); + this.cacheDetectedApps(apps, url.canonical); + this.trackDetectedApps(apps, url, language); - this.log('Processing ' + Object.keys(data).join(', ') + ' took ' + (( new Date() - startTime ) / 1000).toFixed(2) + 's (' + url.hostname + ')', 'core'); + this.log(`Processing ${Object.keys(data).join(', ')} took ${((new Date() - startTime) / 1000).toFixed(2)}s (${url.hostname})`, 'core'); - if ( Object.keys(apps).length ) { - this.log('Identified ' + Object.keys(apps).join(', ') + ' (' + url.hostname + ')', 'core'); - } + if (Object.keys(apps).length) { + this.log(`Identified ${Object.keys(apps).join(', ')} (${url.hostname})`, 'core'); + } - this.driver.displayApps(this.detected[url.canonical], { language }, context); + this.driver.displayApps(this.detected[url.canonical], { language }, context); - return resolve(); - }); + return resolve(); }); } @@ -139,33 +263,32 @@ class Wappalyzer { * */ robotsTxtAllows(url) { - return new Promise((resolve, reject) => { - var parsed = this.parseUrl(url); + return new Promise(async (resolve, reject) => { + const parsed = this.parseUrl(url); - if ( parsed.protocol !== 'http:' && parsed.protocol !== 'https:' ) { + if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') { return reject(); } - this.driver.getRobotsTxt(parsed.host, parsed.protocol === 'https:') - .then(robotsTxt => { - if ( robotsTxt.some(disallowedPath => parsed.pathname.indexOf(disallowedPath) === 0) ) { - return reject(); - } + const robotsTxt = await this.driver.getRobotsTxt(parsed.host, parsed.protocol === 'https:'); - return resolve(); - }, () => resolve()); + if (robotsTxt.some(disallowedPath => parsed.pathname.indexOf(disallowedPath) === 0)) { + return reject(); + } + + return resolve(); }); - }; + } /** * Parse a URL */ parseUrl(url) { - var a = this.driver.document.createElement('a'); + const a = this.driver.document.createElement('a'); a.href = url; - a.canonical = a.protocol + '//' + a.host + a.pathname; + a.canonical = `${a.protocol}//${a.host}${a.pathname}`; return a; } @@ -173,22 +296,21 @@ class Wappalyzer { /** * */ - parseRobotsTxt(robotsTxt) { - var userAgent; - var disallow = []; + static parseRobotsTxt(robotsTxt) { + const disallow = []; + + let userAgent; - robotsTxt.split('\n').forEach(line => { - var matches = /^User-agent:\s*(.+)$/i.exec(line); + robotsTxt.split('\n').forEach((line) => { + let matches = /^User-agent:\s*(.+)$/i.exec(line.trim()); - if ( matches ) { + if (matches) { userAgent = matches[1].toLowerCase(); - } else { - if ( userAgent === '*' || userAgent === 'wappalyzer' ) { - matches = /^Disallow:\s*(.+)$/i.exec(line); + } else if (userAgent === '*' || userAgent === 'wappalyzer') { + matches = /^Disallow:\s*(.+)$/i.exec(line.trim()); - if ( matches ) { - disallow.push(matches[1]); - } + if (matches) { + disallow.push(matches[1]); } } }); @@ -200,55 +322,48 @@ class Wappalyzer { * */ ping() { - if ( Object.keys(this.hostnameCache).length > 100 ) { + if (Object.keys(this.hostnameCache).length > 100) { this.driver.ping(this.hostnameCache); this.hostnameCache = {}; } - if ( this.adCache.length > 50 ) { + if (this.adCache.length > 50) { this.driver.ping({}, this.adCache); this.adCache = []; } } - /** - * Enclose string in array - */ - asArray(value) { - return value instanceof Array ? value : [ value ]; - } - /** * Parse apps.json patterns */ parsePatterns(patterns) { - if ( !patterns ) { + if (!patterns) { return []; } - var parsed = {}; + let parsed = {}; // Convert string to object containing array containing string - if ( typeof patterns === 'string' || patterns instanceof Array ) { + if (typeof patterns === 'string' || patterns instanceof Array) { patterns = { - main: this.asArray(patterns) + main: asArray(patterns), }; } - Object.keys(patterns).forEach(key => { + Object.keys(patterns).forEach((key) => { parsed[key] = []; - this.asArray(patterns[key]).forEach(pattern => { - var attrs = {}; + asArray(patterns[key]).forEach((pattern) => { + const attrs = {}; pattern.split('\\;').forEach((attr, i) => { - if ( i ) { + if (i) { // Key value pairs attr = attr.split(':'); - if ( attr.length > 1 ) { + if (attr.length > 1) { attrs[attr.shift()] = attr.join(':'); } } else { @@ -256,10 +371,10 @@ class Wappalyzer { try { attrs.regex = new RegExp(attr.replace('/', '\/'), 'i'); // Escape slashes in regular expression - } catch (e) { + } catch (error) { attrs.regex = new RegExp(); - this.log(e + ': ' + attr, 'error', 'core'); + this.log(`${error.message}: ${attr}`, 'error', 'core'); } } }); @@ -269,7 +384,7 @@ class Wappalyzer { }); // Convert back to array if the original pattern list was an array (or string) - if ( 'main' in parsed ) { + if ('main' in parsed) { parsed = parsed.main; } @@ -280,69 +395,51 @@ class Wappalyzer { * Parse JavaScript patterns */ parseJsPatterns() { - Object.keys(this.apps).forEach(appName => { + Object.keys(this.apps).forEach((appName) => { if (this.apps[appName].js) { this.jsPatterns[appName] = this.parsePatterns(this.apps[appName].js); } }); } - resolveExcludes(apps, detected) { - let excludes = []; - - // Exclude app in detected apps only - Object.keys(Object.assign({}, apps, detected)).forEach(appName => { - let app = apps[appName]; - - if (app.props.excludes) { - this.asArray(app.props.excludes).forEach(excluded => { - excludes.push(excluded); - }); - } - }); - - // Remove excluded applications - Object.keys(apps).forEach(appName => { - if (excludes.indexOf(appName) > -1) { - delete apps[appName]; - } - }); - } - resolveImplies(apps, url) { - var checkImplies = true; + let checkImplies = true; - // Implied applications - // Run several passes as implied apps may imply other apps - while ( checkImplies ) { - checkImplies = false; - - Object.keys(apps).forEach(appName => { - var app = apps[appName]; + const resolve = (appName) => { + const app = apps[appName]; - if ( app && app.props.implies ) { - this.asArray(app.props.implies).forEach(implied => { - implied = this.parsePatterns(implied)[0]; + if (app && app.props.implies) { + asArray(app.props.implies).forEach((implied) => { + [implied] = this.parsePatterns(implied); - if ( !this.apps[implied.string] ) { - this.log('Implied application ' + implied.string + ' does not exist', 'core', 'warn'); + if (!this.apps[implied.string]) { + this.log(`Implied application ${implied.string} does not exist`, 'core', 'warn'); - return; - } + return; + } - if ( !( implied.string in apps ) ) { - apps[implied.string] = this.detected[url] && this.detected[url][implied.string] ? this.detected[url][implied.string] : new Application(implied.string, this.apps[implied.string], true); + if (!(implied.string in apps)) { + apps[implied.string] = this.detected[url] && this.detected[url][implied.string] + ? this.detected[url][implied.string] + : new Application(implied.string, this.apps[implied.string], true); - checkImplies = true; - } + checkImplies = true; + } - // Apply app confidence to implied app - Object.keys(app.confidence).forEach(id => { - apps[implied.string].confidence[id + ' implied by ' + appName] = app.confidence[id] * ( implied.confidence === undefined ? 1 : implied.confidence / 100 ); - }); + // Apply app confidence to implied app + Object.keys(app.confidence).forEach((id) => { + apps[implied.string].confidence[`${id} implied by ${appName}`] = app.confidence[id] * (implied.confidence === undefined ? 1 : implied.confidence / 100); }); - } - }); + }); + } + }; + + // Implied applications + // Run several passes as implied apps may imply other apps + while (checkImplies) { + checkImplies = false; + + Object.keys(apps).forEach(resolve); } } @@ -350,14 +447,17 @@ class Wappalyzer { * Cache detected applications */ cacheDetectedApps(apps, url) { - Object.keys(apps).forEach(appName => { - let app = apps[appName]; + Object.keys(apps).forEach((appName) => { + const app = apps[appName]; // Per URL this.detected[url][appName] = app; - Object.keys(app.confidence).forEach(id => this.detected[url][appName].confidence[id] = app.confidence[id]); - }) + Object.keys(app.confidence) + .forEach((id) => { + this.detected[url][appName].confidence[id] = app.confidence[id]; + }); + }); if (this.driver.ping instanceof Function) { this.ping(); @@ -368,41 +468,44 @@ class Wappalyzer { * Track detected applications */ trackDetectedApps(apps, url, language) { - if ( !( this.driver.ping instanceof Function ) ) { + if (!(this.driver.ping instanceof Function)) { return; } - const hostname = url.protocol + '//' + url.hostname; + const hostname = `${url.protocol}//${url.hostname}`; - Object.keys(apps).forEach(appName => { + Object.keys(apps).forEach((appName) => { const app = apps[appName]; - if ( this.detected[url.canonical][appName].getConfidence() >= 100 ) { - if ( validation.hostname.test(url.hostname) && !validation.hostnameBlacklist.test(url.hostname) ) { - if ( !( hostname in this.hostnameCache ) ) { + if (this.detected[url.canonical][appName].getConfidence() >= 100) { + if ( + validation.hostname.test(url.hostname) + && !validation.hostnameBlacklist.test(url.hostname) + ) { + if (!(hostname in this.hostnameCache)) { this.hostnameCache[hostname] = { applications: {}, - meta: {} + meta: {}, }; } - if ( !( appName in this.hostnameCache[hostname].applications ) ) { + if (!(appName in this.hostnameCache[hostname].applications)) { this.hostnameCache[hostname].applications[appName] = { - hits: 0 + hits: 0, }; } - this.hostnameCache[hostname].applications[appName].hits ++; + this.hostnameCache[hostname].applications[appName].hits += 1; - if ( apps[appName].version ) { + if (apps[appName].version) { this.hostnameCache[hostname].applications[appName].version = app.version; } } } }); - if ( hostname in this.hostnameCache ) { - this.hostnameCache[hostname].meta['language'] = language; + if (hostname in this.hostnameCache) { + this.hostnameCache[hostname].meta.language = language; } this.ping(); @@ -412,15 +515,15 @@ class Wappalyzer { * Analyze URL */ analyzeUrl(app, url) { - var patterns = this.parsePatterns(app.props.url); + const patterns = this.parsePatterns(app.props.url); - if ( !patterns.length ) { + if (!patterns.length) { return Promise.resolve(); } - return this.asyncForEach(patterns, pattern => { - if ( pattern.regex.test(url.canonical) ) { - this.addDetected(app, pattern, 'url', url.canonical); + return asyncForEach(patterns, (pattern) => { + if (pattern.regex.test(url.canonical)) { + addDetected(app, pattern, 'url', url.canonical); } }); } @@ -429,15 +532,15 @@ class Wappalyzer { * Analyze HTML */ analyzeHtml(app, html) { - var patterns = this.parsePatterns(app.props.html); + const patterns = this.parsePatterns(app.props.html); - if ( !patterns.length ) { + if (!patterns.length) { return Promise.resolve(); } - return this.asyncForEach(patterns, pattern => { - if ( pattern.regex.test(html) ) { - this.addDetected(app, pattern, 'html', html); + return asyncForEach(patterns, (pattern) => { + if (pattern.regex.test(html)) { + addDetected(app, pattern, 'html', html); } }); } @@ -446,16 +549,16 @@ class Wappalyzer { * Analyze script tag */ analyzeScripts(app, scripts) { - var patterns = this.parsePatterns(app.props.script); + const patterns = this.parsePatterns(app.props.script); - if ( !patterns.length ) { + if (!patterns.length) { return Promise.resolve(); } - return this.asyncForEach(patterns, pattern => { - scripts.forEach(uri => { - if ( pattern.regex.test(uri) ) { - this.addDetected(app, pattern, 'script', uri); + return asyncForEach(patterns, (pattern) => { + scripts.forEach((uri) => { + if (pattern.regex.test(uri)) { + addDetected(app, pattern, 'script', uri); } }); }); @@ -464,30 +567,31 @@ class Wappalyzer { /** * Analyze meta tag */ - analyzeMeta(app, html) { - const regex = /]+>/ig; + analyzeMeta(app, metaTags) { const patterns = this.parsePatterns(app.props.meta); const promises = []; - let matches; + if (!app.props.meta) { + return Promise.resolve(); + } - while ( patterns && ( matches = regex.exec(html) ) ) { - for ( let meta in patterns ) { - const r = new RegExp('(?:name|property)=["\']' + meta + '["\']', 'i'); + metaTags.forEach((match) => { + Object.keys(patterns).forEach((meta) => { + const r = new RegExp(`(?:name|property)=["']${meta}["']`, 'i'); - if ( r.test(matches[0]) ) { - let content = matches[0].match(/content=("|')([^"']+)("|')/i); + if (r.test(match)) { + const content = match.match(/content=("|')([^"']+)("|')/i); - promises.push(this.asyncForEach(patterns[meta], pattern => { - if ( content && content.length === 4 && pattern.regex.test(content[2]) ) { - this.addDetected(app, pattern, 'meta', content[2], meta); + promises.push(asyncForEach(patterns[meta], (pattern) => { + if (content && content.length === 4 && pattern.regex.test(content[2])) { + addDetected(app, pattern, 'meta', content[2], meta); } })); } - } - } + }); + }); - return promises ? Promise.all(promises) : Promise.resolve(); + return Promise.all(promises); } /** @@ -497,15 +601,15 @@ class Wappalyzer { const patterns = this.parsePatterns(app.props.headers); const promises = []; - Object.keys(patterns).forEach(headerName => { - if (typeof patterns[headerName] != 'function') { - promises.push(this.asyncForEach(patterns[headerName], pattern => { + Object.keys(patterns).forEach((headerName) => { + if (typeof patterns[headerName] !== 'function') { + promises.push(asyncForEach(patterns[headerName], (pattern) => { headerName = headerName.toLowerCase(); - if ( headerName in headers ) { - headers[headerName].forEach(headerValue => { - if ( pattern.regex.test(headerValue) ) { - this.addDetected(app, pattern, 'headers', headerValue, headerName); + if (headerName in headers) { + headers[headerName].forEach((headerValue) => { + if (pattern.regex.test(headerValue)) { + addDetected(app, pattern, 'headers', headerValue, headerName); } }); } @@ -523,15 +627,15 @@ class Wappalyzer { const patterns = this.parsePatterns(app.props.cookies); const promises = []; - Object.keys(patterns).forEach(cookieName => { - if (typeof patterns[cookieName] != 'function') { - cookieName = cookieName.toLowerCase(); + Object.keys(patterns).forEach((cookieName) => { + if (typeof patterns[cookieName] !== 'function') { + const cookieNameLower = cookieName.toLowerCase(); - promises.push(this.asyncForEach(patterns[cookieName], pattern => { - const cookie = cookies.find(cookie => cookie.name.toLowerCase() === cookieName); + promises.push(asyncForEach(patterns[cookieName], (pattern) => { + const cookie = cookies.find(_cookie => _cookie.name.toLowerCase() === cookieNameLower); - if ( cookie && pattern.regex.test(cookie.value) ) { - this.addDetected(app, pattern, 'cookies', cookie.value, cookieName); + if (cookie && pattern.regex.test(cookie.value)) { + addDetected(app, pattern, 'cookies', cookie.value, cookieName); } })); } @@ -546,14 +650,14 @@ class Wappalyzer { analyzeJs(app, results) { const promises = []; - Object.keys(results).forEach(string => { - if (typeof results[string] != 'function') { - promises.push(this.asyncForEach(Object.keys(results[string]), index => { + Object.keys(results).forEach((string) => { + if (typeof results[string] !== 'function') { + promises.push(asyncForEach(Object.keys(results[string]), (index) => { const pattern = this.jsPatterns[app.name][string][index]; const value = results[string][index]; - if ( pattern && pattern.regex.test(value) ) { - this.addDetected(app, pattern, 'js', value); + if (pattern && pattern.regex.test(value)) { + addDetected(app, pattern, 'js', value, string); } })); } @@ -561,76 +665,8 @@ class Wappalyzer { return promises ? Promise.all(promises) : Promise.resolve(); } - - /** - * Mark application as detected, set confidence and version - */ - addDetected(app, pattern, type, value, key) { - app.detected = true; - - // Set confidence level - app.confidence[type + ' ' + ( key ? key + ' ' : '' ) + pattern.regex] = pattern.confidence === undefined ? 100 : parseInt(pattern.confidence); - - // Detect version number - if ( pattern.version ) { - var versions = []; - var version = pattern.version; - var matches = pattern.regex.exec(value); - - if ( matches ) { - matches.forEach((match, i) => { - // Parse ternary operator - var ternary = new RegExp('\\\\' + i + '\\?([^:]+):(.*)$').exec(version); - - if ( ternary && ternary.length === 3 ) { - version = version.replace(ternary[0], match ? ternary[1] : ternary[2]); - } - - // Replace back references - version = version.trim().replace(new RegExp('\\\\' + i, 'g'), match || ''); - }); - - if ( version && versions.indexOf(version) === -1 ) { - versions.push(version); - } - - if ( versions.length ) { - // Use the longest detected version number - app.version = versions.reduce((a, b) => a.length > b.length ? a : b); - } - } - } - } -} - -/** - * Application class - */ -class Application { - constructor(name, props, detected) { - this.confidence = {}; - this.confidenceTotal = 0; - this.detected = Boolean(detected); - this.excludes = []; - this.name = name; - this.props = props; - this.version = ''; - } - - /** - * Calculate confidence total - */ - getConfidence() { - var total = 0; - - for ( let id in this.confidence ) { - total += this.confidence[id]; - } - - return this.confidenceTotal = Math.min(total, 100); - } } -if ( typeof module === 'object' ) { +if (typeof module === 'object') { module.exports = Wappalyzer; } diff --git a/src/wappalyzer.spec.js b/src/wappalyzer.spec.js new file mode 100644 index 000000000..f51d7fb10 --- /dev/null +++ b/src/wappalyzer.spec.js @@ -0,0 +1,278 @@ +/* eslint-env mocha */ + +const { assert, expect } = require('chai'); +const Wappalyzer = require('../src/wappalyzer'); + +const appsJson = { + appUrl: { + url: 'test', + }, + appCookies: { + cookies: { + test: 'test', + }, + }, + appUppercaseCookies: { + cookies: { + Test: 'Test', + }, + }, + appHeaders: { + headers: { + 'X-Powered-By': 'test', + }, + }, + appHtml: { + html: 'test v(\\d)\\;confidence:50\\;version:\\1', + implies: 'appImplies', + excludes: 'appExcludes', + }, + appMeta: { + meta: { + generator: 'test', + }, + }, + appScript: { + script: 'test', + }, + appJs: { + js: { + key: 'value', + }, + }, + appImplies: { + }, + appExcludes: { + html: 'test', + }, +}; + +const driverData = { + cookies: [ + { + name: 'test', + value: 'test', + domain: '', + path: '', + }, + ], + headers: { + 'x-powered-by': [ + 'test', + ], + }, + html: ' html test v1', + scripts: [ + 'test', + ], + js: { + appJs: { + key: [ + 'value', + ], + }, + }, +}; + +describe('Wappalyzer', () => { + describe('#analyze()', () => { + let apps; + + before(async () => { + const wappalyzer = new Wappalyzer(); + + wappalyzer.apps = appsJson; + + wappalyzer.parseJsPatterns(); + + wappalyzer.driver.displayApps = (detected) => { + apps = detected; + }; + + await wappalyzer.analyze({ canonical: 'test' }, driverData); + }); + + it('should identify technologies using URLs', () => { + expect(apps).to.have.any.keys('appUrl'); + }); + + it('should identify technologies using HTML', () => { + expect(apps).to.have.any.keys('appHtml'); + }); + + it('should identify technologies using meta tags', () => { + expect(apps).to.have.any.keys('appMeta'); + }); + + it('should identify technologies using script URLs', () => { + expect(apps).to.have.any.keys('appScript'); + }); + + it('should identify technologies using headers', () => { + expect(apps).to.have.any.keys('appHeaders'); + }); + + it('should identify technologies using cookies', () => { + expect(apps).to.have.any.keys('appCookies'); + }); + + it('should identify technologies using uppercase named cookies', () => { + expect(apps).to.have.any.keys('appUppercaseCookies'); + }); + + it('should identify technologies using JavaScript', () => { + expect(apps).to.have.any.keys('appJs'); + }); + + it('should return the implied technology', () => { + expect(apps).to.have.any.keys('appImplies'); + }); + + it('should not return the excluded technology', () => { + expect(apps).to.not.have.any.keys('appExcludes'); + }); + + it('should return the confidence value', () => { + assert.equal(apps.appHtml.confidenceTotal, 50); + }); + + it('should return the version number', () => { + assert.equal(apps.appHtml.version, '1'); + }); + + it('should analyze html', async () => { + const html = ` + + + + Page title | Html detection + + + +

Technologies Test Page | Html detection

+ + + + + + `; + const wappalyzer = new Wappalyzer(); + wappalyzer.apps = { + "Google Tag Manager": { + "html": [ + "googletagmanager\\.com/ns\\.html[^>]+>", + "" + ] + } + }; + var applications = null; + wappalyzer.driver = { + log () {}, + displayApps (detectedMap) { + applications = detectedMap; + } + }; + + await wappalyzer.analyze({ canonical: 'example.com' }, { html }); + assert.equal(applications['Google Tag Manager'].name, 'Google Tag Manager'); + }); + + it('should analyze scripts', async () => { + const scripts = [ + 'http://www.google-analytics.com/analytics.js', + 'http://example.com/assets/js/jquery.min.js' + ]; + const wappalyzer = new Wappalyzer(); + wappalyzer.apps = { + "Google Analytics": { + "cats": [ + 10 + ], + "script": "google-analytics\\.com\\/(?:ga|urchin|(analytics))\\.js\\;version:\\1?UA:" + }, + "jQuery": { + "script": [ + "jquery(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", + "/([\\d.]+)/jquery(?:\\.min)?\\.js\\;version:\\1", + "jquery.*\\.js(?:\\?ver(?:sion)?=([\\d.]+))?\\;version:\\1" + ] + } + }; + var applications = null; + wappalyzer.driver = { + log () {}, + displayApps (detectedMap) { + applications = detectedMap; + } + }; + + await wappalyzer.analyze({ canonical: 'example.com' }, { scripts }); + assert.equal(applications['Google Analytics'].name, 'Google Analytics'); + assert.equal(applications['jQuery'].name, 'jQuery'); + }); + + it('should analyze headers', async () => { + const headers = { + 'date': [ 'Thu, 01 Feb 2018 11:34:18 GMT' ], + 'connection': [ 'keep-alive' ], + 'x-powered-by': [ 'Express'], + 'etag': [ 'W/125-1jQLmiya7mfec43xR3Eb3pjdu64s' ], + 'content-length': [ '293' ], + 'content-type': [ 'text/html; charset=utf-8' ] + }; + const wappalyzer = new Wappalyzer(); + wappalyzer.apps = { + "Express": { + "headers": { + "X-Powered-By": "^Express$" + } + } + }; + var applications = null; + wappalyzer.driver = { + log () {}, + displayApps (detectedMap) { + applications = detectedMap; + } + }; + + await wappalyzer.analyze({ canonical: 'example.com' }, { headers }); + assert.equal(applications['Express'].name, 'Express'); + }); + + it('should analyze js globals', async () => { + const js = { + 'Moment.js': { 'moment': { '0': true } }, + 'Google Font API': { 'WebFonts': { '0': true } } + }; + const wappalyzer = new Wappalyzer(); + wappalyzer.apps = { + "Moment.js": { + "js": { + "moment": "", + "moment.version": "(.*)\\;version:\\1" + } + }, + "Google Font API": { + "js": { + "WebFonts": "" + } + } + }; + var applications = null; + wappalyzer.driver = { + log () {}, + displayApps (detectedMap) { + applications = detectedMap; + } + }; + + wappalyzer.parseJsPatterns(); + await wappalyzer.analyze({ canonical: 'example.com' }, { js }); + + assert.equal(applications['Google Font API'].name, 'Google Font API'); + assert.equal(applications['Moment.js'].name, 'Moment.js'); + }); + }); +}); diff --git a/test/analyze.spec.js b/test/analyze.spec.js deleted file mode 100644 index 99cf6a516..000000000 --- a/test/analyze.spec.js +++ /dev/null @@ -1,144 +0,0 @@ -/* eslint-env mocha */ - -'use strict'; - -const assert = require('chai').assert; -const Wappalyzer = require('../src/wappalyzer'); - -describe('should analyze website elements properly', function () { - - it('should analyze html', async () => { - const html = ` - - - - Page title | Html detection - - - -

Technologies Test Page | Html detection

- - - - - - `; - const wappalyzer = new Wappalyzer(); - wappalyzer.apps = { - "Google Tag Manager": { - "html": [ - "googletagmanager\\.com/ns\\.html[^>]+>", - "" - ] - } - }; - var applications = null; - wappalyzer.driver = { - log () {}, - displayApps (detectedMap) { - applications = detectedMap; - } - }; - - await wappalyzer.analyze({ canonical: 'example.com' }, { html }); - assert.equal(applications['Google Tag Manager'].name, 'Google Tag Manager'); - }); - - it('should analyze scripts', async () => { - const scripts = [ - 'http://www.google-analytics.com/analytics.js', - 'http://example.com/assets/js/jquery.min.js' - ]; - const wappalyzer = new Wappalyzer(); - wappalyzer.apps = { - "Google Analytics": { - "cats": [ - 10 - ], - "script": "google-analytics\\.com\\/(?:ga|urchin|(analytics))\\.js\\;version:\\1?UA:" - }, - "jQuery": { - "script": [ - "jquery(?:\\-|\\.)([\\d.]*\\d)[^/]*\\.js\\;version:\\1", - "/([\\d.]+)/jquery(?:\\.min)?\\.js\\;version:\\1", - "jquery.*\\.js(?:\\?ver(?:sion)?=([\\d.]+))?\\;version:\\1" - ] - } - }; - var applications = null; - wappalyzer.driver = { - log () {}, - displayApps (detectedMap) { - applications = detectedMap; - } - }; - - await wappalyzer.analyze({ canonical: 'example.com' }, { scripts }); - assert.equal(applications['Google Analytics'].name, 'Google Analytics'); - assert.equal(applications['jQuery'].name, 'jQuery'); - }); - - it('should analyze headers', async () => { - const headers = { - 'date': [ 'Thu, 01 Feb 2018 11:34:18 GMT' ], - 'connection': [ 'keep-alive' ], - 'x-powered-by': [ 'Express'], - 'etag': [ 'W/125-1jQLmiya7mfec43xR3Eb3pjdu64s' ], - 'content-length': [ '293' ], - 'content-type': [ 'text/html; charset=utf-8' ] - }; - const wappalyzer = new Wappalyzer(); - wappalyzer.apps = { - "Express": { - "headers": { - "X-Powered-By": "^Express$" - } - } - }; - var applications = null; - wappalyzer.driver = { - log () {}, - displayApps (detectedMap) { - applications = detectedMap; - } - }; - - await wappalyzer.analyze({ canonical: 'example.com' }, { headers }); - assert.equal(applications['Express'].name, 'Express'); - }); - - it('should analyze js globals', async () => { - const js = { - 'Moment.js': { 'moment': { '0': true } }, - 'Google Font API': { 'WebFonts': { '0': true } } - }; - const wappalyzer = new Wappalyzer(); - wappalyzer.apps = { - "Moment.js": { - "js": { - "moment": "", - "moment.version": "(.*)\\;version:\\1" - } - }, - "Google Font API": { - "js": { - "WebFonts": "" - } - } - }; - var applications = null; - wappalyzer.driver = { - log () {}, - displayApps (detectedMap) { - applications = detectedMap; - } - }; - - wappalyzer.parseJsPatterns(); - await wappalyzer.analyze({ canonical: 'example.com' }, { js }); - - assert.equal(applications['Google Font API'].name, 'Google Font API'); - assert.equal(applications['Moment.js'].name, 'Moment.js'); - }); -}); From 0357da70af2c3296fde6c45ef2dee2a4e10a3203 Mon Sep 17 00:00:00 2001 From: Daniel Zdziebko Date: Sun, 5 Jan 2020 21:30:23 +0100 Subject: [PATCH 14/50] Add category 66 - UI Frameworks to all languages --- src/drivers/webextension/_locales/ca/messages.json | 3 ++- src/drivers/webextension/_locales/de/messages.json | 3 ++- src/drivers/webextension/_locales/el/messages.json | 3 ++- src/drivers/webextension/_locales/en/messages.json | 3 ++- src/drivers/webextension/_locales/es/messages.json | 3 ++- src/drivers/webextension/_locales/fa/messages.json | 3 ++- src/drivers/webextension/_locales/fr/messages.json | 3 ++- src/drivers/webextension/_locales/gl_ES/messages.json | 3 ++- src/drivers/webextension/_locales/gr/messages.json | 3 ++- src/drivers/webextension/_locales/id/messages.json | 3 ++- src/drivers/webextension/_locales/it/messages.json | 3 ++- src/drivers/webextension/_locales/ja/messages.json | 3 ++- src/drivers/webextension/_locales/pt/messages.json | 3 ++- src/drivers/webextension/_locales/pt_BR/messages.json | 3 ++- src/drivers/webextension/_locales/ro/messages.json | 3 ++- src/drivers/webextension/_locales/ru/messages.json | 3 ++- src/drivers/webextension/_locales/sk/messages.json | 3 ++- src/drivers/webextension/_locales/tr/messages.json | 3 ++- src/drivers/webextension/_locales/uk/messages.json | 3 ++- src/drivers/webextension/_locales/uz/messages.json | 3 ++- src/drivers/webextension/_locales/zh_CN/messages.json | 3 ++- src/drivers/webextension/_locales/zh_TW/messages.json | 3 ++- 22 files changed, 44 insertions(+), 22 deletions(-) diff --git a/src/drivers/webextension/_locales/ca/messages.json b/src/drivers/webextension/_locales/ca/messages.json index 230c1b210..825dcf3e4 100644 --- a/src/drivers/webextension/_locales/ca/messages.json +++ b/src/drivers/webextension/_locales/ca/messages.json @@ -79,5 +79,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Proxys invers" }, - "categoryName65": { "message": "Balanceigs de càrrega" } + "categoryName65": { "message": "Balanceigs de càrrega" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/de/messages.json b/src/drivers/webextension/_locales/de/messages.json index 86b804e81..f49ecc216 100644 --- a/src/drivers/webextension/_locales/de/messages.json +++ b/src/drivers/webextension/_locales/de/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/el/messages.json b/src/drivers/webextension/_locales/el/messages.json index 2f6b89d3e..6f46ccd03 100644 --- a/src/drivers/webextension/_locales/el/messages.json +++ b/src/drivers/webextension/_locales/el/messages.json @@ -74,5 +74,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/en/messages.json b/src/drivers/webextension/_locales/en/messages.json index 3edf9780c..2ed0c5ef2 100644 --- a/src/drivers/webextension/_locales/en/messages.json +++ b/src/drivers/webextension/_locales/en/messages.json @@ -79,5 +79,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/es/messages.json b/src/drivers/webextension/_locales/es/messages.json index c6565b7b2..ee0a480ee 100644 --- a/src/drivers/webextension/_locales/es/messages.json +++ b/src/drivers/webextension/_locales/es/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/fa/messages.json b/src/drivers/webextension/_locales/fa/messages.json index d744e2893..f71e98e1a 100644 --- a/src/drivers/webextension/_locales/fa/messages.json +++ b/src/drivers/webextension/_locales/fa/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/fr/messages.json b/src/drivers/webextension/_locales/fr/messages.json index 1acf822ff..88a4ba138 100644 --- a/src/drivers/webextension/_locales/fr/messages.json +++ b/src/drivers/webextension/_locales/fr/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/gl_ES/messages.json b/src/drivers/webextension/_locales/gl_ES/messages.json index 1e6dc393f..6e54050a1 100644 --- a/src/drivers/webextension/_locales/gl_ES/messages.json +++ b/src/drivers/webextension/_locales/gl_ES/messages.json @@ -79,5 +79,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Proxy inverso" }, - "categoryName65": { "message": "Balanceador de carga" } + "categoryName65": { "message": "Balanceador de carga" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/gr/messages.json b/src/drivers/webextension/_locales/gr/messages.json index f0204492c..6dceaf22c 100644 --- a/src/drivers/webextension/_locales/gr/messages.json +++ b/src/drivers/webextension/_locales/gr/messages.json @@ -74,5 +74,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/id/messages.json b/src/drivers/webextension/_locales/id/messages.json index 26834b8d5..31f4b64f7 100644 --- a/src/drivers/webextension/_locales/id/messages.json +++ b/src/drivers/webextension/_locales/id/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/it/messages.json b/src/drivers/webextension/_locales/it/messages.json index c579c112b..0f6f656d1 100644 --- a/src/drivers/webextension/_locales/it/messages.json +++ b/src/drivers/webextension/_locales/it/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/ja/messages.json b/src/drivers/webextension/_locales/ja/messages.json index 2861c8449..362b88f5f 100644 --- a/src/drivers/webextension/_locales/ja/messages.json +++ b/src/drivers/webextension/_locales/ja/messages.json @@ -79,5 +79,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "リバースプロキシ" }, - "categoryName65": { "message": "ロードバランサー" } + "categoryName65": { "message": "ロードバランサー" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/pt/messages.json b/src/drivers/webextension/_locales/pt/messages.json index 03b415849..e358292b1 100644 --- a/src/drivers/webextension/_locales/pt/messages.json +++ b/src/drivers/webextension/_locales/pt/messages.json @@ -79,5 +79,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/pt_BR/messages.json b/src/drivers/webextension/_locales/pt_BR/messages.json index 8b42ae1ef..217d81b16 100644 --- a/src/drivers/webextension/_locales/pt_BR/messages.json +++ b/src/drivers/webextension/_locales/pt_BR/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Proxy Reverso" }, - "categoryName65": { "message": "Balanceador de Carga" } + "categoryName65": { "message": "Balanceador de Carga" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/ro/messages.json b/src/drivers/webextension/_locales/ro/messages.json index 909af4fe9..68415aa06 100644 --- a/src/drivers/webextension/_locales/ro/messages.json +++ b/src/drivers/webextension/_locales/ro/messages.json @@ -74,5 +74,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/ru/messages.json b/src/drivers/webextension/_locales/ru/messages.json index 39b57d5af..47e039095 100644 --- a/src/drivers/webextension/_locales/ru/messages.json +++ b/src/drivers/webextension/_locales/ru/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/sk/messages.json b/src/drivers/webextension/_locales/sk/messages.json index 7975aeceb..e07d4c928 100644 --- a/src/drivers/webextension/_locales/sk/messages.json +++ b/src/drivers/webextension/_locales/sk/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/tr/messages.json b/src/drivers/webextension/_locales/tr/messages.json index 032658adf..5ded59dd2 100644 --- a/src/drivers/webextension/_locales/tr/messages.json +++ b/src/drivers/webextension/_locales/tr/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Yük Dengeleyici" } + "categoryName65": { "message": "Yük Dengeleyici" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/uk/messages.json b/src/drivers/webextension/_locales/uk/messages.json index 04d0efcc2..176a02601 100644 --- a/src/drivers/webextension/_locales/uk/messages.json +++ b/src/drivers/webextension/_locales/uk/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/uz/messages.json b/src/drivers/webextension/_locales/uz/messages.json index fde8d6227..6557c08d1 100644 --- a/src/drivers/webextension/_locales/uz/messages.json +++ b/src/drivers/webextension/_locales/uz/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "PaaS" }, "categoryName63": { "message": "IaaS" }, "categoryName64": { "message": "Reverse Proxy" }, - "categoryName65": { "message": "Load Balancer" } + "categoryName65": { "message": "Load Balancer" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/zh_CN/messages.json b/src/drivers/webextension/_locales/zh_CN/messages.json index 1ddbfa35f..0d9c029d6 100644 --- a/src/drivers/webextension/_locales/zh_CN/messages.json +++ b/src/drivers/webextension/_locales/zh_CN/messages.json @@ -79,5 +79,6 @@ "categoryName62": { "message": "平台即服务(PaaS)" }, "categoryName63": { "message": "基础设施即服务(IaaS)" }, "categoryName64": { "message": "反向代理" }, - "categoryName65": { "message": "负载均衡" } + "categoryName65": { "message": "负载均衡" }, + "categoryName66": { "message": "UI Frameworks" } } diff --git a/src/drivers/webextension/_locales/zh_TW/messages.json b/src/drivers/webextension/_locales/zh_TW/messages.json index 0de6ab4fa..5d1a1992a 100644 --- a/src/drivers/webextension/_locales/zh_TW/messages.json +++ b/src/drivers/webextension/_locales/zh_TW/messages.json @@ -78,5 +78,6 @@ "categoryName62": { "message": "平台即服務(PaaS)" }, "categoryName63": { "message": "基礎設施即服務(IaaS)" }, "categoryName64": { "message": "反向代理伺服器" }, - "categoryName65": { "message": "負載平衡器" } + "categoryName65": { "message": "負載平衡器" }, + "categoryName66": { "message": "UI Frameworks" } } From a731adeb5272edd36aee15c57422094e48a56df8 Mon Sep 17 00:00:00 2001 From: yoosef alipour Date: Tue, 7 Jan 2020 12:06:32 +0330 Subject: [PATCH 15/50] Add pinoox --- src/apps.json | 14 ++++++++++++++ src/icons/pinoox.png | Bin 0 -> 6479 bytes 2 files changed, 14 insertions(+) create mode 100644 src/icons/pinoox.png diff --git a/src/apps.json b/src/apps.json index 87b034175..6b999159e 100644 --- a/src/apps.json +++ b/src/apps.json @@ -1,6 +1,20 @@ { "$schema": "../schema.json", "apps": { + "pinoox": { + "cats": [ + 18 + ], + "cookies": { + "pinoox_session": "" + }, + "icon": "pinoox.png", + "implies": "PHP", + "js": { + "pinoox": "" + }, + "website": "https://pinoox.com" + }, "1C-Bitrix": { "cats": [ 1 diff --git a/src/icons/pinoox.png b/src/icons/pinoox.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b7921aa07cb11e8c16af53e9cabd940a0d6b33 GIT binary patch literal 6479 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 literal 0 HcmV?d00001 From edc06d9d4843f5f5e7168b47aa6c33b6ee19f08c Mon Sep 17 00:00:00 2001 From: Eddy Yousef Date: Wed, 8 Jan 2020 09:45:40 -0600 Subject: [PATCH 16/50] Added X-Powered-By: WP Engine header --- src/apps.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/apps.json b/src/apps.json index 87b034175..2bf849776 100644 --- a/src/apps.json +++ b/src/apps.json @@ -11800,7 +11800,8 @@ "headers": { "wpe-backend": "", "X-Pass-Why": "", - "X-WPE-Loopback-Upstream-Addr": "" + "X-WPE-Loopback-Upstream-Addr": "", + "X-Powered-By": "WP Engine" }, "icon": "wpengine.svg", "implies": "WordPress", @@ -14463,4 +14464,4 @@ "priority": 7 } } -} +} \ No newline at end of file From e9d3e51ef046f8d26f685a1dcabea36c9cd26898 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Thu, 9 Jan 2020 16:34:06 +0100 Subject: [PATCH 17/50] Added Nextcloud --- src/apps.json | 11 +++++ src/icons/nextcloud.svg | 98 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 src/icons/nextcloud.svg diff --git a/src/apps.json b/src/apps.json index 87b034175..4037d1ce9 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7534,6 +7534,17 @@ }, "website": "https://newrelic.com" }, + "Nextcloud": { + "cats": [ + 19 + ], + "html": [ + "]*>[^<]*nextcloud_[^<]*oc_config={.*\"version\":\"([\\d.]+)\"\\;version:\\1" + ], + "icon": "nextcloud.svg", + "implies": "PHP", + "website": "https://nextcloud.com/" + }, "Next.js": { "cats": [ 18, diff --git a/src/icons/nextcloud.svg b/src/icons/nextcloud.svg new file mode 100644 index 000000000..3126a03f1 --- /dev/null +++ b/src/icons/nextcloud.svg @@ -0,0 +1,98 @@ + + + +image/svg+xml \ No newline at end of file From 8ae9de406ab995f3a1e5596dde667c0a3c568cd7 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Thu, 9 Jan 2020 16:40:27 +0100 Subject: [PATCH 18/50] Also match against apple-meta-tag --- src/apps.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/apps.json b/src/apps.json index 4037d1ce9..df8d88eb6 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7543,6 +7543,9 @@ ], "icon": "nextcloud.svg", "implies": "PHP", + "meta": { + "apple-itunes-app": "app-id=1125420102" + }, "website": "https://nextcloud.com/" }, "Next.js": { From 0b31ded149b7b5d5059ee5f0b7684dc042abf8a2 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Thu, 9 Jan 2020 16:47:04 +0100 Subject: [PATCH 19/50] Javascript matching --- src/apps.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/apps.json b/src/apps.json index df8d88eb6..0aed90f19 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7543,6 +7543,10 @@ ], "icon": "nextcloud.svg", "implies": "PHP", + "js": { + "nc_lastLogin": "", + "nc_pageLoad": "" + }, "meta": { "apple-itunes-app": "app-id=1125420102" }, From bad10422e63296358fc6a0bea41c50bbfb499b62 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Thu, 9 Jan 2020 20:57:59 +0100 Subject: [PATCH 20/50] Match phpMyAdmin versions --- src/apps.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 87b034175..52e69fad7 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13663,7 +13663,10 @@ "cats": [ 3 ], - "html": "(?: \\| phpMyAdmin ([\\d.]+)<\\/title>|PMA_sendHeaderLocation\\(|]*href=\"[^\"]*phpmyadmin\\.css\\.php)\\;version:\\1", + "html": [ + "]*>[\\S\\s]*\\[CDATA[^<]*PMA_VERSION:\\\"([\\d.]+)\\;version:\\1", + "(?: \\| phpMyAdmin ([\\d.]+)<\\/title>|PMA_sendHeaderLocation\\(|]*href=\"[^\"]*phpmyadmin\\.css\\.php)\\;version:\\1" + ], "icon": "phpMyAdmin.png", "implies": [ "PHP", From ea0540a220e54d76351e88c364bfbc21c38b1898 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Thu, 9 Jan 2020 21:11:57 +0100 Subject: [PATCH 21/50] Replaced .* --- src/apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 0aed90f19..43898c768 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7539,7 +7539,7 @@ 19 ], "html": [ - "]*>[^<]*nextcloud_[^<]*oc_config={.*\"version\":\"([\\d.]+)\"\\;version:\\1" + "]*>[^<]*nextcloud_[^<]*oc_config={[^}]*\"version\":\"([\\d.]+)\"\\;version:\\1" ], "icon": "nextcloud.svg", "implies": "PHP", From e1d2a17093aba1a8159554c93ae4c4e62f62fcd8 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Thu, 9 Jan 2020 21:57:12 +0100 Subject: [PATCH 22/50] Optimize regex --- src/apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 52e69fad7..68e09c346 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13664,7 +13664,7 @@ 3 ], "html": [ - "]*>[\\S\\s]*\\[CDATA[^<]*PMA_VERSION:\\\"([\\d.]+)\\;version:\\1", + "!\\[CDATA\\[[^<]*PMA_VERSION:\\\"([\\d.]+)\\;version:\\1", "(?: \\| phpMyAdmin ([\\d.]+)<\\/title>|PMA_sendHeaderLocation\\(|]*href=\"[^\"]*phpmyadmin\\.css\\.php)\\;version:\\1" ], "icon": "phpMyAdmin.png", From c971ed4994a26bf9e71d33ebfd4a392403d69154 Mon Sep 17 00:00:00 2001 From: Franck Date: Tue, 14 Jan 2020 16:14:18 +0100 Subject: [PATCH 23/50] feat: Add VuePress --- src/apps.json | 11 ++++++++++ src/icons/VuePress.svg | 46 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 src/icons/VuePress.svg diff --git a/src/apps.json b/src/apps.json index 87b034175..4ba7f7f09 100644 --- a/src/apps.json +++ b/src/apps.json @@ -14152,6 +14152,17 @@ "implies": "Vue.js", "website": "https://saber.land/" }, + "VuePress": { + "cats": [ + 57 + ], + "icon": "VuePress.svg", + "meta": { + "generator": "^VuePress(?: ([0-9.]+))?$\\;version:\\1" + }, + "implies": "Vue.js", + "website": "https://vuepress.vuejs.org/" + }, "GoCache": { "cats": [ 31 diff --git a/src/icons/VuePress.svg b/src/icons/VuePress.svg new file mode 100644 index 000000000..1730e2a9d --- /dev/null +++ b/src/icons/VuePress.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 63294d919b56678eb6a0f37325738f0a0f39ac85 Mon Sep 17 00:00:00 2001 From: Vitor <35616041+VitorBlog@users.noreply.github.com> Date: Fri, 17 Jan 2020 17:25:30 -0300 Subject: [PATCH 24/50] Adding Tebex.io --- src/apps.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/apps.json b/src/apps.json index 87b034175..78fd86913 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7797,6 +7797,14 @@ "implies": "PHP", "website": "http://www.opencart.com" }, + "Tebex": { + "cats": [ + 6 + ], + "script": "https://server.tebex.io/tebexAccounts/tebexaccounts\\.js", + "icon": "Tebex.png", + "website": "https://www.tebex.io/" + }, "OpenCms": { "cats": [ 1 From 27698aef14a962e37d17d7c418dc265e3cd3d3dc Mon Sep 17 00:00:00 2001 From: Vitor <35616041+VitorBlog@users.noreply.github.com> Date: Fri, 17 Jan 2020 17:34:47 -0300 Subject: [PATCH 25/50] Adding Tebex logo --- src/icons/Tebex.png | Bin 0 -> 494 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/icons/Tebex.png diff --git a/src/icons/Tebex.png b/src/icons/Tebex.png new file mode 100644 index 0000000000000000000000000000000000000000..038a199a1f621c30a67c2019ddf1d7ef4baed051 GIT binary patch literal 494 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I0wfs{c7_5;mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^+ z;1OBOz@VoL!i*J5?aP3I=RI8u`)5%HZZg@ zFgWP2h!;geZhlH;S|x4`8)T(60yRj2YzWRzD=AMbN@XZ7FW1Y=%Pvk%EJ)SMFG`>N S&PEETh{4m<&t;ucLK6T0FP};P literal 0 HcmV?d00001 From ad76ff4c9b6d8c2f09689e6cf52f2cdd7edfdc16 Mon Sep 17 00:00:00 2001 From: Kyle Taylor Date: Wed, 22 Jan 2020 06:54:31 -0800 Subject: [PATCH 26/50] Removing old / unused applications - Mypage (clone of Botble, causing issues with detection) - MediaTomb - no longer in service - CoinLab - no longer in service - CloudCoins - no longer in service - HP ProCurve - irrelevant - Homeland - no longer in service - HBase - not really detectable - GoSquared - vague detection, at zero --- src/apps.json | 88 --------------------------------------------------- 1 file changed, 88 deletions(-) diff --git a/src/apps.json b/src/apps.json index 87b034175..4d82d07f3 100644 --- a/src/apps.json +++ b/src/apps.json @@ -872,16 +872,6 @@ "icon": "Apache.svg", "website": "http://apache.org" }, - "Apache HBase": { - "cats": [ - 34 - ], - "cpe": "cpe:/a:apache:hbase", - "html": "]+static/hbase", - "icon": "Apache HBase.png", - "implies": "Java", - "website": "http://hbase.apache.org" - }, "Apache Hadoop": { "cats": [ 34 @@ -2141,16 +2131,6 @@ }, "website": "http://www.cloudflare.com" }, - "Cloudcoins": { - "cats": [ - 56 - ], - "js": { - "CLOUDCOINS": "" - }, - "script": "https?://cdn\\.cloudcoins\\.co/javascript/cloudcoins\\.min\\.js", - "website": "https://cloudcoins.co" - }, "Cloudera": { "cats": [ 34 @@ -2244,17 +2224,6 @@ "script": "https?://www\\.hashing\\.win/scripts/min\\.js", "website": "https://www.coinimp.com" }, - "Coinlab": { - "cats": [ - 56 - ], - "icon": "coinlab.png", - "js": { - "Coinlab": "" - }, - "script": "https?://coinlab\\.biz/lib/coinlab\\.js\\?id=", - "website": "https://coinlab.biz/en" - }, "ColorMeShop": { "cats": [ 6 @@ -4256,18 +4225,6 @@ "go.GraphObject": "" } }, - "GoSquared": { - "cats": [ - 10, - 52, - 53 - ], - "icon": "gosquared.png", - "js": { - "_gs": "\\;confidence:30" - }, - "website": "https://www.gosquared.com/" - }, "GoStats": { "cats": [ 10 @@ -4627,14 +4584,6 @@ "icon": "HP.svg", "website": "http://hp.com" }, - "HP ProCurve": { - "cats": [ - 37 - ], - "cpe": "cpe:/h:hp:procurve_switch", - "icon": "HP.svg", - "website": "http://hp.com/networking" - }, "HP System Management": { "cats": [ 46 @@ -4859,18 +4808,6 @@ ], "website": "https://twitter.github.io/hogan.js/" }, - "Homeland": { - "cats": [ - 1, - 2 - ], - "cookies": { - "_homeland_": "" - }, - "icon": "Homeland.png", - "implies": "Ruby on Rails", - "website": "https://gethomeland.com" - }, "Hotaru CMS": { "cats": [ 1 @@ -6398,21 +6335,6 @@ }, "website": "http://modx.com" }, - "MYPAGE Platform": { - "cats": [ - 1, - 6 - ], - "cookies": { - "mypage_session": "" - }, - "headers": { - "CMS-Version": "^(.+)$\\;version:\\1\\;confidence:0" - }, - "icon": "mypage-platform.png", - "implies": "Laravel", - "website": "https://www.mypage.vn" - }, "Botble CMS": { "cats": [ 1, @@ -6709,16 +6631,6 @@ }, "website": "http://www.mediaelementjs.com" }, - "MediaTomb": { - "cats": [ - 38 - ], - "headers": { - "Server": "MediaTomb(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "MediaTomb.png", - "website": "http://mediatomb.cc" - }, "MediaWiki": { "cats": [ 8 From 78152e35e1d380509f9c9f6c893d5cdd924a4851 Mon Sep 17 00:00:00 2001 From: Kyle Taylor Date: Wed, 22 Jan 2020 07:06:21 -0800 Subject: [PATCH 27/50] Remove associated icons --- src/icons/Apache HBase.png | Bin 185 -> 0 bytes src/icons/Homeland.png | Bin 11831 -> 0 bytes src/icons/MediaTomb.png | Bin 995 -> 0 bytes src/icons/coinlab.png | Bin 5304 -> 0 bytes src/icons/gosquared.png | Bin 2406 -> 0 bytes src/icons/mypage-platform.png | Bin 5989 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/icons/Apache HBase.png delete mode 100644 src/icons/Homeland.png delete mode 100644 src/icons/MediaTomb.png delete mode 100644 src/icons/coinlab.png delete mode 100644 src/icons/gosquared.png delete mode 100644 src/icons/mypage-platform.png diff --git a/src/icons/Apache HBase.png b/src/icons/Apache HBase.png deleted file mode 100644 index 113d901a69a83fa4de679329257b4c04f3053119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`4W2HJAr-fh6BdZbOip}Yv;Ker z!=c}j5)m9L@2@{_fH8P~S7YPMhb=s>j|gwd`S18+2Twb*B6HvAjiv{#%%7BID#5^< z5-IF=V$(bJhsj27v{a-U7z21Fq((CoDQ)~Qg=srW7vqwo9)ksU7%ad2NjB2?_QN3H i?jOd!V+Yd@G%zz*%subRxoro?NerH@elF{r5}E)R7)8YZ diff --git a/src/icons/Homeland.png b/src/icons/Homeland.png deleted file mode 100644 index e8ca492f03fea5c542e2d79c342484fb1ce007e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11831 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 REM@=z002ovPDHLkV1kOM%{~AC diff --git a/src/icons/coinlab.png b/src/icons/coinlab.png deleted file mode 100644 index 0f059c5ef47d51c7e121a659dde9a3ad30578404..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5304 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 Date: Wed, 29 Jan 2020 15:34:42 +0100 Subject: [PATCH 28/50] added Duda & MyWebsite CMS --- src/apps.json | 37 ++++++++++-- src/icons/Ionos-by-1and1-logo.svg | 94 ++++++++++++++++++++++++++++++ src/icons/duda.png | Bin 0 -> 115763 bytes 3 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 src/icons/Ionos-by-1and1-logo.svg create mode 100644 src/icons/duda.png diff --git a/src/apps.json b/src/apps.json index 713369258..9ada81dd8 100644 --- a/src/apps.json +++ b/src/apps.json @@ -3109,6 +3109,17 @@ "implies": "Drupal", "website": "http://drupalcommerce.org" }, + "Duda": { + "cats": [ + 1 + ], + "js": { + "SystemID": "^.*DIRECT.*$\\;confidence:100", + "version": "^(.*)$\\;version:\\1\\;confidence:0" + }, + "icon": "duda.png", + "website": "https://www.duda.co/website-builder" + }, "Dynamicweb": { "cats": [ 1, @@ -5500,10 +5511,6 @@ }, "icon": "jimdo.png", "url": "\\.jimdo\\.com/", - "js": { - "jimdoData": "", - "jimdo_Data": "" - }, "website": "https://www.jimdo.com" }, "Jirafe": { @@ -7325,6 +7332,28 @@ }, "website": "http://www.netcap-creation.fr" }, + "MyWebsite 8": { + "cats": [ + 1 + ], + "meta": { + "generator": "^.*MyWebsite.*$\\;confidence:100" + }, + "icon": "Ionos-by-1and1-logo.svg", + "website": "https://www.ionos.com" + }, + "MyWebsite 9": { + "cats": [ + 1 + ], + "js": { + "SystemID": "^.*1AND1.*$\\;confidence:100", + "version": "^(.*)$\\;version:\\1\\;confidence:0" + }, + "icon": "Ionos-by-1and1-logo.svg", + "script": "\\/\\/integration.mywebsite-editor.com.*\\.js\\;confidence:100", + "website": "https://www.ionos.com" + }, "NEO - Omnichannel Commerce Platform": { "cats": [ 6 diff --git a/src/icons/Ionos-by-1and1-logo.svg b/src/icons/Ionos-by-1and1-logo.svg new file mode 100644 index 000000000..60d87ec91 --- /dev/null +++ b/src/icons/Ionos-by-1and1-logo.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/icons/duda.png b/src/icons/duda.png new file mode 100644 index 0000000000000000000000000000000000000000..09d75d3ad013167aa3610f76cb5801a540f556bb GIT binary patch literal 115763 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 V_BVkeH5C5 Date: Wed, 29 Jan 2020 17:31:44 +0100 Subject: [PATCH 29/50] added differentiation between EPages 6 and EPages Now --- src/apps.json | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/apps.json b/src/apps.json index 9ada81dd8..64a5b68c1 100644 --- a/src/apps.json +++ b/src/apps.json @@ -3215,10 +3215,19 @@ "cats": [ 6 ], - "headers": { - "X-Powered-By": "epages 6" + "js": { + "epages": "" + }, + "icon": "epages.png", + "website": "http://www.epages.com/" + }, + "EPages Now": { + "cats": [ + 6 + ], + "js": { + "__EP.shopSlug": "" }, - "html": "

", "icon": "epages.png", "website": "http://www.epages.com/" }, From 5da0e2f6523fb40b3c2afe761885b8ad4a3c0aaf Mon Sep 17 00:00:00 2001 From: Emmanuel Martins Date: Fri, 31 Jan 2020 06:35:23 -0500 Subject: [PATCH 30/50] pytonik --- src/drivers/webextension/images/pytonik.png | Bin 0 -> 5674 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/drivers/webextension/images/pytonik.png diff --git a/src/drivers/webextension/images/pytonik.png b/src/drivers/webextension/images/pytonik.png new file mode 100644 index 0000000000000000000000000000000000000000..1bb6c9e02643fc5a75bb2109ee1e956928df2d14 GIT binary patch literal 5674 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 literal 0 HcmV?d00001 From 4184e723d62291de992f37d3e14a6810f64cf6e8 Mon Sep 17 00:00:00 2001 From: Emmanuel Martins Date: Fri, 31 Jan 2020 06:45:12 -0500 Subject: [PATCH 31/50] pytonik --- src/icons/pytonik.png | Bin 0 -> 5674 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/icons/pytonik.png diff --git a/src/icons/pytonik.png b/src/icons/pytonik.png new file mode 100644 index 0000000000000000000000000000000000000000..1bb6c9e02643fc5a75bb2109ee1e956928df2d14 GIT binary patch literal 5674 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 literal 0 HcmV?d00001 From 81dc65635a390676c927bca517cc6cce4570e4be Mon Sep 17 00:00:00 2001 From: Emmanuel Martins Date: Fri, 31 Jan 2020 06:50:25 -0500 Subject: [PATCH 32/50] Update apps.json --- src/apps.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 713369258..88e1e0c1e 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13906,6 +13906,16 @@ "script": "/media/conv/js/jquery\\.js", "website": "https://uknowva.com" }, + "Pytonik": { + "cats": [ + 18, + 22 + ], + "html": "" + "icon": "pytonik.png", + "implies": "Python", + "website": "https://pytonik.com" + }, "vBulletin": { "cats": [ 2 @@ -14438,4 +14448,4 @@ "priority": 7 } } -} \ No newline at end of file +} From 3883428d7f40c39fdc793334e7b1df9b4e61e435 Mon Sep 17 00:00:00 2001 From: Emmanuel Martins Date: Fri, 31 Jan 2020 06:50:56 -0500 Subject: [PATCH 33/50] Update apps.json --- src/apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 88e1e0c1e..017cd4472 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13911,7 +13911,7 @@ 18, 22 ], - "html": "" + "html": "", "icon": "pytonik.png", "implies": "Python", "website": "https://pytonik.com" From e5e3b76d89d0b0fc95d85af77e12c0677240bec9 Mon Sep 17 00:00:00 2001 From: Emmanuel Martins Date: Fri, 31 Jan 2020 10:53:18 -0500 Subject: [PATCH 34/50] Update apps.json --- src/apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 017cd4472..b819afc6f 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13911,7 +13911,7 @@ 18, 22 ], - "html": "", + "html": "Pytonik ([0-9.]+);version:\\1", "icon": "pytonik.png", "implies": "Python", "website": "https://pytonik.com" From 61f444e7ceb01772b412503164d559120b24506a Mon Sep 17 00:00:00 2001 From: Emmanuel Martins Date: Fri, 31 Jan 2020 10:56:18 -0500 Subject: [PATCH 35/50] Update apps.json --- src/apps.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/apps.json b/src/apps.json index b819afc6f..7ed289301 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13906,16 +13906,16 @@ "script": "/media/conv/js/jquery\\.js", "website": "https://uknowva.com" }, - "Pytonik": { - "cats": [ - 18, - 22 - ], - "html": "Pytonik ([0-9.]+);version:\\1", - "icon": "pytonik.png", - "implies": "Python", - "website": "https://pytonik.com" - }, + "Pytonik": { + "cats": [ + 18, + 22 + ], + "html": "Pytonik ([0-9.]+);version:\\1", + "icon": "pytonik.png", + "implies": "Python", + "website": "https://pytonik.com" + }, "vBulletin": { "cats": [ 2 From 425bf74f9b419697ea7049bd7a998dd9d87b5b26 Mon Sep 17 00:00:00 2001 From: Sebastian Vogt <22768625+supernuca@users.noreply.github.com> Date: Mon, 3 Feb 2020 09:57:15 +0100 Subject: [PATCH 36/50] Add files via upload --- src/icons/Shopware.svg | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/icons/Shopware.svg diff --git a/src/icons/Shopware.svg b/src/icons/Shopware.svg new file mode 100644 index 000000000..6b4a848bc --- /dev/null +++ b/src/icons/Shopware.svg @@ -0,0 +1,10 @@ + + + + Artboard + Created with Sketch. + + + + + \ No newline at end of file From 4e39e81efad400f77cac9360d36a829dd2f81eb3 Mon Sep 17 00:00:00 2001 From: Sebastian Vogt <22768625+supernuca@users.noreply.github.com> Date: Mon, 3 Feb 2020 09:58:38 +0100 Subject: [PATCH 37/50] Delete Shopware.png --- src/icons/Shopware.png | Bin 601 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/icons/Shopware.png diff --git a/src/icons/Shopware.png b/src/icons/Shopware.png deleted file mode 100644 index 8387cd6831fc581706dcd56fae82e8c8f9bf14c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 601 zcmV-f0;c_mP)xWZbBdd99Z=kK z^MJy-D+jR}pxCqhhtjs&2#wqCzE@a(-G+e}AUAFIGR3tQ5t_H%dB#8rPyqT3wB>T6mfNKV7PyhuQvY(L+H{N(T3FJC(phD#T zE3CfwpSOGWM~2EZ${+*ulr~*Q1l*2$-;oW-IQb+}dG|xG9568dODw8wmtZ-yZo9Ok{84$U3sxtcH!CI%sq!78ljk_>(F7a z7mx)(n7Q-NT_gjTfmjiU^VZ*dz0Yvo*|$KAV0C))&MaY&-F!y~tf}V+iXn_02X6yu zc_f2afLIEMLx8y7Y~i_M^DeyzVyHj-fGKLz^&WIrK=E&&LF?JO4=W%U#012`K&%bK zoM6G*@4gxOt-10Jhan*Rj|u24j-JCMKutU_gBXxZWd~w6*A*A9;xPn_Wu~534^%4v zas^6af(Dl9@@ucwDNH~43l>l?EI8rlw}7=*j{?=00I@7cJw}QIr8*!M0%BJn&IIBL nAT9*rI3RWhVqGBSLe>KS3SGuDW72`T00000NkvXXu0mjfM1ULu From 0739695717265d01f529667ce57d61383f11ba8b Mon Sep 17 00:00:00 2001 From: Sebastian Vogt <22768625+supernuca@users.noreply.github.com> Date: Mon, 3 Feb 2020 09:59:43 +0100 Subject: [PATCH 38/50] Update apps.json --- src/apps.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps.json b/src/apps.json index 713369258..37b3e15c5 100644 --- a/src/apps.json +++ b/src/apps.json @@ -9910,7 +9910,7 @@ "sw-invalidation-states": "\\;version:6", "sw-version-id": "\\;version:6" }, - "icon": "Shopware.png", + "icon": "Shopware.svg", "implies": [ "PHP", "MySQL", @@ -14438,4 +14438,4 @@ "priority": 7 } } -} \ No newline at end of file +} From e489d63700f034e780758c79f465145b34098645 Mon Sep 17 00:00:00 2001 From: Jimmy <55276354+swiper@users.noreply.github.com> Date: Wed, 5 Feb 2020 15:37:33 +0100 Subject: [PATCH 39/50] Update apps.json The `October CMS` detection was not working due to a `=` in the cookie name. Now fixed. --- src/apps.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps.json b/src/apps.json index 713369258..8a9b0ee22 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7590,7 +7590,7 @@ 1 ], "cookies": { - "october_session=": "" + "october_session": "" }, "icon": "October CMS.png", "implies": "Laravel", @@ -14438,4 +14438,4 @@ "priority": 7 } } -} \ No newline at end of file +} From e506dae012f30763f99294882c248b7b21e60f79 Mon Sep 17 00:00:00 2001 From: Rick Viscomi Date: Thu, 6 Feb 2020 11:13:41 -0800 Subject: [PATCH 40/50] detect Automattic --- src/apps.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 713369258..3bc94d8e4 100644 --- a/src/apps.json +++ b/src/apps.json @@ -1175,6 +1175,17 @@ ], "website": "http://aurelia.io" }, + "Automattic": { + "cats": [ + 62 + ], + "headers": { + "X-Hacker": "(automattic.com/jobs|wpvip.com/careers)" + }, + "icon": "automattic.png", + "implies": "WordPress", + "website": "https://automattic.com/" + }, "Avangate": { "cats": [ 6 @@ -14438,4 +14449,4 @@ "priority": 7 } } -} \ No newline at end of file +} From 5f225195f7de2d84227b7713ceda80d36e37920f Mon Sep 17 00:00:00 2001 From: Rick Viscomi Date: Thu, 6 Feb 2020 11:15:32 -0800 Subject: [PATCH 42/50] automattic icon --- src/icons/automattic.png | Bin 0 -> 276 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/icons/automattic.png diff --git a/src/icons/automattic.png b/src/icons/automattic.png new file mode 100644 index 0000000000000000000000000000000000000000..7302fa0f345472f6fdc833fe3e46bf6be3a4fc57 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|emUKs7M+SzC{oH>NS%G}U;vjb? zhIQv;UIIBn0X`wF4Aam3|NsB)#~)knf2cbC#CGis!Mnd?fwBucT^vI^j=!Dk&DWs7 zd{ETX(|rsF|NP{MHb>lKDMDPua5Rse;vv+nzleQdK{y z@o!aRc;q|p(K6fJ3@3fx?Y~;Qzkp#|;Px3sa*M0GnDplOFE8)7V XQM|F69i(pq-OAwU>gTe~DWM4fo&0Q! literal 0 HcmV?d00001 From a359d1b2f52d78831a79352735f5727cf3ae69ea Mon Sep 17 00:00:00 2001 From: Syed Faheel Ahmad Date: Mon, 10 Feb 2020 17:25:42 +0530 Subject: [PATCH 43/50] Add more CPEs * Ruby * Ruby on Rails * Wordpress * jQuery * jQuery UI --- src/apps.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 713369258..f270e2be2 100644 --- a/src/apps.json +++ b/src/apps.json @@ -9261,6 +9261,7 @@ "cats": [ 27 ], + "cpe": "cpe:/a:ruby-lang:ruby", "headers": { "Server": "(?:Mongrel|WEBrick|Ruby)" }, @@ -9271,6 +9272,7 @@ "cats": [ 18 ], + "cpe": "cpe:/a:rubyonrails:rails", "headers": { "Server": "mod_(?:rails|rack)", "X-Powered-By": "mod_(?:rails|rack)" @@ -12185,6 +12187,7 @@ 1, 11 ], + "cpe": "cpe:/a:wordpress:wordpress", "html": [ "]+/wp-(?:content|includes)/", "]+s\\d+\\.wp\\.com" @@ -13168,6 +13171,7 @@ "cats": [ 59 ], + "cpe": "cpe:/a:jquery:jquery", "icon": "jQuery.svg", "js": { "jQuery.fn.jquery": "([\\d.]+)\\;version:\\1" @@ -13234,6 +13238,7 @@ "cats": [ 59 ], + "cpe": "cpe:/a:jquery:jquery_ui", "icon": "jQuery UI.svg", "implies": "jQuery", "js": { @@ -14438,4 +14443,4 @@ "priority": 7 } } -} \ No newline at end of file +} From ddc244b750b8c14206532ca0012a92488d5d1ab2 Mon Sep 17 00:00:00 2001 From: Johannes Andersen Date: Mon, 10 Feb 2020 23:25:52 +0000 Subject: [PATCH 44/50] added Riskified --- src/apps.json | 20 +++++++++++++++++++- src/icons/riskified.png | Bin 0 -> 2954 bytes 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/icons/riskified.png diff --git a/src/apps.json b/src/apps.json index 713369258..7bb8c75dc 100644 --- a/src/apps.json +++ b/src/apps.json @@ -9175,6 +9175,24 @@ "script": "riot(?:\\+compiler)?(?:\\.min)?\\.js", "website": "https://riot.js.org/" }, + "Riskified": { + "cats": [ + 6 + ], + "icon": "riskified.png", + "headers": { + "server": "Riskified Server" + }, + "js": { + "riskifiedBeaconLoad": "", + "RISKX": "" + }, + "html": [ + "<[^>]*beacon\\.riskified\\.com", + "<[^>]*c\\.riskified\\.com" + ], + "website": "https://www.riskified.com/" + }, "RiteCMS": { "cats": [ 1 @@ -14438,4 +14456,4 @@ "priority": 7 } } -} \ No newline at end of file +} diff --git a/src/icons/riskified.png b/src/icons/riskified.png new file mode 100644 index 0000000000000000000000000000000000000000..06ff17bd742e9d34d8a510ca16b6354b7345afd7 GIT binary patch literal 2954 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 eG&(YpXbxtWgZ*(%y)Fb501sCm+*RlB Date: Tue, 11 Feb 2020 11:48:12 +0000 Subject: [PATCH 45/50] Add the detection for the GOV.UK Design System UI library --- src/apps.json | 14 +++++++++++++- src/icons/govuk.png | Bin 0 -> 2044 bytes 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/icons/govuk.png diff --git a/src/apps.json b/src/apps.json index 713369258..87e5f2371 100644 --- a/src/apps.json +++ b/src/apps.json @@ -14178,6 +14178,18 @@ "icon": "pagefly.png", "script": "pagefly\\.io", "website": "https://pagefly.io" + }, + "GOV.UK Frontend": { + "cats": [ + 66, + 19 + ], + "html": [ + "]+govuk-template__body", + "]+govuk-link" + ], + "icon": "govuk.png", + "website": "https://design-system.service.gov.uk/" } }, "categories": { @@ -14438,4 +14450,4 @@ "priority": 7 } } -} \ No newline at end of file +} diff --git a/src/icons/govuk.png b/src/icons/govuk.png new file mode 100644 index 0000000000000000000000000000000000000000..0abb1c500d7f4468ce99bdf9ba704cef092c0627 GIT binary patch literal 2044 zcmW;Ni9geg9{_NY9)>Gr$Gp>gwv|=H_vq#}nk`<%K{XyuH1B0KOnUKRlQjlp0dA|fIqBcr0CqNAf9KYkn&6B8R7i^XD} zJ$n`x7l*^);sFVu#Kc5A9#0?;h(uyiQc`kqGKoY=Nl8gfO-%!&gI)qMK$)4DS%7Sw z98hjC-=e&!Fz^?w+2W-rnB6zP|qc{(*r327@sO7y=Cs508wDjE;_u0lt8kOy>Cb z_{7A-SHL8Q#bQlQPtVNE%+Ah!1AOP11I^FRv)Sy0g@wh%#igaC<>lp-m6cV%8V?7w zzP`S(v9YPAoHB>X}Ni&&s%Z*&Q&CY#+_ou zjSG}B4f+kuPG?kgylk0wnj+tAZ;6Gj?i8X}ZbrdGiY=Xv6^mxwJAH5y{cnb{?zi9x z2$tc+-x+#r&uT$FD91X31qNLQ#&RV$CE`-y^(hvriVf++R|D^)lX0F>cTiO@f+%Jf^SWPX#+#ZJISw94)pr8MBR1PJ1I` zCrRE%CAxbeSXROf7fJmthZztlqWMOmBjk(JtwTq8XIjGP+4`{UDXM-v>gnyJ_g(Gf z%Um@ny)`erk*3hUI!IGA{+PEb7WHdGFkkx2*j?;-g=ERDwec+n2w5P7Ohc7kZIjey zYtUUP+BX7^5YvSR`Gq%q-4yg{W|5?!cvO|0kBG>F{CA~QOE0eoKAlUm$BIGHhX`}l zxPA0qw?vC)e2J)DZlt+zFhTOZ#Z<|racl>7&9+YyUnzyu?F@=ilJi%Rx|Bz1kTIEd zGEj}qN}9?@MR?t>`O$6V)huZ1!{DFX({_NLc>Pu=$PtTq$zcXX%Q@>CTyYu_ycF)u zvYMP@=ltT92@5-jxkCzA>BQa-k}T*h%3w~tUR@qFm+vS|DO2KJr1sjCd@y_9w(#9M zrEF5BC6S$B=PN_5I&{<8=OE%^>F9PNr_L>b9B#<0I{SDJ8vpy~sEQ&Ldd?8brgg~V z`xm=5Js9Fbj!>pNRK%SzsU2ZP!AlRTJ4xoO1e0qbFH0+$X(tVyBN_zPqwx~UxOveV zTjE{ciqqIdQ)4w7HlHvKr|~2NWjNtl(+Vv$b*`b;-yNTyc9`Xk+1`Gr0F)w2rDJ*-B_=M>KF zm$1u3;674~H4J6#7V3B9@qR)L`246JK7$h{{qEFWP~Fi(njEC6IM!1AUCbA?E))09 z(tqoT5~7tlA92Fj2+Lt+p5*Pa2->o-G22hWJifk<&C*>X--AdW*J2oXlw^?*moyd5 zTb9%`cdp&q@`^rMh(5pL>QEOIs8KcU?!>K@A9FQF6aTpg`!h@;+8n+h*C`SH*WkvQ zs6S4Cxg+C0l@S54l*Hv^x}I9eLe7T$d~;bEz6o0{aCW($p+hrq&@OMV?a`~}7?o4K zW$cDuGmqH+0GA>$t^fc4 literal 0 HcmV?d00001 From b5244e00bc8602395d88cfcef48420bde511241a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Ga=CC=88ngel?= Date: Thu, 13 Feb 2020 12:19:07 +0100 Subject: [PATCH 46/50] correct cookie_name of October CMS --- src/apps.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps.json b/src/apps.json index 713369258..8a9b0ee22 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7590,7 +7590,7 @@ 1 ], "cookies": { - "october_session=": "" + "october_session": "" }, "icon": "October CMS.png", "implies": "Laravel", @@ -14438,4 +14438,4 @@ "priority": 7 } } -} \ No newline at end of file +} From 4136c03374f5b41905b8476417d6b95c9f660463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Ga=CC=88ngel?= Date: Thu, 13 Feb 2020 12:21:33 +0100 Subject: [PATCH 47/50] correct cookie_name of Backpack --- src/apps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps.json b/src/apps.json index 8a9b0ee22..a828e3c04 100644 --- a/src/apps.json +++ b/src/apps.json @@ -1285,7 +1285,7 @@ 47 ], "cookies": { - "backpack_session=": "" + "backpack_session": "" }, "icon": "Backpack.png", "implies": "Laravel", From b15ccc9b787e20bb515d4d51c4d71aac8f7de8d0 Mon Sep 17 00:00:00 2001 From: vikaon Date: Fri, 14 Feb 2020 02:26:20 +0300 Subject: [PATCH 48/50] Added Turkish e-commerce platform --- src/apps.json | 10 ++++++++++ src/icons/Vikaon.png | Bin 0 -> 2719 bytes 2 files changed, 10 insertions(+) create mode 100644 src/icons/Vikaon.png diff --git a/src/apps.json b/src/apps.json index 713369258..183a5f1a4 100644 --- a/src/apps.json +++ b/src/apps.json @@ -13939,6 +13939,16 @@ "generator": "vibecommerce" }, "website": "http://vibecommerce.com.br" + }, + "Vikaon": { + "cats": [ + 6 + ], + "icon": "Vikaon.png", + "headers": { + "X-Vikaon-Version": "^(.+)$\\;version:\\1" + }, + "website": "http://www.vikaon.com" }, "Virgool": { "cats": [ diff --git a/src/icons/Vikaon.png b/src/icons/Vikaon.png new file mode 100644 index 0000000000000000000000000000000000000000..738196b8cec2aa683084d78fb2d271a644219cbc GIT binary patch literal 2719 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 Ks8y~ZiGKsCH+K~P literal 0 HcmV?d00001 From d9ba172260b18fe2170b2c95a3029740da19b8c6 Mon Sep 17 00:00:00 2001 From: Arnaud Ligny Date: Fri, 14 Feb 2020 16:20:12 +0100 Subject: [PATCH 49/50] Next.js has an official website -> https://nextjs.org --- src/apps.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/apps.json b/src/apps.json index 713369258..a24264a1b 100644 --- a/src/apps.json +++ b/src/apps.json @@ -7496,7 +7496,7 @@ "js": { "__NEXT_DATA__": "" }, - "website": "https://github.com/zeit/next.js" + "website": "https://nextjs.org" }, "NextGEN Gallery": { "cats": [ @@ -14438,4 +14438,4 @@ "priority": 7 } } -} \ No newline at end of file +} From 00f1e011d526843efde4f00668e13b793f27ea22 Mon Sep 17 00:00:00 2001 From: fcrizul Date: Tue, 18 Feb 2020 22:38:35 -0300 Subject: [PATCH 50/50] GeneXus application is added --- src/apps.json | 18 ++++++++++++++++++ src/icons/GeneXus.png | Bin 0 -> 10053 bytes 2 files changed, 18 insertions(+) create mode 100644 src/icons/GeneXus.png diff --git a/src/apps.json b/src/apps.json index 713369258..5e4eb8f59 100644 --- a/src/apps.json +++ b/src/apps.json @@ -4015,6 +4015,24 @@ "html": "]*onclick=\"gemius_hit", "website": "https://www.gemius.com" }, + "GeneXus": { + "cats": [ + 27 + ], + "html": [ + "]+?id=\"gxtheme_css_reference\"" + ], + "icon": "GeneXus.png", + "js": { + "gx":"", + "gx.gxVersion": "^(.+)-.*$\\;version:\\1" + }, + "script": [ + ".*/static/gxgral.js", + ".*/static/gxtimezone.js" + ], + "website": "https://www.genexus.com/" + }, "Gentoo": { "cats": [ 28 diff --git a/src/icons/GeneXus.png b/src/icons/GeneXus.png new file mode 100644 index 0000000000000000000000000000000000000000..e852fe197e41c4978d4680c9086b26bba274d2e9 GIT binary patch literal 10053 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 literal 0 HcmV?d00001