Merge branch 'master' into master

main
Elbert Alias 5 years ago committed by GitHub
commit 18e50249a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -17,7 +17,8 @@
},
"1C-Bitrix": {
"cats": [
1
1,
6
],
"headers": {
"Set-Cookie": "BITRIX_",
@ -78,6 +79,14 @@
"icon": "ebis.png",
"website": "http://www.ebis.ne.jp"
},
"Alpine.js": {
"cats": [
12
],
"html": "<[^>]+x-data[^<]+",
"icon": "Alpine.js.png",
"website": "https://github.com/alpinejs/alpine"
},
"AOLserver": {
"cats": [
22
@ -562,7 +571,7 @@
61
],
"html": [
"<form[^>]+?action=\"[^\"]+airform\\.io"
"<form[^>]+?action=\"[^\"]*airform\\.io[^>]+?>"
],
"icon": "Airform.svg",
"website": "https://airform.io"
@ -715,12 +724,24 @@
"implies": "Amazon Web Services",
"website": "https://aws.amazon.com/elasticloadbalancing/"
},
"Amazon ALB": {
"cats": [
65
],
"cookies": {
"AWSALB": "",
"AWSALBCORS": ""
},
"icon": "aws-elb.png",
"implies": "Amazon Web Services",
"website": "https://aws.amazon.com/elasticloadbalancing/"
},
"Amazon S3": {
"cats": [
19
],
"headers": {
"Server": "^AmazonS3$"
"server": "^AmazonS3$"
},
"icon": "aws-s3.svg",
"implies": "Amazon Web Services",
@ -960,6 +981,14 @@
"icon": "apostrophecms.svg",
"implies": "Node.js",
"website": "http://apostrophecms.org"
},
"AppDynamics": {
"cats": [
10
],
"icon": "AppDynamics.png",
"script": "adrum\\.js|adrum.([0-9].*)\\.js\\;version:\\1",
"website": "https://appdynamics.com"
},
"AppNexus": {
"cats": [
@ -1141,6 +1170,19 @@
],
"website": "http://www.atlassian.com/software/jira/overview/"
},
"Atlassian Statuspage": {
"cats": [
13,
62
],
"headers": {
"X-StatusPage-Skip-Logging": "",
"X-StatusPage-Version": ""
},
"html": "<a[^>]*href=\"https?://(?:www\\.)?statuspage\\.io/powered-by[^>]+>",
"icon": "Atlassian Statuspage.svg",
"website": "https://www.statuspage.io/"
},
"Aurelia": {
"cats": [
12
@ -1304,6 +1346,16 @@
"implies": "Python",
"website": "http://docs.python.org/2/library/basehttpserver.html"
},
"Big Cartel": {
"cats": [
6
],
"icon": "bigcartel.png",
"meta": {
"generator": "Big Cartel"
},
"website": "https://www.bigcartel.com"
},
"BigDump": {
"cats": [
3
@ -1386,6 +1438,17 @@
"blazor\\.webassembly\\.js"
]
},
"Blessing Skin": {
"cats": [
7
],
"icon": "Blessing Skin.png",
"website": "https://github.com/bs-community/blessing-skin-server",
"implies": "Laravel",
"js": {
"blessing.version": "^(.+)$\\;version:\\1"
}
},
"Blesta": {
"cats": [
6
@ -1875,7 +1938,7 @@
],
"script": "/website/JavaScript/Vertoshop\\.js",
"icon": "ccvshop.png",
"website": "https://www.ccvshop.nl"
"website": "https://ccvshop.be"
},
"CentOS": {
"cats": [
@ -2127,6 +2190,16 @@
},
"icon": "cnzz.ico",
"website": "https://web.umeng.com/"
},
"CloudSuite": {
"cats": [
6
],
"cookies": {
"cs_secure_session": ""
},
"icon": "CloudSuite.svg",
"website": "https://cloudsuite.com"
},
"Coaster CMS": {
"cats": [
@ -3183,10 +3256,13 @@
"cats": [
6
],
"headers": {
"X-epages-RequestId": ""
},
"icon": "epages.png",
"js": {
"epages": ""
},
"icon": "epages.png",
"website": "http://www.epages.com/"
},
"EPiServer": {
@ -5275,6 +5351,15 @@
"icon": "Ionicons.png",
"website": "http://ionicons.com"
},
"J2Store": {
"cats": [
6
],
"html": "var j2storeURL",
"icon": "j2store.png",
"implies": "Joomla",
"website": "https://www.j2store.org/"
},
"JAlbum": {
"cats": [
7
@ -6651,17 +6736,34 @@
"icon": "Meebo.png",
"website": "http://www.meebo.com"
},
"Melis CMS V2": {
"Melis Platform": {
"cats": [
1,
6
6,
11,
32
],
"cpe": "cpe:/a:melisplatform:melisplatform",
"html": [
"<!-- Rendered with Melis CMS V2",
"<!-- Rendered with Melis Platform"
],
"html": "<!-- Rendered with Melis CMS V2",
"icon": "meliscmsv2.png",
"meta": {
"powered-by": "^Melis CMS"
"powered-by": "^Melis CMS\\.",
"generator": "^Melis Platform\\."
},
"website": "http://www.melistechnology.com/"
"icon": "melis-platform.svg",
"implies": [
"Apache",
"PHP",
"MySQL",
"Symfony",
"Laravel",
"Zend",
"Laminas",
"Lumen"
],
"website": "https://www.melistechnology.com/"
},
"MemberStack": {
"cats": [
@ -7245,6 +7347,16 @@
"script": "pub\\.mybloglog\\.com",
"website": "http://www.mybloglog.com"
},
"MyCashFlow": {
"cats": [
6
],
"headers": {
"X-MCF-ID": ""
},
"icon": "mycashflow.png",
"website": "https://www.mycashflow.fi/"
},
"MySQL": {
"cats": [
34
@ -7344,7 +7456,7 @@
"X-NF-Request-ID": "",
"Server": "^Netlify"
},
"url": "^https?://[^/]+\\.netlify\\.com/",
"url": "^https?://[^/]+\\.netlify\\.(com||app)/",
"icon": "Netlify.svg",
"website": "https://www.netlify.com/"
},
@ -7412,7 +7524,7 @@
"headers": {
"x-powered-by": "^Next\\.js ?([0-9.]+)?\\;version:\\1"
},
"icon": "zeit.svg",
"icon": "vercel.svg",
"implies": [
"React",
"webpack",
@ -7472,18 +7584,18 @@
"script": "^/nodebb\\.min\\.js\\?",
"website": "https://nodebb.org"
},
"Now": {
"Vercel": {
"cats": [
22
],
"headers": {
"server": "^now$",
"x-now-trace": "",
"x-now-id": "",
"x-now-cache": ""
"x-vercel-id": "",
"x-vercel-cache": ""
},
"icon": "zeit.svg",
"website": "https://zeit.co/now"
"icon": "vercel.svg",
"website": "https://vercel.com"
},
"OWL Carousel": {
"cats": [
@ -7514,6 +7626,9 @@
"cats": [
1
],
"meta": {
"generator": "OctoberCMS"
},
"cookies": {
"october_session": ""
},
@ -7674,6 +7789,14 @@
"icon": "Tebex.png",
"website": "https://www.tebex.io/"
},
"T-Soft": {
"cats": [
6
],
"html": "<a href=\"http://www.tsoft.com.tr\" target=\"_blank\" title=\"T-Soft E-ticaret Sistemleri\">",
"icon": "Tsoft.png",
"website": "https://www.tsoft.com.tr/"
},
"OpenCms": {
"cats": [
1
@ -8886,7 +9009,7 @@
"script": [
"react(?:-with-addons)?[.-]([\\d.]*\\d)[^/]*\\.js\\;version:\\1",
"/([\\d.]+)/react(?:\\.min)?\\.js\\;version:\\1",
"react.*\\.js"
"^react\\b.*\\.js"
],
"website": "https://reactjs.org"
},
@ -9298,6 +9421,20 @@
"script": "/sim(?:site|core)/js",
"website": "http://simgroep.nl/internet/portfolio-contentbeheer_41623/"
},
"SlickStack": {
"cats": [
47,
9
],
"icon": "SlickStack.png",
"implies": [
"WordPress"
],
"headers": {
"x-powered-by": "SlickStack"
},
"website": "https://slickstack.io"
},
"SMF": {
"cats": [
2
@ -10494,6 +10631,24 @@
"script": "sweetalert2(?:\\.all)?(?:\\.min)?\\.js",
"website": "https://sweetalert2.github.io/"
},
"Swell": {
"cats": [
6
],
"html": [
"<[^>]*swell\\.is",
"<[^>]*swell\\.store",
"<[^>]*schema\\.io"
],
"cookies": {
"swell-session": ""
},
"js": {
"swell.version": "^(.+)$\\;version:\\1"
},
"icon": "Swell.svg",
"website": "https://www.swell.is/"
},
"Swiftlet": {
"cats": [
18
@ -10573,6 +10728,17 @@
},
"website": "https://github.com/syntaxhighlighter"
},
"TagCommander": {
"cats": [
42
],
"script": "\\.tagcommander\\.com",
"icon": "tagcommander.png",
"js": {
"tc_vars": ""
},
"website": "https://www.commandersact.com/en/solutions/tagcommander/"
},
"TWiki": {
"cats": [
8
@ -11562,7 +11728,7 @@
"cats": [
6
],
"cookies": {
"js": {
"WHMCS": ""
},
"icon": "WHMCS.png",
@ -11804,16 +11970,12 @@
"cookie_name": "NivCMSPro"
},
"icon": "nivsoft.png",
"js": {
"": ""
},
"headers": {
"X-Powered-By": "NivCMS"
},
"meta": {
"generator": "^NivCMS"
},
"script": "",
"website": "https://NivSoft.ir"
},
"Weebly": {
@ -12055,6 +12217,19 @@
"icon": "wpvip.svg",
"website": "https://wpvip.com"
},
"kolors4u": {
"cats": [
1,11,23,6
],
"headers": {
"X-Content-Encoded-By": "kolors4u ([\\d.]+)\\;version:\\1"
},
"implies": "WordPress",
"meta": {
"generator": "kolors4u (?: ([\\d.]+))?\\;version:\\1"
},
"website": "kolors4u.com"
},
"Wowza Media Server": {
"cats": [
38
@ -13299,7 +13474,7 @@
"cats": [
13
],
"html": "<!--\\s+OTRS: Copyright \\d+-\\d+, OTRS AG",
"html": "<!--\\s+OTRS: Copyright",
"icon": "otrs.png",
"implies": "Perl",
"script": "^/otrs-web/js/",
@ -13392,7 +13567,7 @@
"cats": [
1
],
"icon": "php.svg",
"icon": "PHP.svg",
"implies": "PHP",
"js": {
"phpcms": ""
@ -14012,6 +14187,14 @@
"LiveStory": "",
"LSHelpers": ""
}
},
"RebelMouse": {
"cats": [
1
],
"icon": "RebelMouse.svg",
"html": "<!-- Powered by RebelMouse.",
"website": "https://www.rebelmouse.com/"
}
},
"categories": {

@ -1,8 +1,13 @@
const url = require('url');
const fs = require('fs');
const path = require('path');
const LanguageDetect = require('languagedetect');
const Wappalyzer = require('./wappalyzer');
const languageDetect = new LanguageDetect();
languageDetect.setLanguageType('iso2');
const json = JSON.parse(fs.readFileSync(path.resolve(`${__dirname}/apps.json`)));
const extensions = /^([^.]+$|\.(asp|aspx|cgi|htm|html|jsp|php)$)/;
@ -229,12 +234,21 @@ class Driver {
const html = processHtml(browser.html, this.options.htmlMaxCols, this.options.htmlMaxRows);
const js = processJs(browser.js, this.wappalyzer.jsPatterns);
let language = null;
try {
[[language]] = languageDetect.detect(html.replace(/<\/?[^>]+(>|$)/g, ' '), 1);
} catch (error) {
this.wappalyzer.log(`${error.message || error}; url: ${pageUrl.href}`, 'driver', 'error');
}
await this.wappalyzer.analyze(pageUrl, {
cookies,
headers,
html,
js,
scripts,
language,
});
const reducedLinks = Array.prototype.reduce.call(

@ -1,14 +1,9 @@
{
"name": "wappalyzer",
"version": "5.9.32",
"version": "5.9.33",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@types/mime-types": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz",
"integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM="
},
"abab": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
@ -40,11 +35,6 @@
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
"integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA=="
},
"agent-base": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
"integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g=="
},
"ajv": {
"version": "6.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
@ -103,11 +93,6 @@
"regenerator-runtime": "^0.11.0"
}
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
@ -121,30 +106,11 @@
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"browser-process-hrtime": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
"integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
},
"buffer-crc32": {
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
"integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
},
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
},
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
@ -158,22 +124,6 @@
"delayed-stream": "~1.0.0"
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"concat-stream": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"requires": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
}
},
"core-js": {
"version": "2.6.11",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
@ -302,32 +252,6 @@
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extract-zip": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
"integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
"requires": {
"concat-stream": "^1.6.2",
"debug": "^2.6.9",
"mkdirp": "^0.5.4",
"yauzl": "^2.10.0"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
@ -348,14 +272,6 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
"fd-slicer": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
"requires": {
"pend": "~1.2.0"
}
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
@ -371,11 +287,6 @@
"mime-types": "^2.1.12"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@ -384,19 +295,6 @@
"assert-plus": "^1.0.0"
}
},
"glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@ -429,15 +327,6 @@
"sshpk": "^1.7.0"
}
},
"https-proxy-agent": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
"integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
"requires": {
"agent-base": "5",
"debug": "4"
}
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@ -446,30 +335,11 @@
"safer-buffer": ">= 2.1.2 < 3"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
@ -549,6 +419,11 @@
"verror": "1.10.0"
}
},
"languagedetect": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/languagedetect/-/languagedetect-2.0.0.tgz",
"integrity": "sha512-AZb/liiQ+6ZoTj4f1J0aE6OkzhCo8fyH+tuSaPfSo8YHCWLFJrdSixhtO2TYdIkjcDQNaR4RmGaV2A5FJklDMQ=="
},
"left-pad": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz",
@ -591,27 +466,6 @@
"mime-db": "1.43.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"mkdirp": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
"minimist": "^1.2.5"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -627,14 +481,6 @@
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"optionator": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@ -661,16 +507,6 @@
"resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
"integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA=="
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"pend": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
"integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
@ -686,21 +522,6 @@
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
},
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
},
"proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"psl": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz",
@ -711,23 +532,6 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"puppeteer": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz",
"integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==",
"requires": {
"@types/mime-types": "^2.1.0",
"debug": "^4.1.0",
"extract-zip": "^1.6.6",
"https-proxy-agent": "^4.0.0",
"mime": "^2.0.3",
"mime-types": "^2.1.25",
"progress": "^2.0.1",
"proxy-from-env": "^1.0.0",
"rimraf": "^2.6.1",
"ws": "^6.1.0"
}
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
@ -738,27 +542,6 @@
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
"integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
},
"readable-stream": {
"version": "2.3.7",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
},
"dependencies": {
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}
}
},
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
@ -814,14 +597,6 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
"rimraf": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"requires": {
"glob": "^7.1.3"
}
},
"safe-buffer": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
@ -864,21 +639,6 @@
"resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"requires": {
"safe-buffer": "~5.1.0"
},
"dependencies": {
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}
}
},
"symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@ -922,11 +682,6 @@
"prelude-ls": "~1.1.2"
}
},
"typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"uri-js": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
@ -944,11 +699,6 @@
"requires-port": "^1.0.0"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
@ -1005,11 +755,6 @@
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
@ -1023,15 +768,6 @@
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
},
"yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
"integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
"requires": {
"buffer-crc32": "~0.2.3",
"fd-slicer": "~1.1.0"
}
},
"zombie": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/zombie/-/zombie-6.1.4.tgz",

