-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improves Hyvä Themes listing #96
Conversation
- Adds the Hyvä Checkout product, built for the Hyvä Theme - Adds `window.hyva` to the `Hyva Themes` rules
Correct formatting of "js" keys
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For manual testing, https://checkout-demo.hyva.io/onestep/checkout/ could be used.
You can add those to the PR request. I've added that site now so it should be tested automatically with these changes on the next commit.
- Changes Checkout category to 6 ("ecommerce") - Adds category 6 to Hyvä Themes
Changes `window.hyva` to `hyva` in the `js` section of Hyvä Themes detection
@tunetheweb Just to make sure we're aligned :) An empty cart in Magento (and therefore Hyvä) redirects back to the /checkout/cart page. That will not have Hyvä Checkout present, so the automated test wouldn't detect Hyvä Checkout. Looks like the test result also does not pick up on the Hyvä Checkout at this time. If that's fine, then ignore me and resolve :) |
Since this instance of Wappalazer is only used for the HTTP Archive crawl, and it will crawl each page in a fresh session, the cart will always be empty. So will we never detect this? In which case what's the point of adding this detection that will never succeed? |
@tunetheweb ah I was somehow convinced the browser plugin feeds back data to the service, so actual visitors would cause it to be detected. |
No unfortunately Wappalyzer went closed source so no way to add that AFAIK. This is a fork from before they went closed source. |
- Removes the Hyvä Checkout entry until a better fingerprint has been found
Thanks for the guidance @tunetheweb. I've removed Checkout for now, until we've thought of a better fingerprint. I've reduced the scope of this PR to just the Theme update for now so that it can be merged + closed. |
WPT test run for https://almanac.httparchive.org/en/2022/WPT test run results: http://webpagetest.httparchive.org/results.php?test=250317_9Y_1 {
"detected": {
"IaaS": "Google Cloud",
"JavaScript libraries": "web-vitals",
"RUM": "web-vitals",
"Performance": "Priority Hints,Google Cloud Trace",
"Security": "HSTS",
"Webmail": "Google Workspace",
"Email": "Google Workspace",
"Analytics": "Google Analytics",
"CDN": "Cloudflare",
"Miscellaneous": "RSS,Open Graph"
},
"detected_apps": {
"Google Cloud": "",
"web-vitals": "",
"Priority Hints": "",
"HSTS": "",
"Google Workspace": "",
"Google Cloud Trace": "",
"Google Analytics": "",
"Cloudflare": "",
"RSS": "",
"Open Graph": ""
},
"detected_technologies": {
"Google Cloud": {
"name": "Google Cloud",
"description": "Google Cloud is a suite of cloud computing services.",
"slug": "google-cloud",
"categories": [
{
"id": 63,
"slug": "iaas",
"description": "Provides computing resources",
"groups": [
7
],
"name": "IaaS",
"priority": 8
}
],
"confidence": 100,
"version": "",
"icon": "Google Cloud.svg",
"website": "https://cloud.google.com",
"pricing": [],
"cpe": "cpe:2.3:a:google:cloud_platform:*:*:*:*:*:*:*:*"
},
"web-vitals": {
"name": "web-vitals",
"description": "The web-vitals JavaScript is a tiny, modular library for measuring all the web vitals metrics on real users.",
"slug": "web-vitals",
"categories": [
{
"id": 59,
"slug": "javascript-libraries",
"description": "Collections of pre-written JavaScript code",
"groups": [
9
],
"name": "JavaScript libraries",
"priority": 9
},
{
"id": 78,
"slug": "rum",
"description": "Tools that track performance as experienced by users",
"groups": [
2
],
"name": "RUM",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "web-vitals.svg",
"website": "https://github.com/GoogleChrome/web-vitals",
"pricing": [],
"cpe": null
},
"Priority Hints": {
"name": "Priority Hints",
"description": "Priority Hints exposes a mechanism for developers to signal a relative priority for browsers to consider when fetching resources.",
"slug": "priority-hints",
"categories": [
{
"id": 92,
"slug": "performance",
"description": "Tools that measure and optimize site speed",
"groups": [
7
],
"name": "Performance",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Priority Hints.svg",
"website": "https://wicg.github.io/priority-hints/",
"pricing": [],
"cpe": null
},
"HSTS": {
"name": "HSTS",
"description": "HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.",
"slug": "hsts",
"categories": [
{
"id": 16,
"slug": "security",
"description": "Technologies that protect websites from vulnerabilities and attacks",
"groups": [
11
],
"name": "Security",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "default.svg",
"website": "https://www.rfc-editor.org/rfc/rfc6797#section-6.1",
"pricing": [],
"cpe": null
},
"Google Workspace": {
"name": "Google Workspace",
"description": "Google Workspace, formerly G Suite, is a collection of cloud computing, productivity and collaboration tools.",
"slug": "google-workspace",
"categories": [
{
"id": 30,
"slug": "webmail",
"description": "Systems that allow users to send and receive emails through a browser",
"groups": [
4
],
"name": "Webmail",
"priority": 2
},
{
"id": 75,
"slug": "email",
"description": "Systems that manage email communication",
"groups": [
4,
2
],
"name": "Email",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Google.svg",
"website": "https://workspace.google.com/",
"pricing": [],
"cpe": null
},
"Google Cloud Trace": {
"name": "Google Cloud Trace",
"description": "Google Cloud Trace is a distributed tracing system that collects latency data from applications and displays it in the Google Cloud Console.",
"slug": "google-cloud-trace",
"categories": [
{
"id": 92,
"slug": "performance",
"description": "Tools that measure and optimize site speed",
"groups": [
7
],
"name": "Performance",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "google-cloud-trace.svg",
"website": "https://cloud.google.com/trace",
"pricing": [],
"cpe": null
},
"Google Analytics": {
"name": "Google Analytics",
"description": "Google Analytics is a free web analytics service that tracks and reports website traffic.",
"slug": "google-analytics",
"categories": [
{
"id": 10,
"slug": "analytics",
"description": "Tools that track user behavior and provide insights into website performance",
"groups": [
8
],
"name": "Analytics",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Google Analytics.svg",
"website": "https://google.com/analytics",
"pricing": [],
"cpe": null
},
"Cloudflare": {
"name": "Cloudflare",
"description": "Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.",
"slug": "cloudflare",
"categories": [
{
"id": 31,
"slug": "cdn",
"description": "(Content Delivery Network) Distribute website content globally to improve load times for users",
"groups": [
7
],
"name": "CDN",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "CloudFlare.svg",
"website": "https://www.cloudflare.com",
"pricing": [],
"cpe": null
},
"RSS": {
"name": "RSS",
"description": "RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.",
"slug": "rss",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"description": "Tools and technologies that don't fit into other categories",
"groups": [
6
],
"name": "Miscellaneous",
"priority": 10
}
],
"confidence": 100,
"version": "",
"icon": "RSS.svg",
"website": "https://www.rssboard.org/rss-specification",
"pricing": [],
"cpe": null
},
"Open Graph": {
"name": "Open Graph",
"description": "Open Graph is a protocol that is used to integrate any web page into the social graph.",
"slug": "open-graph",
"categories": [
{
"id": 19,
"slug": "miscellaneous",
"description": "Tools and technologies that don't fit into other categories",
"groups": [
6
],
"name": "Miscellaneous",
"priority": 10
}
],
"confidence": 100,
"version": "",
"icon": "Open Graph.png",
"website": "https://ogp.me",
"pricing": [],
"cpe": null
}
}
} WPT test run for https://checkout-demo.hyva.io/onestep/checkout/WPT test run results: http://webpagetest.httparchive.org/results.php?test=250317_RN_2 {
"detected": {
"Ecommerce": "Magento 2,Cart Functionality,Hyva Themes",
"CMS": "Magento 2",
"Databases": "MySQL",
"CRM": "Salesforce",
"Programming languages": "PHP",
"Ecommerce frontends": "Hyva Themes",
"UI frameworks": "Tailwind CSS",
"Web servers": "Nginx",
"Reverse proxies": "Nginx",
"JavaScript frameworks": "Alpine.js 3.14.6",
"Webmail": "Google Workspace",
"Email": "Google Workspace"
},
"detected_apps": {
"Magento": "2",
"Cart Functionality": "",
"MySQL": "",
"Salesforce": "",
"PHP": "",
"Hyva Themes": "",
"Tailwind CSS": "",
"Nginx": "",
"Alpine.js": "3.14.6",
"Google Workspace": ""
},
"detected_technologies": {
"Magento": {
"name": "Magento",
"description": "Magento is an open-source ecommerce platform written in PHP.",
"slug": "magento",
"categories": [
{
"id": 6,
"slug": "ecommerce",
"description": "Platforms providing the infrastructure to sell products and services online, managing everything from product catalogs to payments",
"groups": [
1
],
"name": "Ecommerce",
"priority": 1
},
{
"id": 1,
"slug": "cms",
"description": "Platforms used to create, manage, and modify content on a website without needing specialized technical knowledge",
"groups": [
3
],
"name": "CMS",
"priority": 1
}
],
"confidence": 100,
"version": "2",
"icon": "Magento.svg",
"website": "https://magento.com",
"pricing": [],
"cpe": "cpe:2.3:a:magento:magento:*:*:*:*:*:*:*:*"
},
"Cart Functionality": {
"name": "Cart Functionality",
"description": "Websites that have a shopping cart or checkout page, either using a known ecommerce platform or a custom solution.",
"slug": "cart-functionality",
"categories": [
{
"id": 6,
"slug": "ecommerce",
"description": "Platforms providing the infrastructure to sell products and services online, managing everything from product catalogs to payments",
"groups": [
1
],
"name": "Ecommerce",
"priority": 1
}
],
"confidence": 100,
"version": "",
"icon": "Cart-generic.svg",
"website": "https://www.wappalyzer.com/technologies/ecommerce/cart-functionality",
"pricing": [],
"cpe": null
},
"MySQL": {
"name": "MySQL",
"description": "MySQL is an open-source relational database management system.",
"slug": "mysql",
"categories": [
{
"id": 34,
"slug": "databases",
"description": "Software used to store website information",
"groups": [
7
],
"name": "Databases",
"priority": 5
}
],
"confidence": 100,
"version": "",
"icon": "MySQL.svg",
"website": "https://mysql.com",
"pricing": [],
"cpe": "cpe:2.3:a:mysql:mysql:*:*:*:*:*:*:*:*"
},
"Salesforce": {
"name": "Salesforce",
"description": "Salesforce is a cloud computing service software (SaaS) that specializes in customer relationship management (CRM).",
"slug": "salesforce",
"categories": [
{
"id": 53,
"slug": "crm",
"description": "(Customer Relationship Management) Systems that help manage customer interactions",
"groups": [
2,
16
],
"name": "CRM",
"priority": 5
}
],
"confidence": 100,
"version": "",
"icon": "Salesforce.svg",
"website": "https://www.salesforce.com",
"pricing": [
"low"
],
"cpe": "cpe:2.3:a:salesforce:*:*:*:*:*:*:*:*:*"
},
"PHP": {
"name": "PHP",
"description": "PHP is a general-purpose scripting language used for web development.",
"slug": "php",
"categories": [
{
"id": 27,
"slug": "programming-languages",
"description": "Build website functionalities and backend services",
"groups": [
9
],
"name": "Programming languages",
"priority": 5
}
],
"confidence": 100,
"version": "",
"icon": "PHP.svg",
"website": "https://php.net",
"pricing": [],
"cpe": "cpe:2.3:a:php:php:*:*:*:*:*:*:*:*"
},
"Hyva Themes": {
"name": "Hyva Themes",
"description": "Hyva Themes is a performance-optimised theme for Magento 2 which eliminated the third-party libraries and having only two dependencies Alpine.js and Tailwind CSS.",
"slug": "hyva-themes",
"categories": [
{
"id": 6,
"slug": "ecommerce",
"description": "Platforms providing the infrastructure to sell products and services online, managing everything from product catalogs to payments",
"groups": [
1
],
"name": "Ecommerce",
"priority": 1
},
{
"id": 108,
"slug": "ecommerce-frontends",
"description": "The user interface for online stores",
"groups": [
1
],
"name": "Ecommerce frontends",
"priority": 6
}
],
"confidence": 100,
"version": "",
"icon": "Hyva Themes.svg",
"website": "https://www.hyva.io/hyva-theme-license.html",
"pricing": [
"onetime",
"low"
],
"cpe": null
},
"Tailwind CSS": {
"name": "Tailwind CSS",
"description": "Tailwind is a utility-first CSS framework.",
"slug": "tailwind-css",
"categories": [
{
"id": 66,
"slug": "ui-frameworks",
"description": "Provide pre-built components to build user interfaces",
"groups": [
9
],
"name": "UI frameworks",
"priority": 7
}
],
"confidence": 100,
"version": "",
"icon": "tailwindcss.svg",
"website": "https://tailwindcss.com/",
"pricing": [],
"cpe": null
},
"Nginx": {
"name": "Nginx",
"description": "Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.",
"slug": "nginx",
"categories": [
{
"id": 22,
"slug": "web-servers",
"description": "Software applications that deliver web pages to users' browsers",
"groups": [
7
],
"name": "Web servers",
"priority": 8
},
{
"id": 64,
"slug": "reverse-proxies",
"description": "Intercept client requests and forward them to the appropriate server",
"groups": [
7
],
"name": "Reverse proxies",
"priority": 7
}
],
"confidence": 100,
"version": "",
"icon": "Nginx.svg",
"website": "https://nginx.org/en",
"pricing": [],
"cpe": "cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*"
},
"Alpine.js": {
"name": "Alpine.js",
"description": null,
"slug": "alpine-js",
"categories": [
{
"id": 12,
"slug": "javascript-frameworks",
"description": "Software used for building dynamic web applications and user interfaces",
"groups": [
9
],
"name": "JavaScript frameworks",
"priority": 8
}
],
"confidence": 100,
"version": "3.14.6",
"icon": "Alpine.js.png",
"website": "https://github.com/alpinejs/alpine",
"pricing": [],
"cpe": null
},
"Google Workspace": {
"name": "Google Workspace",
"description": "Google Workspace, formerly G Suite, is a collection of cloud computing, productivity and collaboration tools.",
"slug": "google-workspace",
"categories": [
{
"id": 30,
"slug": "webmail",
"description": "Systems that allow users to send and receive emails through a browser",
"groups": [
4
],
"name": "Webmail",
"priority": 2
},
{
"id": 75,
"slug": "email",
"description": "Systems that manage email communication",
"groups": [
4,
2
],
"name": "Email",
"priority": 9
}
],
"confidence": 100,
"version": "",
"icon": "Google.svg",
"website": "https://workspace.google.com/",
"pricing": [],
"cpe": null
}
}
} |
This updates the Hyvä Theme listing to; include more results, add "ecommerce" as category, show more specific product url.
For context, I'm the owner/founder of this product.
Test websites: