From f82083b3402bc8fdcb4fc5c50a29a88e376f1de2 Mon Sep 17 00:00:00 2001 From: Elbert Alias Date: Sun, 7 Aug 2016 13:09:25 +1000 Subject: [PATCH] Convert SVG icons to PNG for Chrome. Convert slugs to English names for categories in apps.json. Upgrade to Ubuntu Xenial (wappalyzer/dev) --- .gitignore | 2 + bin/wappalyzer-build | 18 +++ bin/wappalyzer-links | 54 ++++----- docker/Dockerfile | 20 ++-- docker/node/package.json | 1 + src/apps.json | 106 +++++++++--------- .../chrome/images/icons/converted/.gitkeep | 0 .../images/icons/converted/Angular.svg.png | Bin 0 -> 1388 bytes .../images/icons/converted/Apache.svg.png | Bin 0 -> 363 bytes .../icons/converted/Bigcommerce.svg.png | Bin 0 -> 273 bytes .../icons/converted/Bounce Exchange.svg.png | Bin 0 -> 1178 bytes .../images/icons/converted/Captch Me.svg.png | Bin 0 -> 143 bytes .../images/icons/converted/CloudFlare.svg.png | Bin 0 -> 926 bytes .../images/icons/converted/Criteo.svg.png | Bin 0 -> 635 bytes .../images/icons/converted/Disqus.svg.png | Bin 0 -> 752 bytes .../icons/converted/DoubleClick.svg.png | Bin 0 -> 1341 bytes .../icons/converted/ExagonConcept.svg.png | Bin 0 -> 554 bytes .../images/icons/converted/GitLab.svg.png | Bin 0 -> 1137 bytes .../icons/converted/Google AdSense.svg.png | Bin 0 -> 1065 bytes .../icons/converted/Google Analytics.svg.png | Bin 0 -> 1138 bytes .../chrome/images/icons/converted/HP.svg.png | Bin 0 -> 1588 bytes .../chrome/images/icons/converted/IBM.svg.png | Bin 0 -> 136 bytes .../images/icons/converted/Lightspeed.svg.png | Bin 0 -> 1302 bytes .../icons/converted/Marionette.js.svg.png | Bin 0 -> 1693 bytes .../images/icons/converted/Microsoft.svg.png | Bin 0 -> 143 bytes .../images/icons/converted/MotoCMS.svg.png | Bin 0 -> 1177 bytes .../images/icons/converted/MySQL.svg.png | Bin 0 -> 1153 bytes .../images/icons/converted/Nginx.svg.png | Bin 0 -> 800 bytes .../images/icons/converted/PDF.js.svg.png | Bin 0 -> 780 bytes .../images/icons/converted/Penguin.svg.png | Bin 0 -> 1420 bytes .../images/icons/converted/Sails.js.svg.png | Bin 0 -> 594 bytes .../images/icons/converted/Shopery.svg.png | Bin 0 -> 1171 bytes .../images/icons/converted/Shopify.svg.png | Bin 0 -> 1327 bytes .../images/icons/converted/Shoptet.svg.png | Bin 0 -> 171 bytes .../icons/converted/SilverStripe.svg.png | Bin 0 -> 1179 bytes .../images/icons/converted/Sulu.svg.png | Bin 0 -> 1305 bytes .../images/icons/converted/TYPO3.svg.png | Bin 0 -> 834 bytes .../images/icons/converted/Varnish.svg.png | Bin 0 -> 734 bytes .../images/icons/converted/WordPress.svg.png | Bin 0 -> 2000 bytes .../images/icons/converted/caddy.svg.png | Bin 0 -> 1445 bytes .../icons/converted/jQuery Mobile.svg.png | Bin 0 -> 851 bytes .../images/icons/converted/jQuery UI.svg.png | Bin 0 -> 964 bytes .../images/icons/converted/jQuery.svg.png | Bin 0 -> 1336 bytes .../images/icons/converted/pimcore.svg.png | Bin 0 -> 842 bytes .../images/icons/converted/webpack.svg.png | Bin 0 -> 1493 bytes src/drivers/chrome/js/driver.js | 8 +- src/drivers/chrome/js/popup.js | 15 ++- src/drivers/chrome/manifest.json | 2 +- src/drivers/firefox/data/js/panel.js | 10 +- src/drivers/firefox/package.json | 2 +- 50 files changed, 138 insertions(+), 100 deletions(-) create mode 100644 src/drivers/chrome/images/icons/converted/.gitkeep create mode 100644 src/drivers/chrome/images/icons/converted/Angular.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Apache.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Bigcommerce.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Bounce Exchange.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Captch Me.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/CloudFlare.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Criteo.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Disqus.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/DoubleClick.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/ExagonConcept.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/GitLab.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Google AdSense.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Google Analytics.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/HP.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/IBM.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Lightspeed.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Marionette.js.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Microsoft.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/MotoCMS.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/MySQL.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Nginx.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/PDF.js.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Penguin.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Sails.js.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Shopery.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Shopify.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Shoptet.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/SilverStripe.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Sulu.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/TYPO3.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/Varnish.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/WordPress.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/caddy.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/jQuery Mobile.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/jQuery UI.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/jQuery.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/pimcore.svg.png create mode 100644 src/drivers/chrome/images/icons/converted/webpack.svg.png diff --git a/.gitignore b/.gitignore index 4cb371265..af6546711 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,8 @@ build/* drivers/npm/node_modules drivers/npm/npm-debug.log +src/icons/converted/* + package.json node_modules/ npm-debug.log diff --git a/bin/wappalyzer-build b/bin/wappalyzer-build index 0d48405a1..cb1389954 100755 --- a/bin/wappalyzer-build +++ b/bin/wappalyzer-build @@ -30,6 +30,24 @@ echo "Compressing SVG icons..." node $WAPPALYZER_NODE_PATH/node_modules/svgo/bin/svgo -q -f $WAPPALYZER_ROOT/src/icons $WAPPALYZER_ROOT/src/icons +echo "Converting SVG icons to PNG..." + +OIFS="$IFS" +IFS=$'\n' + +for svg in $(find $WAPPALYZER_ROOT/src/icons -type f -name "*.svg") +do + echo " Converting $(basename "$svg")..." + + dest="$WAPPALYZER_ROOT/src/icons/converted/$(basename "$svg").png" + + if [[ ! -f "$dest" ]]; then + svg2png "$svg" --width=32 --height=32 --output "$dest" || true + fi +done + +IFS="$OIFS" + wappalyzer links # Npm Module diff --git a/bin/wappalyzer-links b/bin/wappalyzer-links index 2afbfada0..12a6bddf1 100755 --- a/bin/wappalyzer-links +++ b/bin/wappalyzer-links @@ -27,41 +27,41 @@ path="$path/src" echo "Creating hard links..." -ln -f $path/wappalyzer.js $path/drivers/firefox/lib -ln -f $path/apps.json $path/drivers/firefox/data -ln -f $path/icons/*.png $path/drivers/firefox/data/images/icons -ln -f $path/icons/*.svg $path/drivers/firefox/data/images/icons -ln -f $path/utils/*.js $path/drivers/firefox/data/js +ln -f $path/wappalyzer.js $path/drivers/firefox/lib +ln -f $path/apps.json $path/drivers/firefox/data +ln -f $path/icons/*.png $path/drivers/firefox/data/images/icons +ln -f $path/icons/*.svg $path/drivers/firefox/data/images/icons +ln -f $path/utils/*.js $path/drivers/firefox/data/js -ln -f $path/wappalyzer.js $path/drivers/chrome/js -ln -f $path/apps.json $path/drivers/chrome -ln -f $path/icons/*.png $path/drivers/chrome/images/icons -ln -f $path/icons/*.svg $path/drivers/chrome/images/icons -ln -f $path/utils/*.js $path/drivers/chrome/js +ln -f $path/wappalyzer.js $path/drivers/chrome/js +ln -f $path/apps.json $path/drivers/chrome +ln -f $path/icons/*.png $path/drivers/chrome/images/icons +ln -f $path/icons/converted/*.png $path/drivers/chrome/images/icons/converted +ln -f $path/utils/*.js $path/drivers/chrome/js -ln -f $path/wappalyzer.js $path/drivers/bookmarklet/js -ln -f $path/icons/*.png $path/drivers/bookmarklet/images/icons -ln -f $path/icons/*.svg $path/drivers/bookmarklet/images/icons +ln -f $path/wappalyzer.js $path/drivers/bookmarklet/js +ln -f $path/icons/*.png $path/drivers/bookmarklet/images/icons +ln -f $path/icons/*.svg $path/drivers/bookmarklet/images/icons -ln -f $path/wappalyzer.js $path/drivers/html/js -ln -f $path/apps.json $path/drivers/html -ln -f $path/icons/*.png $path/drivers/html/images/icons -ln -f $path/icons/*.svg $path/drivers/html/images/icons +ln -f $path/wappalyzer.js $path/drivers/html/js +ln -f $path/apps.json $path/drivers/html +ln -f $path/icons/*.png $path/drivers/html/images/icons +ln -f $path/icons/*.svg $path/drivers/html/images/icons -ln -f $path/wappalyzer.js $path/drivers/php/js -ln -f $path/apps.json $path/drivers/php +ln -f $path/wappalyzer.js $path/drivers/php/js +ln -f $path/apps.json $path/drivers/php -ln -f $path/wappalyzer.js $path/drivers/python/js -ln -f $path/apps.json $path/drivers/python +ln -f $path/wappalyzer.js $path/drivers/python/js +ln -f $path/apps.json $path/drivers/python -ln -f $path/wappalyzer.js $path/drivers/phantomjs -ln -f $path/apps.json $path/drivers/phantomjs +ln -f $path/wappalyzer.js $path/drivers/phantomjs +ln -f $path/apps.json $path/drivers/phantomjs -ln -f $path/wappalyzer.js $path/drivers/ruby/js -ln -f $path/apps.json $path/drivers/ruby +ln -f $path/wappalyzer.js $path/drivers/ruby/js +ln -f $path/apps.json $path/drivers/ruby -ln -f $path/wappalyzer.js $path/drivers/npm -ln -f $path/apps.json $path/drivers/npm +ln -f $path/wappalyzer.js $path/drivers/npm +ln -f $path/apps.json $path/drivers/npm echo "OK" diff --git a/docker/Dockerfile b/docker/Dockerfile index 625b6bf14..d8c6fd4a4 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,8 +8,8 @@ ENV WAPPALYZER_ROOT /home/wappalyzer/synced ENV WAPPALYZER_NODE_PATH /home/wappalyzer/node # Install packages -RUN apt-get update && apt-get install -y curl zip libfreetype6 libfontconfig -RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - +RUN apt-get update && apt-get install -y sudo curl bzip2 zip libfreetype6 libfontconfig +RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - RUN apt-get install -y nodejs RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* @@ -27,21 +27,23 @@ RUN echo "cd \$WAPPALYZER_ROOT" >> .bashrc RUN echo "wappalyzer" >> .bashrc +# PhantomJS +# RUN su wappalyzer -c "\ +# mkdir phantomjs && \ +# curl -L https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 | tar xvjC phantomjs && \ +# ln -s /home/wappalyzer/phantomjs/phantomjs-*-linux-x86_64/bin/phantomjs /usr/bin/phantomjs" + + # Node JS RUN su wappalyzer -c "mkdir $WAPPALYZER_NODE_PATH" ADD node/package.json $WAPPALYZER_NODE_PATH/package.json +RUN npm i -g npm svg2png --prefix=/usr/local +RUN ln -s -f /usr/local/bin/npm /usr/bin/npm RUN su wappalyzer -c "cd $WAPPALYZER_NODE_PATH && npm i" -# PhantomJS -RUN su wappalyzer -c "\ - mkdir phantomjs && \ - curl -L https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2 | tar xvjC phantomjs && \ - ln -s /home/wappalyzer/phantomjs/phantomjs-*-linux-x86_64/bin/phantomjs bin/phantomjs" - - # SSH RUN rm -f /etc/service/sshd/down RUN su wappalyzer -c "mkdir .ssh && chmod 700 .ssh" diff --git a/docker/node/package.json b/docker/node/package.json index b75954434..0bf01f87d 100644 --- a/docker/node/package.json +++ b/docker/node/package.json @@ -18,6 +18,7 @@ "jsonlint": "*", "jpm": "*", "imagemin-cli": "*", + "phantomjs-prebuilt": "*", "svgo": "*" }, "engines": { diff --git a/src/apps.json b/src/apps.json index 24b3d0bfc..fbdb441ea 100755 --- a/src/apps.json +++ b/src/apps.json @@ -6722,12 +6722,12 @@ "cats": [ 12 ], - "script": "strapdown\\.js", + "icon": "strapdown.js.png", "implies": [ "Twitter Bootstrap", "Google Code Prettify" ], - "icon": "strapdown.js.png", + "script": "strapdown\\.js", "website": "strapdownjs.com" }, "Strato": { @@ -9117,56 +9117,56 @@ } }, "categories": { - "1": "cms", - "2": "message-boards", - "3": "database-managers", - "4": "documentation-tools", - "5": "widgets", - "6": "ecommerce", - "7": "photo-galleries", - "8": "wikis", - "9": "hosting-panels", - "10": "analytics", - "11": "blogs", - "12": "javascript-frameworks", - "13": "issue-trackers", - "14": "video-players", - "15": "comment-systems", - "16": "captchas", - "17": "font-scripts", - "18": "web-frameworks", - "19": "miscellaneous", - "20": "editors", - "21": "lms", - "22": "web-servers", - "23": "cache-tools", - "24": "rich-text-editors", - "25": "javascript-graphics", - "26": "mobile-frameworks", - "27": "programming-languages", - "28": "operating-systems", - "29": "search-engines", - "30": "web-mail", - "31": "cdn", - "32": "marketing-automation", - "33": "web-server-extensions", - "34": "databases", - "35": "maps", - "36": "advertising-networks", - "37": "network-devices", - "38": "media-servers", - "39": "webcams", - "40": "printers", - "41": "payment-processors", - "42": "tag-managers", - "43": "paywalls", - "44": "build-ci-systems", - "45": "control-systems", - "46": "remote-access", - "47": "dev-tools", - "48": "network-storage", - "49": "feed-readers", - "50": "document-management-systems", - "51": "landing-page-builders" + "1": "CMS", + "2": "Message Boards", + "3": "Database Managers", + "4": "Documentation Tools", + "5": "Widgets", + "6": "Ecommerce", + "7": "Photo Galleries", + "8": "Wikis", + "9": "Hosting Panels", + "10": "Analytics", + "11": "Blogs", + "12": "Javascript Frameworks", + "13": "Issue Trackers", + "14": "Video Players", + "15": "Comment Systems", + "16": "Captchas", + "17": "Font Scripts", + "18": "Web Frameworks", + "19": "Miscellaneous", + "20": "Editors", + "21": "LMS", + "22": "Web Servers", + "23": "Cache Tools", + "24": "Rich Text Editors", + "25": "Javascript Graphics", + "26": "Mobile Frameworks", + "27": "Programming Languages", + "28": "Operating Systems", + "29": "Search Engines", + "30": "Web Mail", + "31": "CDN", + "32": "Marketing Automation", + "33": "Web Server Extensions", + "34": "Databases", + "35": "Maps", + "36": "Advertising Networks", + "37": "Network Devices", + "38": "Media Servers", + "39": "Webcams", + "40": "Printers", + "41": "Payment Processors", + "42": "Tag Managers", + "43": "Paywalls", + "44": "Build CI Systems", + "45": "Control Systems", + "46": "Remote Access", + "47": "Dev Tools", + "48": "Network Storage", + "49": "Feed Readers", + "50": "Document Management Systems", + "51": "Landing Page Builders" } } \ No newline at end of file diff --git a/src/drivers/chrome/images/icons/converted/.gitkeep b/src/drivers/chrome/images/icons/converted/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/src/drivers/chrome/images/icons/converted/Angular.svg.png b/src/drivers/chrome/images/icons/converted/Angular.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9e10cd378113458b51abb41d88674423110fdd GIT binary patch literal 1388 zcmV-y1(W)TP)C6GN$h2r8Jkge79)MvxL^YiVI>XSz(cS^oX^;h!0X z=|AnnHJ+#W@45G!@1Aq#+;ibS7U6GPZ~R*T0$>N6fFtp(0}7xfe&-C6D?rkz190U* z{(;5^o146zwu@49K6$eMuaFJ0&=b}GXV&IE$I~SzFgO|u(_bPz0&F4RO)n< z0CX#H0LBzW?2Sc#2*~mGI|Ka}M2MupXxU(_0Mea$_EgWSU0+3 zq|1mR$9iM23%BBt_c{jyKLIhON5&Gs33%7|{S|xswOdOa&h}cj=RTVtSVqd#P{(ym zV(MnEl^TGcEJpg`v9mp~*t*?R$v{ z!QkS)S7w_Ez@Q|KcLoPuJRcrDl7P@{X?g*0`|S1=xj46%l~S;7HFMUl#amUG6F`;Q zQ#>fe)?lVr0CU&r0QPZJnasslVe2LYhXcW8qp59YP5=hbACLE@`?Y20^$ArQnaz;R z>!onZhSYcM<_)+?if08FktJkZzfIadA`?K3>snwoLj_N-!{+m$$K$BcD0a7-hV8Ah z0u0F#z-`O}XbGT+y4EwJ6`PHs9a{m2e(^Q8x{d)*zpWKVo_EHjAz3nj0nEB!4WJqN z)tQXsKi-0)x(a~Fp`jx*fQqmL#o=B)q)^Uv}+px zQunXOH+qoA#_2ou2>^|4JFz*PS(lH>N|=m7G!5XpvC%u(40skV!u`Mk046^^nHul; zuoGQY@Ra+hS-&&5z(~s3-i( zWdNFXw;|Xv&6*ODr9RACGX>zt1OT)#Rf&3C_M&u!v$lr3mPY{)91bcvUIQSr1QpcP zQn{*y!87OX8P^PhfE2®aMmby8JFr|o`6D_CC%)1>M7_Gxp6Wf@i1`^iW_W(0IV zjc95RXh;s)ONuFY%FJ!#^p_0pe?7Gz{Wh$8;xU$Y9H3;;LdqUq%E*sDr*t7%gp3*h zSt20n#;x>0-t;C55k zx(NWKuOIR9m8<}UuG4$?C;;UvnkiZ^KcyR0y>8vNAOuR+JGyBJBWzbw}jf;P=mavbf^>>Jop|Y{$;3 zBT5$oI1?T=J_-ij4ocE~V1h(50%oH*O|Hda(&yo!&KvP4r4HvqHEwU_VNJ=9Zdoz_ zxHL7vTm3gLpBfJBjc8gIW;djy&&jqyJKzR4%f)%)AZYc|f$%b%7qs|fVRV;l+w z2EHE;zY2T>jAM4p3OS@8UFQHifY0Y})VEjEbnNn1H&?jamH=TzrYjhj{3bl|rmE|Q zfpEgHM8@IE1t2NOF4+qd&UNK2d#7ZY7SWYa9;^DyN1A4@NZY9U#Qr zwmfz9{#CJIrlka^TU=21LPz8M!+Yn}>*X%@Nnj-~2QzKX95?r;o@RE;rZNx62TCz_ u90lTJ)cSt{Ai2(#fJwd$ldqrum;3=N6%^JY#$(z50000laZp;}Fw2Yb17Rh3h>cjKpv%g5eH-CWsO&>Pt>X38Is zxjUUaI6RrOlEuyPY_*n4O9}ty59k0?0HSravDQ4wpO?&3fk6Tv`grT{=gw9CUF&`- z+o7^p^x{B2fN(;L`V+i()4_E%8Z6akjPDGH0mvLTt=9hTe8Z~fc|~E|wnsxT75ZvH zD=!-wzy;t5fD1UU9y&L!J!+5HR+m*uZVXW*A%p~9Vz_4k{{oiAT*!ig4H*Cc002ov JPDHLkV1m1akmUdX literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Bigcommerce.svg.png b/src/drivers/chrome/images/icons/converted/Bigcommerce.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..b10abfa835b796128c3c1b119b9a6a334adf6bd3 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWND0tY@ z#W5tJ_3Z^iu0sw2tQYJ%cV&45h~(&A)9Rhuq43gVg7M9zpLAyZz7bKuAgIzZBSq&6 zQ>1Fs8SV0)#`76l1f2eG-~Vpi{j(~}JiRu%a=)!z$cC_9@e5WVwx(7_ibf~vV-g;u z2@1dG*fHx#^s?@)d{-}=G+D7F*Da7qPV$W5u7+z1rFLWn3F^e zQJc}7*(Am&D_#l~L=kgQwIGO>5^co|J3HxCXekk?NOK{r7h=KSUxH1V#-=EVZ8q9w zvoptw-EB9U`B~EX!otis=R40kv*&!@8KFU?(`lnnC~OzuDd0ii_R7x#rh#dt_(9XO zq0O5&pX%%D^Bb90;s#ijwMj(Y1l0>{Y|!tF2p<=Vr4RD?{G}BcNT<`r{QUeIp!NbA z8U!yh0_t7IaX$i7!v@Mv&0*lN6@u$^tf^^D>fphHg;)cYWj!Fm5ODVmf>-r(BBAdb z7#J82HPGE{-c>5;-%(y%^%?;+7e2pi1rjkPegoO&IL_bI2EBS=n&zrfNk0|>2RPr{ zeBX|+)ot6>MdBCfz2JWcyjX3}suzZlc!%=#3RBzY=&$d^0OIt!NaF3<1`QyYOx^>s zHzwE<;q>*vwU%r)J5}4L18ADO1sKtAmC9z_!4<;K_`Yg&-KB5pONayvzy_QTSKN&Vc7f~%LFh`Z)j^nst!Iovc3~b8fa{B|i zCqQe>WZXb_Utga#Ha50HSBfnwfu~Z*UZv;<#I}?5Z*T&n#c`aoL9wQ3CPqg`GoYGv z;LduuQgr2V;c(lwdz4b2a5a%h?bbS5UU0cUc%`a3pgMpV4Y+wZJeP}rcY``WO%Ayx znM@?~R@ZeWf@0g-+gH!e7rqdoqtdiq2No%(&_>`XP@jdv6D{?*zN(&{o~B}P;Rw)H z8>9i3C~vjyD7a-=7O2mI;hY0n!{F)kuC>MD!cZL?rT9w&eiBjL*{thCz@HOgfJ(6u zVMv6N*Wl9PIL?`%*xugW4TZw`uYkwv`$U-3M6?&8;HgxyLxe0fmCpCMTr8H_L^$Mm zerp)qG|i1yuKaskgzZ87B77ftB(rV%Sx|%2RLzQxI8N@Fs94i9Z!!%1IPgf=7^Uc_ zpZKaQ%X%7=8vsWnvTk6S<}JFee+@hoF|1H3mA(u#(Ak;X?fV=eq(CVpp$1ITyv;E5 zZ-D!wOo}j&&*v{MGmuK9cKW`b4}(`M1okD9$vZSnP5{kOaG>aUYCqI%sZ{FucBTBo zz^a%D0u6YcHwXL~6N?D@tJQJI8&FDn4OksF0nlvQ$xlP3|0CoCUe)P!>o)AG-YhY& zxL8UWhJK3pS9mMPOTk@{@F@{(cYlBXVzpt(Uy#q|XA=qiNfCaDF|Y!uanJLgs6Ub| zORME{s%@=&8{8{(^b literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Captch Me.svg.png b/src/drivers/chrome/images/icons/converted/Captch Me.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..f82f3d8f09d7f7def3cbca9bca4d53a371c1b7af GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWNDCp?v z;usRq`u3`!D1!k9bKnYho|5F%B64kxZdP|BPuzc0cz?!*#WMf-CtRI&)v7@WsD+{6 e90!O30SDd)MQQeh(X1a^L0nH)KbLh*2~7YG)g+Gq literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/CloudFlare.svg.png b/src/drivers/chrome/images/icons/converted/CloudFlare.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..1bb04bd94598663297de546c1a62fd0907e7de5c GIT binary patch literal 926 zcmV;P17ZA$P)r^RnfK!<3dGIvDQUF zgkmY`Ufj49E!xqVO?Bf!!JQzuP_Tk4b)|@xML;T%)Y2xVX=u_(Ch24{)5+Za|9mb& z)aF8OR0Zc*pYMI&^If1rhYtUDWiQ&bI|44ww>%I3l%P~px9Hi&2 zq=e#VZ2?z2a}MV|iZ{%A^6q@?mISz*?>S-;-EVsjy&So&)_D1 zfS?KCIJ6p|!DeMw5{`j7T(*u5`DjzniqT-nzR#jP@0!sQnf!FYtgox*)3>YGBi8I*iw7 zXC8LA12mSe&3HWl$ee+B1N{L!-o)GaDsE~LzKmmAA&m8N*5kzzix+?q0jRvuyW7Gi z5=-AtG7IfGTA2gaT5HQHYa6qE_snYhwM!x9kQhh{C<~Mg>;tp>BsR4ViKg*KKE$6p zHFDe8OOMIYa5^3KL%-R*Pvz(uAebG)zcdZ4I@+p%+cA;9XYVM8`O3i_@% literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Criteo.svg.png b/src/drivers/chrome/images/icons/converted/Criteo.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..a64f7cf0e486ec5513561de93ef2715f843d5a1e GIT binary patch literal 635 zcmV->0)+jEP)BldIh}$ zp>ZX2VHO6uniRZ)TtPtTGTWjO3~sw|Q|+oI&?Lqg=Idf+(l(7`nkJcdHN!ca=jHsq zpCY2}tGTqP%v}XLKn`IYNC(Yr6gNOipy7yfwpwbnql~L2b?DiJtl%D@cnd5=^gBSP zVY=ni{?+YN2E;BTd&+qa>HtVa1dpl@Vq0QX)WPR|WCPvm<_pkuU~5Y7s4l>JlPWdu zCK~wh@%1Yu-X|bCBY3EHM$jlf%Gyz`z_nFY)huDQAu2G*O z93Tt2E_PwKr-lan4M%>C@K9R;3ka5=XBV=f+%HVO+y7O44EJSf|LRr)2=37W;Q&b- zqYR+#tGRRn^Bd7GnOSKt7E9Ok694w6hfQru{u6`KKQX@N#ubb*F;#5n^7G4KbE58kO>Ew$PR zwT0t_+S*~W;~zuQEdygiojJ`sm{I+OyWO3gb_y6AVDJzSJ7j@AZ$y#;=5_wvkiIn+6L`O%tStO4+6!V+T} zq{9E5jvm6X)v>n6RYee?IPIQnWN?h~!i&>UegCleEU~QjqLk;458mn8VY3ru+@BKF V#wCkI8x#Nl002ovPDHLkV1hxD9Vh?* literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Disqus.svg.png b/src/drivers/chrome/images/icons/converted/Disqus.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..0c18bfcaeb856b3c0b817dcd7d6fa48cad012897 GIT binary patch literal 752 zcmV97k%VhdPO`kZLAGH%*Zu6A?)u z649njk4+Dv{(x3R5J3<{4`@-4QLDgBBn46QfM^y{bIx^I>}>w5$bB5jY+2V;;g$ zc=Z+Dh9Q>t2LNRbIO2l?ji5^McCZm5akv$N?vD^R0b(;#hFd*wxeZnon#G0BQ*g2u zzRhJ{XLtv8RKo4u*2Dqo%i;cBs44pkfEpKE+$m4Fk+}-sN;^37=$&BKzb%}dr3cyojES_nbRzp>(7{?MYG?PBB zDyb|P0xU;|U^iL1y359YS{Lm54kNQ-T&zNsGkyM75@urBINdS~&%weX6c~IdLK9G= zLjNS(?Mt0|N3Hg}2d6)bri8dr zLt?5U0`Y}A>W8k4*`Mi19Bzi-!E&}_X&?mak1{= zSnW_#xP*wZ0an0#6;Pric(2xnzfZ2%+51oeHk`v416V_hcLBJDBQcp;>sv!j`y2D8 znI<_>QvC#MF&yUSbstu>+?N1m(1r$l!NA8va1K}43PY!s$nm1Swyt1-B^3kc>)MYh zzXXA81(empr#bNpnV9z=g;T+V*x?J|qqUd9)2%rISM+PNBz0Mo!5^gzk=~667;`~M zX%7(usCmJz+=Qtdymm7qWRXzlQ2DvmX&-FHo;?fzVlWlHg!K%}Ap#yb08x^Ez9=iu zeg1BTXl`+^`l~yx0NB)s$p+y_svwEAeVXR3|4(!Gxm|Hbn!A6bD$KC$S^$XY>e(Nw zUdrdYc}<~<$%mKjIH?XiVI7fu@#ZW30~P;1J5eWRF)0G15`;q_JhEf!yyBBjgD^!l z&+XI;Cyl;x@WkbiwI2kl#ySA6i(i{iKmxDW*vWrXg=;rgO`53-XF&0&P&^8RLji#+ zPK*3Sjg{M01K=nO-;oE(oWBqyr7H zxU!^vVR?KZA)e{MViIVSad=#b30_CMT`Gc=c|zE{y2S{AVLlaz#2VzAR$x&n1=*2M-MJ5*Q^5G45Eh!H)LGtY1&;p$;eTOl4>kaoy08p zpVA>(Sfo-SluAY2uK z&@AiTr_y>|HtQw~(Y;9G%wn6}bn8S@Xo8H3S+od)uuEoJnoBDnK$qnV=2bJ-&h!sH z{~kq<2+L(-tIv$C>5n_IWjVmuB@`VIS<2}`FxTI4O4d67kBd3oKaczV4OgTSena3l z9=NOwL3@{f-@a4NyeRKK0BlCY{16%e?66K23Q$tez&70rX1twl#B18Fdp81jA$2Y@ zbyU{oSN~KwbrzV(ruwcUOaEyg04TeHiKO5-EFXt3Ymx8jI1yfs6{o)D^J|sQe|yeL%=7gql^U5c}=uzte%~zo5DMs zhz9`^)*oHAdnJ(a#tU-r88EaT6bIn*o1+#^J9G{(bsji~9xY7lINDRPYOuy_0Yurc@CgACTeKir$}5b4(#KCf}O(7t9pVq0C2Vsd>Au%%bvEtOQ{-051T}gU^PrE2H=Y&Pk$m9(ayl(sv`xV z8@*{EyZK4@oC+v`@EK0vAq$lUO!%C#w4sLd+QoVaF2Eyej)ZDKi_Ore3 z_xQap@Avp|u*3h3RDu;9VI*Xtu)8A<#p58`P z`t+;=yq+vKftP7rVYC`_CY=WWQ02O*3%3r3YlU8|ZzNe!4LZ*i9XG5-tq0dl;lX&B@^8mjvr=TKJV-MdBI}Z@~rB&dWVGZR9->1Rh z5_TC2Tcf$eTQz!ZYOII;`Xx-ifPdmd(4H6MR9aVf?0N?P5WG*e&WQ5>m9Sj~y=Yj9 zr;WVJ=Ed2ST_ilfTy~v{CXToATe-`vvS+Vc0X-V~alK_<`oeMzC4(BzN>h&MpGV}Ydg{=c|;=Kp<^}8}3 z`Nh+{O6C(t67P=PoUd^#Q)w|j=s#ha-yNnRGtINdKBo0;c?p3J`Hl4%%h;9xs&Z-R seEpl{IeiHMR9Ia0i%(tm+2P;iCq{OU*YEUpvj6}907*qoM6N<$f;)}=o&W#< literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/GitLab.svg.png b/src/drivers/chrome/images/icons/converted/GitLab.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..27f76dd4f274a05788319004e19d870565899639 GIT binary patch literal 1137 zcmV-%1djWOP)n7?99&D z<3o1Rz07QGKIj(~&ipRl-*?XMH|MbMU&Q>01Lx;Y960}P@%{bgz{hh#smUOp9b_yl zn-2vH@X2T)*Pd(6tSdk}^6XlIqn_KYfTF|G_xa>dLjk#={zFBF=KBdW zFAS!(EFwRYe%W&+z9yz1E%}jyPlXE5p8BAcL~E(rwvD1#WUS8S=!sAPMMoW}P4FD` z!j=U%Qn!0vfun%}?u?|LC>BW8krYVgh97=>v&9#NQ_okn(}!D-wuQm;qjdtbV}CaMM~#R2G;4fo0vt!Z7?$8R@P)y1<#4Fa;h4V`0CORon*W`v{&N6~6_rb# zTQVCd9*r5R=%}~DBaG>M(oV^_Kd##Vx~=q4`!fiChGxjUyu5SwcHOZNh^D=oL}w{H zU_YX9&jF`b8RK%C9-u2cC!W~Q%L5QgG;nqS-5|~K3V<@7KGI9Vbe5GtQ*fTL!Hza~ zt1|3Z39&+)&E*<^NziS+?Axof?VelfyaM`x5Q3HlJLDr77GsyW{VocWv^A+{;?=6a zIPegG;}~yQzYVdL5JxW%t2UXqc|#E^Z+|5^fZg>R%3l42!H$Bm0z~cs+Um_FO1C1% zw*<9z571g~PBxhCmLOj{@IXMY0m<`?vNP9C>p3}P3KXjX1n2{z)p_x@@HWI-YkV<+ z+v(!!S>Ce8vhON@SZ4Y=dpWvK^4zEj^arPczzS)D6#-Q_y#7Gf#7ds5<;M5L&Sby$ z-?Iwd=L28UW!^(o_-+F?@5e073yZVWhf>?F5{Vt<9S~MOx1ALMC5)MquOgZ0(aOBK zqs`7tzi-{rM`eZOHDfnbhg4JTRs&7R3fs==;<6%ltyvD&77r8vAQLx!R5QtLlat@@ zdG~{VxmpoW6`9I1s7U!C0X$e<8!!v=%vr*A)O@rc&urJ3pHwJIMjp!E@mD_0_5C z>C;#-U;tP7YIZ&D4G91+7f`yr{|7qcHD-Vrn7L}9fL&<~dx71c7Pu^< z*^?q{==R#M03Xi9{t>G~E^(9SVpb4KNcNXtACAt+so41R<<0PIS^$8#_*l0WDg30b zkw$^lD_87$OGjk#ulcR;Z5i&_)Mv%Bsk;Ar|110h&A3m^xHTWW00000NkvXXu0mjf Dsm~*j literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Google AdSense.svg.png b/src/drivers/chrome/images/icons/converted/Google AdSense.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..60003100be6e80139444259911fa38504d5b6b43 GIT binary patch literal 1065 zcmV+^1lIeBP)?~&^^c)6-BQlhj}dk!M7X7;N{%K0U(Mm3>>Wfv@QU`{31Z^0oHy!-c_zP`h%bXZ-&I>oRLn!~qyx7~z2>>?fRVSr+6Tl{A24>RpSTmi!sNhqRy+!k zy1oO1F+pg|yDpr4?*iYKabcBj3JdCm>rp)$Pv3p0dff$}=MKmW?joh1hBQ{)fROs{ zF1umk5TW#RzB51&`ENt_S_{|j{bsuE{I(T&8A80+&nnsE3r_M34 z_W0E^bgjCNz?_ntK!A;mxqhb@9!T{-<ⓈQfdSukoHVM05y!z>5IQ_@4WR_`LV5v zV~F0+20(2~B@n>ARy$-EGpQvI;ujhM)Zu}8Ig-Ax7N5_(JWLS48cOk=Aby}#b4fq|NnhLy?k)bj^i=DlG%?Tz!WgsA6@V2TAxfHT1%gD-2>}2WQ}fRc ztxDDhB3O<;S>==RlzN79dUEB?PnZm?Z=qIyX?fG)bC-S@)@cP*9+2~!^9g{7#2f-Hm7cRB-?>5fCmXRv&%&`vip@VdZK41Th|Oi8dgRc<)=j zsD^&&+>KWUd&t)zVj!#nA~10r<90X(B#vUX7=tEm3OA44ww8De&)*y+My{{^3WNb{ z1y#d8%$^=80&OQ@Sn&3UqWuZA`eM7hh7d%Ns(drPX4o*(#lA^jiRA-y|Y$ zbx8a9-`T&ous^KHrY!oXS(=%B|DHb^eGLGMUttF;KA3*dCT~K(8m@gjcXD$U@zBE7 z41dr*#sHv|8W*CC{Zq7zI9uEsl;V*r`l!Wp;p(YvKXw4fB(|`k!|rJW*1(*dKfWc4 zxDg<<>Z9a12OIP_h%+VoqqJx7-`Yc2LQsit<;tmTUnIvh3?3GdUtJSfu=;HN=+K=A jPXBlsZQ1bYZsY$0;<&daI9{-D00000NkvXXu0mjfXy)^( literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Google Analytics.svg.png b/src/drivers/chrome/images/icons/converted/Google Analytics.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..d93caf9fd01c821d0dbfc9dbfe33313606c1dd5e GIT binary patch literal 1138 zcmV-&1daQNP)FhPxpe}bPWtyZIAZ3>OG)CxrkDPSqaMB9dFngA83NH;+n39!2}v%6;Z z%<*Da0?Q0^NxHn3XL8=(bKcC%A@Q|q7X-Bf2mx@SFqHyu6(m|noN`|VaHK$RZuK*m zC*P?GF%)j>8_MuJy1;e{=f1j#e)yWaBLTQ?Z$uCO=m5#p1rNY|`yzUH*g;IG0sy)2 z_>hyBQkh*V*aW!$vAelAP@oBz_;4|iRGItiflq*!1n2B<0LBBI051v7=`RertZ*TO zk-B*D)|L}60>N3~2t@P6)4uvSy=l;Ghiex<8&`YUpR^4i1i%AN+|iqc{A%;fe+_5F zQa*SxJme-ORaoNReL5ch{`1CSiLBoNApl8G zl?)Gg>~QtM$%$C^7maS2!6jP+F!85n5~03wVp1TxPIB?X+Kay=40r84TRhM>t2bTo z5|hd;aISWJG7<0ja=%Ar@G1lc%LyO^z{{VRPK17_AYy^sCQ@>~_P_epBJO!)-VzTD z`0a4L>*LAzrS^5Wyf%Ok0IzsbcvgL)N&#xwdrtt%bO@Cjyc-2*ji^J3Mywqp7WM z0AR`IFFa&}tLpJL7GpO@YVUUaS`)<)%MjN1hf`YrnV?7690veK#JpCxcH+%NZR}dD zS7GqV41afDuZfE0h#<+ZlZ6oJSmy^*T7O5-qcC`6f>W}`0gKDX;9S+(T9@>(k=@C`W}zW;8B=)L0I5`xh4_8 zDFFn6Lox#>L~uyR8wUWocXW4(2o9%2o8oIr05Ak#2r~eq``c$xDdvb%7 literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/HP.svg.png b/src/drivers/chrome/images/icons/converted/HP.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..351064cebe70a63816a8aa17140283743e3c2827 GIT binary patch literal 1588 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 M07*qoM6N<$f|OlOMF0Q* literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Marionette.js.svg.png b/src/drivers/chrome/images/icons/converted/Marionette.js.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..613c98ebcf47e38eb8bb27f263df3b7a05d0cfe7 GIT binary patch literal 1693 zcmV;O24eY%P)VA=g#bm?PTrPVC>k0HQ3n3z(Y%-rY{y& zNRw14O8Sv6HI*vbs%?O@5A=g3?e?Kk-6{{*v4N(PC~65rp-r0)C9+A3s#aButwult z!3NgYi?MgTYa6e3c4qGBgS|U5i+8rlL(kK_`#<-b-@W(TJ9h~_)_3~!CbD=x1pie5 z-stG)u>Ab9cI?=()uaTzQ&CY~Ey_xN^I&`X^+LX?Um#)g9tnPun7(cU!Tb#&#FpynHPMF9U0VX0wu&Y9$71mi2pf%b`pS)|>1*k9s-BtNgyf@D)vKEK zKJ(qz{o?zsK>NO>E^KwoR=yC8ec@80hHlAL!n(WBVXU=3)TCPgHEWlgNyoIB~K=LJrKt6Kh9CMhCA( zBBx9{^X*?ezrUrebz^9LcK#=WL&F~o4h{}ok4BrA_#f|`KE1wJ@}euif~t0Z|CyPC zM~_D4#l%Xl@;9Y<{%rpJyg}dVY6LA%9ZU2kQUuN^GdH<-y_g zn?eE0o)bb;_~p2z28PzReu=>MfY4@l_uQ?R<_QQ2fC26AA6`(~T3!G!xFYbsFSezp zXCEUCp8-jH?!bYRRFo^jjV;5(^f80`K70A%84q-Rkl_t22>^H85}hgWiLF-3+scOG zk3YS0Pk2w%Ex-8ekM8F`zx#3to0Z!%S-KJ+gWleD`NG2F}*#`h&K!^qXkF=QH3IGxW26D&Gbj1J=dJRxKIo%y*SxebnA@A;(x8D}DS%We+ zzwC_8S3_GTVkY0q;IBF<>cLZE7BL3^fTZ+HxS?TlHLjkYToHhnYI3tz6$s08#G4BN zYvWx&K!p-dEFrS|Er7b5&xUnC+JI!X1+WB=cNGPYsRfV&$UBCd+kZ>fp=6AlVl$QK z7e-*;Q312II*aU#Z)yN;rhw=TNT%E}bAFktil@Ny07R~UY)yx1WE`~Rebq*sgb4TmNI=iFElq>SI5kiP{ucwk%=XpjB$S(r*DyAI1IfAEFcR`>3c>SaV^={l zP#8dfawRKl3s77qhM+w;b}kG;Zw_K|vL15_*>lEB*tL87<97(q+{xYhL6YpkD?oBF z7u+ylX}TjaN&(>U$hqAB{S-@|;jASAJhFG<{42|S&n)43mq?;Tx0F`{j;I(0Y+Z9{ zOM6EEKQVUp*OK@P0L1`�uTLCwl&G4l8sNFoG-$0OphfV8Ya0afr&?u1`hIzrQHt z{iZ1Y{N8KlM!iYAh2}9KQtocvO-NJOdQr^`r0%>W7+94b>zl3{&1P~MQ88O_t2VmRC$Q1y&BB_i-T5=+zc6oNbMr?-M{mRRiw>l#JlkcB*3LpWTD-c`E z1C2!iK!yK|NPLw4(=AUj)zTiY6k{C`ua%_K6QdsBdJxu1DXNMAuppI~-vlthjBz1o n0+J?JF(+iI;%c$+|9AT@XlI!9N2>Jy00000NkvXXu0mjfJLNz4 literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Microsoft.svg.png b/src/drivers/chrome/images/icons/converted/Microsoft.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f68770da16212c07012261aba0b65240745ebd GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWNDCp?v z;usRq`u2h&FM|RPvx9;HSE9yzh7S%N#~y#nua4~Ph!t9&+Q$r33IsKbFZ8{R&ANW` d3qM3)2{WHT5zE=885)8h0Z&&ymvv4FO#rh?Bdh=b literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/MotoCMS.svg.png b/src/drivers/chrome/images/icons/converted/MotoCMS.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..07054ebbde9791a719582d364201bfc27f429d99 GIT binary patch literal 1177 zcmV;K1ZMk*P)Id25MqR8%s6qL(??+ z>Wfd-7gIDLtxf$WjQ;`nRx$Cxq|w-56B`YY28fhm!axw@GBCqsZZNkqXXc#k!!XPY z=bX88J?^vD`qtjx+I!Ck93X#2rI}f_khF0{d_ux$t}Xwsb1J%fmi8V=M7ttxEZXuF zTk<0YQQ1MIAHe{J1mqZlH5Y%}F$gU?cw74E>=>Zi8<0~MZ21-g@)w3_XO3pnlR<%s zU`~#4r)u$ubHj9~b9mfEzE@T0eSJ<&^;`I52IQ}d)6OU^o1GCT2*%_X4;_m?=^Cfg zJBq8p%5QcnoPT3XPQP2m7f{k~m3|A+XH&_8OGZL#uu`mFrD10PXsNZeRV z2>FOX+L$cc@@fVEByr#xy&Vc|p2@N;uVw%s7LRify5^#h8JclBlyQbYCCe;GfyZ4x z->a%*)3YuTxXA)tbqZ*}22IEiBs1_nIDS7!X}tC z2uKq)79qU|!YoOUO3Mj#f0z%z@0%Q8_M&q)D=w&wd?dyCfg;4oFpMZVu4tO8a81?a#Q$Owqt z8Vi>q6o0A}5S%}i3ki`) zFX5-&>H=|Kj+0y{WXbm@Q=MCYwqMLeq2CFgr*;9IlU%rnv4qJ$?d&{^6l^_*^lU3< zv(Bg45fWI(r--{;MB#^exI%%W2Jr8|rr%&Q6SKW!D#FFMxX(KZfVjt}D11o`cb(D< z!4!le#j$7 z-vc(d`kbq0-{f0cAw|;Fr+-sVaj0_#3Yfpit=K9PMvjK0?xE3b8XXsMAHDZy?)Q4N rUdjNJ{>C^i@ctWH)%ZmR2W=^&<^-R`h00000NkvXXu0mjfCDI}- literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/MySQL.svg.png b/src/drivers/chrome/images/icons/converted/MySQL.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b6bbf4a40ed3bc72aa815c81726bc6f666a6fa GIT binary patch literal 1153 zcmV-{1b+L8P)VVF<`t>`NL(FcSiC4Fcb2@zqM zE9~sOcUQ`Z$PFWMX58e0?%Z)LC?#Un*qwW4*NfIUJp8w8!&Uw!7o_l#OLy6wIlo%TU8Br9^i?klWBuW`#^b6#o05w{8 z(2RSZTXFC4$pWD1dOsHmRf~3agw9zBf0ot~Bk{BV2T1u|G)^nJ%eY{k7rAUpt2 zqMt~`+D=yrpa7sRYMv31?W~emF_9as&I|F;YG>ev;+Y?_k7Y*c7XUb+X&krR)T7r0 z001CHzW`6Jb_QwyV0TC89LNZ6N2au4&}q8lN9|^z?$zLXq0ZE@N&r|In67tFM7`M; zGxrB+wi4cU5rhdW_M`Tf}qJuJC%r06W{;M5-*6L%}n^qD*^z3bkyu2 zn9KZLzaprKAFR51WZ0i+%ZLlZHga2vn}&29cY6#-arZw82)(;KZ56ERB1 ztiu3KLd(k)0ch%l6da$3Nl_%b0Iag&-u$uwD4Z|gkL3UiXB!3p3_~GOHUOxq2^lSh zmg}uCJN-L@n0?|roF}kd1TAe_dm73Efc{$`w*Wx1+dmy(l7_q(#0&uHZp!Wg@l(Mt zHkSt=>LkIt$CA0F0=ZEHD_XmHX9h9s4u^9DHVe>ZCH!W`amIPbs{qu`$b2C{L)+G# z1|?ho@CO3jx}dfM0RVu;?9grkTSerxv$bypXp%pdiuAo@8FQ$>t5eNppFY0bFn$#Qtk3dvv&r8j} zlIkgH{l*gKP*qTX?r=Dlj#zus(bk7V@G7AXwj@$br8VPj;Ic$Gb~BF2jQfv)`nGhm zwL2(8saiVIw^9}M3HbHAk)idD|rARV*b*HU%V+~Uuf=yg0kvs63V z+ed=dYO3>uo&|7MI%@E`>&NV4lL}DOIwv_LQ(NDms6YHa=3iFG?Opf}GR&^l T3fo-_00000NkvXXu0mjfdaw=P literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Nginx.svg.png b/src/drivers/chrome/images/icons/converted/Nginx.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..c312c5cd55686267f04029ae268a8b97417bfb0e GIT binary patch literal 800 zcmV+*1K<3KP)6&rQ#Et#Z|jQS}&AE=-)Y6Gyr>u)-TS z5u@^C(oqBWplk7Ye3T;62FmtfphpJQsd=e$1C!PW-tCci1MhThpzbjGdTe03V^*~X z?|%r#ZNTe^BEJZ(Jy0sM4v*ibm8oEV>(X}AoWtfw*}wF8(hfHtXkfxt!PgPy8dj^i z(+ITQf^pjt;$#kVBn}m)@NMdO*b;|698;h99S z51aqCj!^XlE=HJ5j(M)}WBwr=vmB#|Qr{afy(DqS1QUh?n{WU@%%J*u7-& z1}e_ue6i0lgUT-9p$I#z;V&K)5!3u=yF zH%cvK>lPb3Xzj7sEX|$=%S)5EP+G*07w%GNa$Oi{#+@)X-(LV22Z#$fVPjIVC17CW}uQbnsnosdwBH=|< z-!-jWyRi1D1yez$j(XGe^LQdsE6A-kY^K$~agUhuJ06Q9{iI@}Oz3ET$1OAGGFC+7 zzcR8o4;C9`e$b32N^UUe&5p!jP9-Wnzx$7y1FeU{l#*F9MBjw3;AvI23&lUvuis^? zjIbwFZBHA330nlG6Xh=mk+Y#0xdFk(1p9)j3&jSY<{P|RD6~`rr;OOv9!|X#@50@l z8fd%s#RjT=!*~znzg6*L=LVo;KW2L(pV)n|fgv{p2fG%}oH6W&6kYsnnE71hY*z+? eKf22QukkMzAE~K4Q(f8s0000>T^Q? literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/PDF.js.svg.png b/src/drivers/chrome/images/icons/converted/PDF.js.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..9d6209a796d56744cab4d0de352fe79c48bb1633 GIT binary patch literal 780 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 literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/Shopify.svg.png b/src/drivers/chrome/images/icons/converted/Shopify.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4cee79140bfd38b132729cc5f6a3fd79bfedce GIT binary patch literal 1327 zcmV+~1_*_UGh{ATA}xZtrbNA?gzb@*YIE!N zYi9hX0tQv+4N+XFU)kKayQOv&5OxBA*WO%nI3|X1RYAE{qJgpkLcKTphOfNcxMKT6 zxYM>^|Nix%p2EJ%hiCYj)+dsE z&GC{)A`t`C_5y-cP}SDqz`S&V0URwJ%(5u+^YsXbL?T9Ebz7~#b4c4-go24A9cx;9 zG0P&)&(|}Ag_Wl^i*N{G157?Sfa7?vxFs18@#gaY+F&VS2_DPVs1tS8b)K@@W)#+JE2zf)`M)V@z{PY$vtKWss z%30(Ukfs8brDysIFqL+dU!j#3qTT&3%r4{U z@(-we@O|b^UqWfYa%Shc+DGqTmnT8G3fPteHZ|51CVoWX8|7ZXlKhd2tF)k!(gN4! z05D|raqV`82lu;*$C>~tU{?WO!`KQWT|zgbU7mAbthIH1Lfnpea6QgBknnM2>D}i< z1(c#>?7?>K+A*$2e4q;%uLl63i4Yh$VnXve6{WQV~GKp)W73o`{>Z>Y%@!jgM%q~$TZFv lCI@?L{q4TG6T_)E{s9b!ZPM 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 literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/jQuery Mobile.svg.png b/src/drivers/chrome/images/icons/converted/jQuery Mobile.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..501839ca1b5dc48f4cde774f6e81d2a4e2466c08 GIT binary patch literal 851 zcmV-Z1FZasP)q zzku#A(SOii;Ksz2TN7pB!Wc0aBQB&-V~7S>sQ7`1iU9>XrR{ti7q+F-nSQB_G2yIw z-h1c1&pr3{bP8<5KMu+jLKjAzs|naDVV1DDmDiVs64{zPJLx)m>!SRF&)Y1({zkZ< z$pGBhn#g<#hXpgAL50jy@g`Tu0CX($v;*)|&>RGgPj-}s`)ni+tA zh#km({&p#jp3~Rha>g^-K*K&94oI0iuF1GQ-vpJtWdkTse*rMT^86e3Phy)_HfTZb z0r;F<2F*b;1p$}=Sux3l!|qw1BhIkVlm{tm!-Rngc*w2Xq)K zz=Q|@h~Rv85P2GqcXQN`*ErnpNKFQ9L7pyX4p?76LJGjfWLbWPD+;%y8MIv<^G@H% zUy1@mEdT^C2>^o08o<{)1Ca4%?x=1x&6``RFA89B0h24=Jx^00))&yhb*(!OP{CTZOPxnR<&oNQ{SnYHkV8f4kog@a|#{ zGVx?Z0PF%qcMkx#GJP`WX-yIZ}3s^9$Z3Lc9GC%$XVsDvix%*B_$p|J}z60 dZNz^WKLPsr^^~nbny~-?002ovPDHLkV1note|7)> literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/jQuery UI.svg.png b/src/drivers/chrome/images/icons/converted/jQuery UI.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..63fa6ac32a6c683f96ca272808ff042ffead02ff GIT binary patch literal 964 zcmV;#13UbQP)x#X+1<3J)_m;8 z{9g}ELU(6ovr#vfKDT+^=l?#>yfgC-Jm?UB#j{)5)yOG96)F?Mm{t^*Sec8XAt&BfJ8N#JMBln=CR3s zbZ#4SH!o8nFDVz=9 zEw1VtJKPUa)RMxr)7a785~buKAW6{HB7Qy{*x0o0$Ntt=*4#X@2idgK$4e||-`S)Q z)VHSWonHf+JKLWtYYyPF9}VPn<`;h`kx2tOT3YaizYJ_*wjIRO?Fx5~w_tX@;OD(8 zHgh!~m5v%j{4-s=h0aX{I0(^07cp%I{o$JS;XZ!_#Q$a6)IdmL=@b2^KAw${MyM%j z*wRh3`&`ID(1kQQI|8&4zx81hLA3*>sc zC|o;T(Gt?^EcqW_C4cFa;5rPsUi8%RbYk3l4kZJ(-o4!nbj=XB!?_02dD=Zbef@sc z_tCn?r?2O{SSRqq|K=@nIp@VXOU(lV03=RK&A1bpZjh6T-2T_Ta0}$5JDxs}I59O7 zqA3qOSC?4KM&1$0(R*u{!^&N^nW0BngjlkBW(v(8d mpf?2Riyh1Syq3NXHvR!IOgP;U%Vwtl0000PbXFR9JuO`q6DMCL?1LxV!{J4AsRz*3W%4W7ERO6aEU@n2mvLw(kT^+32J~)6F^A| zg?8pFA1Jl7Gt(Qamvhcu|N8&`Prp5g0_JyS}scG9W~&s*!4Jq2Sf*wNFKuEQ5(qe*G`{O zR-Y0NsA|6_Dot^7s2fe z_LoO!KqcmKekJIMcp!&3o&gYpBVJxb!aY{r&#MSc7`6dVdAL-RLYKG?$A{@dH!eCO zUUvL_>E8jZz~pY5A3d*z?;5g!;^JzDDC>di4Z(%y$8pz^+3QF z;7YHE=+Z=3w`0;LK%YLLey=~gBdfUDJreEwK)o~P%%dv|x9rcDmmq$)v8qX!Nt^=N1B6$&54L|%EJY! z`VBWX@2zn{MGgvfMBoByqAK=8Y{^A<4tP+64NX7rfAd^R5U5BUtB?DO=N4)=QkGwz+;8K6||%;Qju4hw-f~jW6ZW{7Z}VNKmo)b zR=_zGHoJw*4ME?9z6t3=@cFt{-Kx{cJ%at8%}I{H4He{r6KJ0`a{<3*3Kyp7ZkV5 zl3O~N*B`PFs^XW(*Iiv*Yfpah!o^XGTj6zxo^Go0)eLB*UMut=ur5LEMG@AgjqR*F zvaw{?r(myDHxF@rfTMo%C6)c5;Px&8wKt;63cX^i z=D5gx!z0cZ+l`y~R_C63zjMBO?!D(iAAR)E#~X%pbB>RX4-E|seFkh5k#|&e0k~$2 zi2z+GsPFsRMC3ye$*AfRRlPnuJp6mLTK#)P0p)V}3ss#4GF@WdQq@DVv$Hq5C7zg= z*zCIQcfi({5{cXcjz&>*A?>$(N( z6_GLEbKra`?$^HWf7}_Tc5oZmWEUNbqUeXT{4fmNg@uKaK&91c?X1`950m5~@(VCv zxn~{6IZ~_D{#{m~!@$`@pfP4kM}Y798$={2=~ZJ)rAHYll}f{Nb92wSB?rzJW4`Rg z4T9hbPyuMQTJP8E^}CK${XuG7wO0Uu|C`+6a$>lyyAkXi5Rui%gsMJWAxO963S3!< zCn8T%_CQB~sy34e$8om($KZ)1 z+5?W`{A^#uO9+BsOjQrq;p1#J`v=%Q&}cN&^SqXbRIG1TKA(>Zg~FX?v)P`UoLnA!(o&wUBunjbUEK9v3!8O-)E6FqMG?PZ7p~YhH zqN=_JY_{%I!1|QXMc}A0=Bwo;j^ntR%jKQ}J8WFB+_zH8&JPX_?wy&L>HG;@KO_5@ z>}RQ`uLB-f<=@w8wZFP?5|qp3f~p=Ck)5jgF7OPvAtFCTQ53z3+eaUL^zlaU0xCHD U#e`TL%m4rY07*qoM6N<$f?I%(>;M1& literal 0 HcmV?d00001 diff --git a/src/drivers/chrome/images/icons/converted/webpack.svg.png b/src/drivers/chrome/images/icons/converted/webpack.svg.png new file mode 100644 index 0000000000000000000000000000000000000000..9aa2526f300eddf6bd43e67544fb630330327584 GIT binary patch literal 1493 zcmV;`1uFW9P)0z>kf0Kg5EMjd z5E73Fxe-b$@dwaI1QbBm?IpES80qe=bob1B&iBkYGe@{bd-1o+?+uZQ01|QT^yBk?zZXAp&;g4} zHx7%XZxeAAkv0Gk+lV~7wI$zq>a#O<{x1L#A&Y-l|5AZ`7vWtZ0wTSaLyT1KX;KM@z zDM4~a#3;%vwW&6;H^JShJy?5vljXHL)U^X}nwM1X~oBrnN! z|o zY~3b-A?-|h7(jNOW<5QGt1sQ;wOdYzK4jN3XuA~H3lRbC(CIqe z3fe8Dw9)5Rm4fZA;{oGiN(BAH+8& zP}>U-`6I|xZq#b4K&w<*MSk0@gKp(}fTZyeJ&z-R`vBoig!ThR1VNy(vtA<5DwI|! zLtw2!C<~)o1>M@oX_J#Km*?04i6GoZD==8sd(};fyjR=h-oU$O+b)GxnL)GxjugW_ zcd0OR4(tx@5vT+wAD-fY``Y{JUIcjHzBVTxK8i~A5k3qtXuA|}A~zF=1f>QlaAdN@ zBk!ML{njSeR^OysB}Q3U8Ydn+%(1BnO3k&S)F4Uj5%Mzo(3l|r_dtNM5KJ>|@`Q+B zDojs}bM#1?mGwKU+}I?VtP>UHj!iIkY=W{hOr>9zBLdT)EQD0&7$X6!Pzog zL>x(wBvCY7k(9!_XD6AS8t2;Tn*hA$!NZKVi~gwxIe2bNa+5+hh2>nTeFVUvF?q6E z@oaK`Op_wwxFiw+k|j4aOawLI(0IuQAG*KqXm3N3NNE5hMFtW1oe^gTb7sh1xctx0 zi*cbWiW6_EB}+l=11(vVUP+%nm&6MJ#-Z>{>+{pVUH-%z#5Jxys-sD_$S z-^uvFrqn%cbgJ}B>*no?3kx6U?v8cWowc}hV@8Vf15-Pr*>YPhnycDiTOQ!C)0QW9 zuj};lRO$IIo|<0&Z!z|DF?sR#ubnIkdrp;)?(1UWaWzHy^1>%(|NK_I4|F%YbY=Za zAv}XHH}Yy0tW' + + '' + '' + '' + appName + '' + ( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '' ) + '' + ''; response.apps[appName].cats.forEach(function(cat) { html += - '' + + '' + '' + chrome.i18n.getMessage('categoryName' + cat) + '' + ''; }); diff --git a/src/drivers/chrome/manifest.json b/src/drivers/chrome/manifest.json index 82de0f0af..868d48120 100644 --- a/src/drivers/chrome/manifest.json +++ b/src/drivers/chrome/manifest.json @@ -1,7 +1,7 @@ { "name": "Wappalyzer", "homepage_url": "https://wappalyzer.com?pk_campaign=chrome&pk_kwd=context", "description": "Identifies software on the web", - "version": "2.47", + "version": "2.48", "default_locale": "en", "manifest_version": 2, "icons": { diff --git a/src/drivers/firefox/data/js/panel.js b/src/drivers/firefox/data/js/panel.js index 16bb9986c..5a01f91ef 100644 --- a/src/drivers/firefox/data/js/panel.js +++ b/src/drivers/firefox/data/js/panel.js @@ -1,11 +1,15 @@ (function() { self.port.on('displayApps', function(message) { var - div, a, img, label, name, + div, a, img, label, name, slugify, d = document, detectedApps = d.getElementById('detected-apps'), empty = d.getElementById('empty'); + slugify = function(string) { + return string.toLowerCase().replace(/ /g, '-').replace(/[^\w-]/g, ''); + }; + while ( detectedApps.firstChild ) { detectedApps.removeChild(detectedApps.firstChild); } @@ -31,7 +35,7 @@ a.addEventListener('click', function(e) { e.preventDefault(); - self.port.emit('goToUrl', 'applications/' + appName.toLowerCase().replace(/ /g, '-').replace(/[^\w-]/g, '')); + self.port.emit('goToUrl', 'applications/' + slugify(appName)); }); }(appName)); @@ -64,7 +68,7 @@ a.addEventListener('click', function(e) { e.preventDefault(); - self.port.emit('goToUrl', 'categories/' + message.categories[cat]); + self.port.emit('goToUrl', 'categories/' + slugify(message.categories[cat])); }); }(appName)); diff --git a/src/drivers/firefox/package.json b/src/drivers/firefox/package.json index 85153ac29..c46c45a8a 100644 --- a/src/drivers/firefox/package.json +++ b/src/drivers/firefox/package.json @@ -8,7 +8,7 @@ "description": "Identifies software on the web", "author": "Elbert Alias", "license": "GPLv3", - "version": "3.2.5", + "version": "3.2.6", "main": "driver.js", "preferences": [{ "name": "tracking",