Merge branch 'master' into master

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

@ -3037,6 +3037,7 @@
"SystemID": "^.*DIRECT.*$\\;confidence:100",
"version": "^(.*)$\\;version:\\1\\;confidence:0"
},
"html": "<div[^>]*id=\"P6iryBW0Wu\"",
"icon": "duda.png",
"website": "https://www.duda.co/website-builder"
},
@ -4798,18 +4799,18 @@
},
"website": "http://gohugo.io"
},
"Hybris": {
"SAP Commerce Cloud": {
"cats": [
6
],
"cookies": {
"_hybris": ""
},
"cpe": "cpe:/a:sap:hybris",
"cpe": "cpe:/a:sap:commerce_cloud",
"html": "<[^>]+/(?:sys_master|hybr|_ui/(?:responsive/)?(?:desktop|common(?:/images|/img)?))/",
"icon": "Hybris.png",
"icon": "SAP.png",
"implies": "Java",
"website": "https://hybris.com"
"website": "https://www.sap.com/products/crm/e-commerce-platforms.html"
},
"IBM Coremetrics": {
"cats": [
@ -5133,7 +5134,7 @@
"cats": [
10
],
"icon": "Intercom.png",
"icon": "Intercom.svg",
"js": {
"Intercom": ""
},
@ -5165,7 +5166,6 @@
18
],
"icon": "ionic.png",
"implies": "Angular",
"js": {
"Ionic.config": "",
"Ionic.version": "^(.+)$\\;version:\\1"
@ -6124,6 +6124,19 @@
"icon": "Logitech Media Server.png",
"website": "http://www.mysqueezebox.com"
},
"Loja Integrada": {
"cats": [
6
],
"headers": {
"X-Powered-By": "vtex-integrated-store"
},
"icon": "Loja Integrada.png",
"js": {
"window.LOJA_ID": ""
},
"website": "https://lojaintegrada.com.br/"
},
"Lotus Domino": {
"cats": [
22
@ -11182,16 +11195,6 @@
"icon": "VTEX.svg",
"website": "https://vtex.com/"
},
"VTEX Integrated Store": {
"cats": [
6
],
"headers": {
"X-Powered-By": "vtex-integrated-store"
},
"icon": "VTEX Integrated Store.png",
"website": "http://lojaintegrada.com.br"
},
"Vaadin": {
"cats": [
18
@ -11394,7 +11397,7 @@
"script": [
"/_nuxt/"
],
"implies": "Vue.js",
"implies": ["Vue.js", "Node.js"],
"website": "https://nuxtjs.org"
},
"W3 Total Cache": {
@ -11843,7 +11846,7 @@
"generator": "WooCommerce ([\\d.]+)\\;version:\\1"
},
"script": "/woocommerce(?:\\.min)?\\.js(?:\\?ver=([0-9.]+))?\\;version:\\1",
"website": "http://www.woothemes.com/woocommerce"
"website": "https://woocommerce.com"
},
"Woopra": {
"cats": [
@ -13835,6 +13838,17 @@
},
"icon": "Cafe24.png",
"website": "https://www.cafe24.com"
},
"Live Story": {
"cats": [
1
],
"icon": "LiveStory.png",
"website": "https://www.livestory.nyc/",
"js": {
"LiveStory": "",
"LSHelpers": ""
}
}
},
"categories": {

@ -84,14 +84,33 @@ class PuppeteerBrowser extends Browser {
page.setDefaultTimeout(this.options.maxWait * 2);
await page.setRequestInterception(true);
page.on('error', error => reject(new Error(`page error: ${error.message || error}`)));
page.on('response', (response) => {
let responseReceived = false;
page.on('request', (request) => {
try {
if (response.status() === 301 || response.status() === 302) {
return;
if (
responseReceived
&& request.isNavigationRequest()
&& request.frame() === page.mainFrame()
&& request.url() !== url
) {
this.log(`abort navigation to ${request.url()}`);
request.abort('aborted');
} else {
request.continue();
}
} catch (error) {
reject(new Error(`page error: ${error.message || error}`));
}
});
page.on('response', (response) => {
try {
if (!this.statusCode) {
this.statusCode = response.status();
@ -105,6 +124,10 @@ class PuppeteerBrowser extends Browser {
this.contentType = headers['content-type'] || null;
}
if (response.status() < 300 || response.status() > 399) {
responseReceived = true;
}
} catch (error) {
reject(new Error(`page error: ${error.message || error}`));
}
@ -114,10 +137,16 @@ class PuppeteerBrowser extends Browser {
await page.setUserAgent(this.options.userAgent);
await Promise.race([
page.goto(url, { waitUntil: 'domcontentloaded' }),
new Promise((_resolve, _reject) => setTimeout(() => _reject(new Error('timeout')), this.options.maxWait)),
]);
try {
await Promise.race([
page.goto(url, { waitUntil: 'domcontentloaded' }),
new Promise((_resolve, _reject) => setTimeout(() => _reject(new Error('timeout')), this.options.maxWait)),
]);
} catch (error) {
if (!this.statusCode) {
throw new Error(error.message || error.toString());
}
}
// eslint-disable-next-line no-undef
const links = await page.evaluateHandle(() => Array.from(document.getElementsByTagName('a')).map(({

@ -225,16 +225,6 @@ class Driver {
throw new Error('NO_RESPONSE');
}
if (browser.statusCode !== 200) {
throw new Error('RESPONSE_NOT_OK');
}
if (!browser.contentType || !/\btext\/html\b/.test(browser.contentType)) {
this.wappalyzer.log(`Skipping; url: ${pageUrl.href}; content type: ${browser.contentType}`, 'driver');
delete this.analyzedPageUrls[pageUrl.href];
}
const { cookies, headers, scripts } = browser;
const html = processHtml(browser.html, this.options.htmlMaxCols, this.options.htmlMaxRows);

@ -1,13 +1,16 @@
{
"name": "wappalyzer",
"description": "Uncovers the technologies used on websites",
"homepage": "https://github.com/AliasIO/Wappalyzer",
"version": "5.9.24",
"homepage": "https://www.wappalyzer.com",
"version": "5.9.26",
"author": "Elbert Alias",
"license": "GPL-3.0",
"repository": {
"type": "git",
"url": "https://github.com/AliasIO/Wappalyzer"
"url": "https://github.com/aliasio/wappalyzer"
},
"funding": {
"url": "https://github.com/sponsors/aliasio"
},
"main": "index.js",
"files": [

@ -16,69 +16,67 @@
"termsContent": { "message": "This extension sends anonymous information about websites you visit, including domain name and identified technologies, to <a href='https://www.wappalyzer.com'>wappalyzer.com</a>. This can be disabled in the settings." },
"privacyPolicy": { "message": "Privacy policy" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Message Board" },
"categoryName3": { "message": "Database Manager" },
"categoryName4": { "message": "Documentation Tool" },
"categoryName5": { "message": "Widget" },
"categoryName2": { "message": "Message boards" },
"categoryName3": { "message": "Database managers" },
"categoryName4": { "message": "Documentation tools" },
"categoryName5": { "message": "Widgets" },
"categoryName6": { "message": "Ecommerce" },
"categoryName7": { "message": "Photo Galleries" },
"categoryName7": { "message": "Photo galleries" },
"categoryName8": { "message": "Wikis" },
"categoryName9": { "message": "Hosting Panels" },
"categoryName9": { "message": "Hosting panels" },
"categoryName10": { "message": "Analytics" },
"categoryName11": { "message": "Blog" },
"categoryName12": { "message": "JavaScript Framework" },
"categoryName13": { "message": "Issue Tracker" },
"categoryName14": { "message": "Video Player" },
"categoryName15": { "message": "Comment System" },
"categoryName16": { "message": "Captcha" },
"categoryName17": { "message": "Font Script" },
"categoryName18": { "message": "Web Framework" },
"categoryName11": { "message": "Blogs" },
"categoryName12": { "message": "JavaScript frameworks" },
"categoryName13": { "message": "Issue trackers" },
"categoryName14": { "message": "Video players" },
"categoryName15": { "message": "Comment systems" },
"categoryName16": { "message": "Captchas" },
"categoryName17": { "message": "Font scripts" },
"categoryName18": { "message": "Web frameworks" },
"categoryName19": { "message": "Miscellaneous" },
"categoryName20": { "message": "Editor" },
"categoryName21": { "message": "LMS" },
"categoryName22": { "message": "Web Server" },
"categoryName23": { "message": "Cache Tool" },
"categoryName24": { "message": "Rich Text Editor" },
"categoryName25": { "message": "JavaScript Graphics" },
"categoryName26": { "message": "Mobile Framework" },
"categoryName27": { "message": "Programming Language" },
"categoryName28": { "message": "Operating System" },
"categoryName29": { "message": "Search Engine" },
"categoryName30": { "message": "Web Mail" },
"categoryName22": { "message": "Web servers" },
"categoryName23": { "message": "Caching" },
"categoryName24": { "message": "Rich text editors" },
"categoryName25": { "message": "JavaScript graphics" },
"categoryName26": { "message": "Mobile frameworks" },
"categoryName27": { "message": "Programming languages" },
"categoryName28": { "message": "Operating systems" },
"categoryName29": { "message": "Search engines" },
"categoryName30": { "message": "Webmail" },
"categoryName31": { "message": "CDN" },
"categoryName32": { "message": "Marketing Automation" },
"categoryName33": { "message": "Web Server Extension" },
"categoryName34": { "message": "Database" },
"categoryName35": { "message": "Map" },
"categoryName36": { "message": "Advertising Network" },
"categoryName37": { "message": "Network Service" },
"categoryName38": { "message": "Media Server" },
"categoryName39": { "message": "Webcam" },
"categoryName40": { "message": "Printer" },
"categoryName41": { "message": "Payment Processor" },
"categoryName42": { "message": "Tag Manager" },
"categoryName43": { "message": "Paywall" },
"categoryName44": { "message": "Build/CI System" },
"categoryName45": { "message": "SCADA System" },
"categoryName32": { "message": "Marketing automation" },
"categoryName33": { "message": "Web server extensions" },
"categoryName34": { "message": "Databases" },
"categoryName35": { "message": "Maps" },
"categoryName36": { "message": "Advertising" },
"categoryName37": { "message": "Network services" },
"categoryName38": { "message": "Media servers" },
"categoryName39": { "message": "Webcams" },
"categoryName40": { "message": "Printers" },
"categoryName41": { "message": "Payment processors" },
"categoryName42": { "message": "Tag managers" },
"categoryName44": { "message": "CI" },
"categoryName46": { "message": "Remote Access" },
"categoryName47": { "message": "Development Tool" },
"categoryName48": { "message": "Network Storage" },
"categoryName49": { "message": "Feed Readers" },
"categoryName50": { "message": "Document Management Systems" },
"categoryName51": { "message": "Landing Page Builder" },
"categoryName52": { "message": "Live Chat" },
"categoryName47": { "message": "Developmentl" },
"categoryName48": { "message": "Network storage" },
"categoryName49": { "message": "Feed readers" },
"categoryName50": { "message": "DMS" },
"categoryName51": { "message": "Page builder" },
"categoryName52": { "message": "Live chat" },
"categoryName53": { "message": "CRM" },
"categoryName54": { "message": "SEO" },
"categoryName55": { "message": "Accounting" },
"categoryName56": { "message": "Cryptominer" },
"categoryName57": { "message": "Static Site Generator" },
"categoryName58": { "message": "User Onboarding" },
"categoryName59": { "message": "JavaScript Libraries" },
"categoryName56": { "message": "Cryptominers" },
"categoryName57": { "message": "Static site generators" },
"categoryName58": { "message": "User onboarding" },
"categoryName59": { "message": "JavaScript libraries" },
"categoryName60": { "message": "Containers" },
"categoryName61": { "message": "SaaS" },
"categoryName62": { "message": "PaaS" },
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName65": { "message": "Load Balancer" },
"categoryName66": { "message": "UI Frameworks" }
"categoryName64": { "message": "Reverse proxies" },
"categoryName65": { "message": "Load balancers" },
"categoryName66": { "message": "UI frameworks" }
}

@ -4,7 +4,7 @@
"author": "Elbert Alias",
"homepage_url": "https://www.wappalyzer.com",
"description": "Identify web technologies",
"version": "5.9.24",
"version": "5.9.26",
"default_locale": "en",
"manifest_version": 2,
"icons": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 540 B

@ -0,0 +1 @@
<svg width="2500" height="2500" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M221.867 140.748a8.534 8.534 0 0 1-17.067 0V64a8.534 8.534 0 0 1 17.067 0v76.748zm-2.978 53.413c-1.319 1.129-32.93 27.655-90.889 27.655-57.958 0-89.568-26.527-90.887-27.656a8.535 8.535 0 0 1-.925-12.033 8.53 8.53 0 0 1 12.013-.942c.501.42 28.729 23.563 79.8 23.563 51.712 0 79.503-23.31 79.778-23.545 3.571-3.067 8.968-2.655 12.033.925a8.534 8.534 0 0 1-.923 12.033zM34.133 64A8.534 8.534 0 0 1 51.2 64v76.748a8.534 8.534 0 0 1-17.067 0V64zm42.668-17.067a8.534 8.534 0 0 1 17.066 0v114.001a8.534 8.534 0 0 1-17.066 0v-114zm42.666-4.318A8.532 8.532 0 0 1 128 34.082a8.532 8.532 0 0 1 8.534 8.533v123.733a8.534 8.534 0 0 1-17.067 0V42.615zm42.667 4.318a8.534 8.534 0 0 1 17.066 0v114.001a8.534 8.534 0 0 1-17.066 0v-114zM224 0H32C14.327 0 0 14.327 0 32v192c0 17.672 14.327 32 32 32h192c17.673 0 32-14.328 32-32V32c0-17.673-14.327-32-32-32z" fill="#1F8DED"/></svg>

After

Width:  |  Height:  |  Size: 990 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 940 B

After

Width:  |  Height:  |  Size: 9.6 KiB