@ -2,7 +2,7 @@
"name": "wappalyzer",
"description": "Identify technology on websites",
"homepage": "https://www.wappalyzer.com",
"version": "5.9.32",
"version": "5.9.33",
"author": "Wappalyzer",
"license": "MIT",
"repository": {
@ -27,6 +27,7 @@
"wappalyzer": "./cli.js"
},
"dependencies": {
"languagedetect": "^2.0.0",
"zombie": "^6.1.4"
},
"peerDependencies": {

@ -5,10 +5,10 @@
"options": { "message": "选项" },
"optionsSave": { "message": "保存选项" },
"optionsSaved": { "message": "已保存" },
"optionUpgradeMessage": { "message": "通知我更新详情" },
"optionDynamicIcon": { "message": "使用应用程序而非 Wappalyzer 的标志" },
"optionTracking": { "message": "发送匿名的应用报告到 wappalyzer.com 供研究使用" },
"optionThemeMode": { "message": "启用暗模式的兼容性。" },
"optionUpgradeMessage": { "message": "告诉我更新详情" },
"optionDynamicIcon": { "message": "使用技术的图标代替 Wappalyzer 标识" },
"optionTracking": { "message": "匿名发送检测到的技术至 wappalyzer.com" },
"optionThemeMode": { "message": "启用深色模式的兼容。" },
"nothingToDo": { "message": "这儿啥也没有。" },
"noAppsDetected": { "message": "未检测到任何技术。" },
"categoryPin": { "message": "总是显示图标" },
@ -19,9 +19,9 @@
"categoryName2": { "message": "消息板" },
"categoryName3": { "message": "数据库管理器" },
"categoryName4": { "message": "文档工具" },
"categoryName5": { "message": "插件" },
"categoryName5": { "message": "微件Widgets" },
"categoryName6": { "message": "电子商务" },
"categoryName7": { "message": "照片相册" },
"categoryName7": { "message": "图库" },
"categoryName8": { "message": "维基" },
"categoryName9": { "message": "主机面板" },
"categoryName10": { "message": "分析" },
@ -50,7 +50,7 @@
"categoryName33": { "message": "Web 服务器扩展" },
"categoryName34": { "message": "数据库" },
"categoryName35": { "message": "地图" },
"categoryName36": { "message": "广告网络" },
"categoryName36": { "message": "广告" },
"categoryName37": { "message": "网络服务" },
"categoryName38": { "message": "媒体服务器" },
"categoryName39": { "message": "网络摄像头" },
@ -64,8 +64,8 @@
"categoryName47": { "message": "开发工具" },
"categoryName48": { "message": "网络存储" },
"categoryName49": { "message": "信息流Feed阅读器" },
"categoryName50": { "message": "文档管理系统" },
"categoryName51": { "message": "着陆页构建器" },
"categoryName50": { "message": "文档管理系统DMS" },
"categoryName51": { "message": "网页构建" },
"categoryName52": { "message": "在线聊天" },
"categoryName53": { "message": "客户关系管理CRM" },
"categoryName54": { "message": "搜索引擎优化SEO" },
@ -80,5 +80,5 @@
"categoryName63": { "message": "基础设施即服务IaaS" },
"categoryName64": { "message": "反向代理" },
"categoryName65": { "message": "负载均衡" },
"categoryName66": { "message": "UI Frameworks" }
"categoryName66": { "message": "用户界面UI框架" }
}

@ -3,7 +3,7 @@
*/
/* eslint-env browser */
/* global browser, chrome, fetch, Wappalyzer */
/* global browser, chrome, Wappalyzer */
/** global: browser */
/** global: chrome */
@ -24,10 +24,6 @@ browser.tabs.onRemoved.addListener((tabId) => {
function userAgent() {
const url = chrome.extension.getURL('/');
if (url.match(/^chrome-/)) {
return 'chrome';
}
if (url.match(/^moz-/)) {
return 'firefox';
}
@ -35,6 +31,8 @@ function userAgent() {
if (url.match(/^ms-browser-/)) {
return 'edge';
}
return 'chrome';
}
/**
@ -162,7 +160,20 @@ browser.runtime.onConnect.addListener((port) => {
break;
case 'analyze':
if (message.subject.html) {
browser.i18n.detectLanguage(message.subject.html)
.then(({ languages }) => {
const language = languages
.filter(({ percentage }) => percentage >= 75)
.map(({ language: lang }) => lang)[0];
message.subject.language = language;
wappalyzer.analyze(url, message.subject, { tab: port.sender.tab });
});
} else {
wappalyzer.analyze(url, message.subject, { tab: port.sender.tab });
}
await setOption('hostnameCache', wappalyzer.hostnameCache);
@ -219,7 +230,7 @@ wappalyzer.driver.document = document;
wappalyzer.driver.log = (message, source, type) => {
const log = ['warn', 'error'].indexOf(type) !== -1 ? type : 'log';
console.log(`[wappalyzer ${type}]`, `[${source}]`, message); // eslint-disable-line no-console
console[log](`[wappalyzer ${type}]`, `[${source}]`, message); // eslint-disable-line no-console
};
/**

@ -1,4 +1,5 @@
/* eslint-env browser */
/* eslint-disable no-restricted-globals, no-prototype-builtins */
(() => {
try {
@ -7,7 +8,7 @@
let value = properties.length ? window : null;
for (let i = 0; i < properties.length; i++) {
for (let i = 0; i < properties.length; i += 1) {
const property = properties[i];
if (value && value.hasOwnProperty(property)) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1 @@
<svg height="256" preserveAspectRatio="xMidYMid" viewBox="0 0 256 256" width="256" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" x1="50%" x2="50%" y1="82.799084%" y2="-5.781339%"><stop offset="0" stop-color="#2684ff"/><stop offset=".82" stop-color="#0052cc"/></linearGradient><circle cx="128" cy="128.433426" fill="url(#a)" r="59.86478"/><path d="m1.61622537 59.2547248 32.18351583 38.1192816c1.1895886 1.3988403 2.8901894 2.2625519 4.7214565 2.3979625s3.6404097-.4687778 5.0228063-1.6774361c52.1180816-46.7312884 116.656667-46.7312884 168.911992 0 1.382397 1.2086583 3.191539 1.8128467 5.022806 1.6774361s3.531868-.9991222 4.721457-2.3979625l32.183516-38.1192816c2.432063-2.8842722 2.079561-7.1909293-.789148-9.6413304-75.483726-66.1511925-175.5682846-66.1511925-251.18925358 0-2.86870915 2.4504011-3.22121134 6.7570582-.78914805 9.6413304z" fill="#2684ff"/></svg>

After

Width:  |  Height:  |  Size: 920 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="64px" height="64px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 54 (76480) - https://sketchapp.com -->
<title>cloudsuite-logo-rgb</title>
<desc>Created with Sketch.</desc>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="cloudsuite-logo-rgb" fill-rule="nonzero">
<path d="M4.27670588,47.872 C3.18994599,45.9890002 3.19030688,43.6692571 4.27765261,41.7865955 C5.36499834,39.9039339 7.37413522,38.7443749 9.54824084,38.7447132 C11.7223465,38.7450514 13.7311225,39.9052355 14.8178824,41.7882353 L14.8178824,41.7882353 C11.2964048,35.6764875 11.2975328,28.1515921 14.8208425,22.0409003 C18.3441522,15.9302086 24.8559913,12.1592664 31.9096471,12.1449412 C35.1801978,12.0297588 37.7720219,9.34504899 37.7720219,6.07247059 C37.7720219,2.79989219 35.1801978,0.11518237 31.9096471,0 C20.5093578,0.00368496033 9.97660662,6.08769863 4.27738533,15.9611725 C-1.42183596,25.8346463 -1.42209495,37.9982835 4.27670588,47.872 L4.27670588,47.872 L4.27670588,47.872 Z" id="Path" fill="#EF7733"></path>
<path d="M54.4752941,9.344 C48.5029642,3.34097068 40.3774996,-0.0236277621 31.9096471,-0.000123607777 C35.1801978,0.11518237 37.7720219,2.79989219 37.7720219,6.07247059 C37.7720219,9.34504899 35.1801978,12.0297588 31.9096471,12.1449412 C38.9686839,12.1485326 45.4903642,15.9152337 49.0210148,22.0278862 C52.5516655,28.1405386 52.5556729,35.671829 49.0315294,41.7882353 C47.9447695,43.6712351 47.9451303,45.9909782 49.0324761,47.8736398 C50.1198218,49.7563014 52.1289587,50.9158604 54.3030644,50.9155222 C56.47717,50.915184 58.485946,49.7549998 59.5727059,47.872 C66.7925726,35.3602506 64.7113287,19.5594716 54.4978824,9.344 L54.4752941,9.344 Z" id="Path" fill="#36AF84"></path>
<path d="M54.2870588,50.9063529 C52.1135609,50.9101428 50.103566,49.7526938 49.0158496,47.8709445 C47.9281333,45.9891951 47.92837,43.6697625 49.0164706,41.7882353 L49.0164706,41.7882353 C45.4871942,47.9084809 38.9595156,51.6795049 31.8945882,51.6795049 C24.8296609,51.6795049 18.3019823,47.9084809 14.7727059,41.7882353 C13.685946,39.9052355 11.67717,38.7450514 9.50306437,38.7447132 C7.32895875,38.7443749 5.31982186,39.9039339 4.23247614,41.7865955 C3.14513041,43.6692571 3.14476952,45.9890002 4.23152941,47.872 C9.93412812,57.7429349 20.4684551,63.8230047 31.8682353,63.8230047 C43.2680155,63.8230047 53.8023425,57.7429349 59.5049412,47.872 C58.4276454,49.7380277 56.4416922,50.8929182 54.2870588,50.9063529 Z" id="Path" fill="#213360"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Primary_Art" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 240 280" style="enable-background:new 0 0 240 280;" xml:space="preserve">
<style type="text/css">
.st0{fill:#550088;}
</style>
<path class="st0" d="M146.4,18.7c45.3,0,69.4,21,69.4,36.2c0,1.1-0.4,1.7-0.7,2l-0.3,0.3l-0.3,0.3l-29.9,30.1l-19.9,20l26.1,10.5
c22.1,8.9,30.7,20.8,30.7,42.4c0,9.3-3.6,17.6-10.8,24.7l-54.4,54.6l-0.2,0.2l-0.2,0.2c-12.7,13.5-36.1,21.2-64,21.2
c-47.2,0-73.3-20.4-73.3-34.4c0-1.8,0.4-2.9,0.7-3.2l0.4-0.3L20,223l32.1-32.2l0.4-0.4l0.1-0.1L70,172.1l-22.8-11.3
c-17.3-8.5-24.3-20.1-24.3-39.9c0-10.3,4-19.5,12-27.4l54.4-54.6l0.1-0.1l0.1-0.1C101.7,26,122.5,18.7,146.4,18.7 M146.4,0
c-30,0-55,9.8-70.3,25.7L21.7,80.3C10.7,91.2,4.3,105.2,4.3,120.9c0,31.2,15.1,47,34.7,56.7c0,0,0,0,0,0L6.9,209.8
c-4.4,4-6.9,9.8-6.9,17.1C0,253,34.4,280,91.9,280c34,0,61.6-10.2,77.5-27.1l54.4-54.6c10.4-10.3,16.2-23.2,16.2-37.9
c0-34.8-19.1-50.3-42.3-59.7l29.9-30.1c4.3-3.9,6.9-9.4,6.9-15.8C234.5,27.9,201.5,0,146.4,0L146.4,0z" />
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="512px" height="512px" viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve"> <image id="image0" width="512" height="512" x="0" y="0"
xlink:href="data:image/png;base64,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
MN2HgMkAAAAASUVORK5CYII=" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@ -0,0 +1 @@
<svg width="116" height="100" viewBox="0 0 116 100" fill="#000" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M57.5 0L115 100H0L57.5 0z" /></svg>

After

Width:  |  Height:  |  Size: 183 B

@ -1 +0,0 @@
<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>Zeit</title><desc>Created with Sketch.</desc><defs><linearGradient x1="100.686%" y1="181.283%" x2="41.808%" y2="100%" id="a"><stop stop-color="#fff" offset="0%"/><stop offset="100%"/></linearGradient></defs><path d="M15.766 3l14.766 26.134h-29.531z" fill-rule="nonzero" fill="url(#a)"/></svg>

Before

Width:  |  Height:  |  Size: 382 B

@ -172,7 +172,7 @@ class Wappalyzer {
let matches = data.html.match(new RegExp('<html[^>]*[: ]lang="([a-z]{2}((-|_)[A-Z]{2})?)"', 'i'));
language = matches && matches.length ? matches[1] : null;
language = matches && matches.length ? matches[1] : data.language || null;
// Meta tags
const regex = /<meta[^>]+>/ig;

Loading…
Cancel
Save