Merge branch 'master' into master

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

@ -98,7 +98,7 @@ Patterns (regular expressions) are kept in [`src/technologies.json`](https://git
"url": ".+\\.example\\.com",
"oss": true,
"saas": true,
"pricing": ["low", "medium", "high", "freemium", "onetime", "recurring", "poa"],
"pricing": ["medium", "freemium", "recurring"],
"website": "https://example.com",
}
```

@ -13,7 +13,7 @@
"software"
],
"homepage": "https://www.wappalyzer.com/",
"version": "6.5.25",
"version": "6.5.26",
"author": "Wappalyzer",
"license": "MIT",
"repository": {

@ -1,5 +1,5 @@
{
"github": { "message": "Forker Wappalyzer sur GitHub!" },
"github": { "message": "Forker Wappalyzer sur GitHub !" },
"noAppsDetected": { "message": "Pas d'applications détectées." },
"nothingToDo": { "message": "Rien à faire ici." },
"optionTracking": { "message": "Envoyer anonymement des rapports sur les applications détectées à wappalyzer.com pour la recherche" },
@ -15,11 +15,11 @@
"twitter": { "message": "Suivre Wappalyzer sur Twitter" },
"website": { "message": "Aller sur wappalyzer.com" },
"categoryPin": { "message": " Toujours afficher l'icône" },
"termsAccept": { "message": "I'm ok with that" },
"termsAccept": { "message": "Je suis OK avec ça" },
"termsDecline": { "message": "Disable" },
"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" },
"createAlert": { "message": "Create an alert for this website" },
"privacyPolicy": { "message": "Politique de confidentialité" },
"createAlert": { "message": "Créer un alerte pour ce site web" },
"leadLists": { "message": "Lead generation tools" },
"categoryName1": { "message": "CMS" },
"categoryName2": { "message": "Forum" },
@ -80,18 +80,18 @@
"categoryName57": { "message": "Générateur de site statique" },
"categoryName58": { "message": "User Onboarding" },
"categoryName59": { "message": "Librairies JavaScript" },
"categoryName60": { "message": "Contenus" },
"categoryName60": { "message": "Conteneurs" },
"categoryName61": { "message": "SaaS" },
"categoryName62": { "message": "PaaS" },
"categoryName63": { "message": "IaaS" },
"categoryName64": { "message": "Reverse Proxy" },
"categoryName64": { "message": "Proxy inversé" },
"categoryName65": { "message": "Load Balancer" },
"categoryName66": { "message": "Frameworks UI" },
"categoryName67": { "message": "Cookie compliance" },
"categoryName68": { "message": "Accessibilité" },
"categoryName69": { "message": "Connexion avec les réseaux sociaux" },
"categoryName70": { "message": "SSL/TLS certificate authorities" },
"categoryName71": { "message": "Affiliate programs" },
"categoryName71": { "message": "Programmes affiliés" },
"categoryName72": { "message": "Appointment scheduling" },
"categoryName73": { "message": "Surveys" },
"categoryName74": { "message": "A/B testing" },

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

@ -0,0 +1,5 @@
<svg width="2443" height="2443" viewBox="0 0 2443 2443" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M50.4 1721.6L862.5 314.9L1566.2 721.2L754.2 2127.9L50.4 1721.6Z" fill="#FBBC04"/>
<path d="M2385.1 1716.7L1572.5 309.5C1467.6 111.1 1221.8 35.2999 1023.4 140.2C825 245.1 749.3 490.9 854.1 689.3C858.7 698 863.6 706.5 868.8 714.9L1681.4 2122.1C1791 2317.9 2038.6 2387.8 2234.4 2278.2C2430.2 2168.6 2500.1 1921 2390.5 1725.2C2388.7 1722 2386.9 1718.9 2385.1 1715.8V1716.7Z" fill="#4285F4"/>
<path d="M406.3 2327.9C630.693 2327.9 812.6 2145.99 812.6 1921.6C812.6 1697.21 630.693 1515.3 406.3 1515.3C181.907 1515.3 0 1697.21 0 1921.6C0 2145.99 181.907 2327.9 406.3 2327.9Z" fill="#34A853"/>
</svg>

After

Width:  |  Height:  |  Size: 706 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 137.5 166" role="img"><path fill="#1292ee" d="M9.9 97.2l48.6-48.6c6.3-6.2 10.2-14.9 10.2-24.4 0-9.4-3.8-18-9.9-24.2L10.2 48.6C3.9 54.8 0 63.5 0 73c0 9.5 3.8 18 9.9 24.2zM127.6 68.8L79 117.4c-6.3 6.2-10.2 14.9-10.2 24.4 0 9.4 3.8 18 9.9 24.2l48.6-48.6c6.3-6.2 10.2-14.9 10.2-24.4 0-9.5-3.8-18-9.9-24.2zM127.3 48.7s0-.1 0 0c6.3-6.2 10.2-14.9 10.2-24.4 0-9.4-3.8-18-9.9-24.2L10.2 117.4C3.9 123.6 0 132.3 0 141.8c0 9.4 3.8 18 9.9 24.2L127.3 48.7z"></path></svg>

After

Width:  |  Height:  |  Size: 511 B

@ -0,0 +1 @@
<?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 width="100%" height="100%" viewBox="0 0 250 250" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><circle cx="125" cy="125" r="118.391" style="fill:#222;"/><text x="63.371px" y="189.151px" style="font-family:'OpenSans-Bold', 'Open Sans', sans-serif;font-weight:700;font-size:179.729px;fill:#fff;">B</text></svg>

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="264" height="288" viewBox="0 0 264 288">
<path fill="#7A34FF" fill-rule="evenodd" d="M180,260.874545 L142.532111,247.249859 C136.209084,244.950576 132,238.941267 132,232.213164 L132,155.42 L132,155.42 L26.6378426,59.6362206 C9.67222516,44.212932 0,22.9283669 0,0 L180,0 L180,260.874545 Z M216,273.965455 L216,0 L248,0 C256.836556,-1.623249e-15 264,7.163444 264,16 L264,279.9984 C264,284.416678 260.418278,287.9984 256,287.9984 C255.06758,287.9984 254.142338,287.835396 253.266055,287.516747 L216,273.965455 L216,273.965455 Z"/>
</svg>

After

Width:  |  Height:  |  Size: 584 B

@ -231,6 +231,29 @@ const Content = {
return technologies
}, [])
// Detect Google Ads
if (/^(www\.)?google(\.[a-z]{2,3}){1,2}$/.test(location.hostname)) {
const ads = document.querySelectorAll('#tads [data-text-ad] a[data-pcu]')
for (const ad of ads) {
Content.driver('detectTechnology', [ad.href, 'Google Ads'])
}
}
// Detect Microsoft Ads
if (/^(www\.)?bing\.com$/.test(location.hostname)) {
const ads = document.querySelectorAll('.b_ad .b_adurl cite')
for (const ad of ads) {
const url = ad.textContent.split(' ')[0].trim()
Content.driver('detectTechnology', [
url.startsWith('http') ? url : `http://${url}`,
'Microsoft Advertising',
])
}
}
Content.driver('analyzeDom', [location.href, dom])
},
}

@ -8,6 +8,7 @@ const {
analyze,
analyzeManyToMany,
resolve,
getTechnology,
} = Wappalyzer
const { agent, promisify, getOption, setOption, open } = Utils
@ -211,6 +212,19 @@ const Driver = {
)
},
/**
* Force a technology detection by URL and technology name
* @param {String} url
* @param {String} name
*/
detectTechnology(url, name) {
const technology = getTechnology(name)
return Driver.onDetect(url, [
{ technology, pattern: { regex: '', confidence: 100 }, version: '' },
])
},
/**
* Enable scripts to call Driver functions through messaging
* @param {Object} message
@ -411,7 +425,13 @@ const Driver = {
await Driver.setIcon(url, resolved)
if (url) {
const tabs = await promisify(chrome.tabs, 'query', { url })
let tabs = []
try {
tabs = await promisify(chrome.tabs, 'query', { url })
} catch (error) {
// Continue
}
tabs.forEach(({ id }) => (Driver.cache.tabs[id] = resolved))
}
@ -454,34 +474,38 @@ const Driver = {
return
}
;(await promisify(chrome.tabs, 'query', { url })).forEach(
({ id: tabId }) => {
chrome.browserAction.setBadgeText(
{
tabId,
text:
badge && technologies.length
? technologies.length.toString()
: '',
},
() => {}
)
let tabs = []
chrome.browserAction.setIcon(
{
tabId,
path: chrome.extension.getURL(
`../images/icons/${
/\.svg$/i.test(icon)
? `converted/${icon.replace(/\.svg$/, '.png')}`
: icon
}`
),
},
() => {}
)
}
)
try {
tabs = await promisify(chrome.tabs, 'query', { url })
} catch (error) {
// Continue
}
tabs.forEach(({ id: tabId }) => {
chrome.browserAction.setBadgeText(
{
tabId,
text:
badge && technologies.length ? technologies.length.toString() : '',
},
() => {}
)
chrome.browserAction.setIcon(
{
tabId,
path: chrome.extension.getURL(
`../images/icons/${
/\.svg$/i.test(icon)
? `converted/${icon.replace(/\.svg$/, '.png')}`
: icon
}`
),
},
() => {}
)
})
},
/**

@ -3,11 +3,11 @@
;(function () {
try {
const onMessage = ({ data }) => {
if (!data.wappalyzer) {
if (!data.wappalyzer || !data.wappalyzer.technologies) {
return
}
const { technologies } = data.wappalyzer || {}
const { technologies } = data.wappalyzer
removeEventListener('message', onMessage)

@ -55,7 +55,6 @@ const Popup = {
if (themeMode) {
document.querySelector('body').classList.add('theme-mode')
}
document.querySelector('body').classList.add('theme-mode')
// Terms
const termsAccepted =

@ -4,7 +4,7 @@
"author": "Wappalyzer",
"homepage_url": "https://www.wappalyzer.com/",
"description": "Identify web technologies",
"version": "6.5.25",
"version": "6.5.26",
"default_locale": "en",
"manifest_version": 2,
"icons": {

@ -13,7 +13,7 @@
"software"
],
"homepage": "https://www.wappalyzer.com/",
"version": "6.5.25",
"version": "6.5.26",
"author": "Wappalyzer",
"license": "MIT",
"repository": {

@ -1169,7 +1169,9 @@
],
"description": "Akamai is global content delivery network (CDN) services provider for media and software delivery, and cloud security solutions.",
"headers": {
"X-Akamai-Transformed": ""
"X-Akamai-Transformed": "",
"X-EdgeConnect-MidMile-RTT": "",
"X-EdgeConnect-Origin-MEX-Latency": ""
},
"icon": "akamai.svg",
"pricing": [
@ -1218,26 +1220,28 @@
},
"Akamai mPulse": {
"cats": [
13,
10
10,
47
],
"cookies": {
"akaas_AB-Testing": ""
},
"description": "Akamai mPulse is a real user monitoring (RUM) solution that enables companies to monitor, find, and fix website and application performance issues.",
"html": [
"<script>[\\s\\S]*?go-mpulse\\.net\\/boomerang[\\s\\S]*?</script>"
],
"icon": "akamai.svg",
"implies": "Akamai",
"implies": [
"Boomerang"
],
"js": {
"BOOMR": "",
"BOOMR_API_key": "",
"BOOMR_lstart": "",
"BOOMR_mq": ""
"BOOMR_API_key": ""
},
"pricing": [
"poa"
],
"saas": true,
"website": "https://www.akamai.com/uk/en/products/performance/mpulse-real-user-monitoring.jsp"
"website": "https://developer.akamai.com/akamai-mpulse-real-user-monitoring-solution"
},
"Akaunting": {
"cats": [
@ -1381,22 +1385,6 @@
"saas": true,
"website": "https://affiliate-program.amazon.com.au/"
},
"Azion": {
"cats": [
31
],
"description": "",
"headers": {
"Server": "^Azion "
},
"dns": {
"CNAME": "azioncdn\\.net\\.?$"
},
"icon": "Azion.svg",
"saas": true,
"pricing": ["poa", "payg"],
"website": "https://www.azion.com/"
},
"Amazon Cloudfront": {
"cats": [
31
@ -2282,6 +2270,25 @@
],
"website": "https://github.com/axios/axios"
},
"Azion": {
"cats": [
31
],
"description": "",
"dns": {
"CNAME": "azioncdn\\.net\\.?$"
},
"headers": {
"Server": "^Azion "
},
"icon": "Azion.svg",
"pricing": [
"poa",
"payg"
],
"saas": true,
"website": "https://www.azion.com/"
},
"Azure": {
"cats": [
62
@ -2830,6 +2837,20 @@
"scripts": "booksy\\.com/widget/code\\.js",
"website": "https://booksy.com/"
},
"Boomerang": {
"cats": [
59
],
"description": "boomerang is a JavaScript library that measures the page load time experienced by real users, commonly called RUM (Real User Measurement).",
"icon": "boomerang.svg",
"js": {
"BOOMR": "",
"BOOMR_lstart": "",
"BOOMR_mq": ""
},
"oss": true,
"website": "https://akamai.github.io/boomerang"
},
"Bootstrap": {
"cats": [
66
@ -5200,9 +5221,28 @@
6
],
"cpe": "cpe:/a:commerceguys:commerce",
"html": "<[^>]+(?:id=\"block[_-]commerce[_-]cart[_-]cart|class=\"commerce[_-]product[_-]field)",
"icon": "Drupal Commerce.png",
"description": "Drupal Commerce is open-source ecommerce software that augments the content management system Drupal.",
"html": "<[^>]+(?:id=\"block[_-]commerce[_-]cart[_-]cart|class=\"commerce[_-]product[_-]field)",
"dom": {
"form.commerce-order-item-add-to-cart-form,form.commerce-add-to-cart": {
"attributes": {
"class": ""
}
},
"aside#cart-offcanvas": {
"attributes": {
"id": ""
}
}
},
"scripts": [
"/modules/(?:contrib/)?commerce/js/conditions\\.js\\;confidence:50",
"/profiles/commerce_kickstart/modules/contrib/commerce/modules/checkout/commerce_checkout\\.js\\;confidence:50",
"/sites/(?:all|default)/modules/(?:contrib/)?commerce/modules/checkout/commerce_checkout\\.js\\;confidence:50"
],
"implies": "Drupal",
"oss": true,
"website": "http://drupalcommerce.org"
},
"Duda": {
@ -5699,6 +5739,21 @@
],
"website": "https://etherpad.org"
},
"Etracker": {
"cats": [
10,
74
],
"description": "Etracker is a web optimization solution.",
"icon": "Etracker.png",
"js": {
"_etracker": ""
},
"scripts": "\\.etracker\\.com",
"saas": true,
"pricing": ["low","recurring"],
"website": "https://www.etracker.com"
},
"Eveve": {
"cats": [
5,
@ -5733,8 +5788,13 @@
],
"description": "ExpertRec is a collaborative Web search engine, which allows users share search histories through a web browser.",
"icon": "ExpertRec.png",
"scripts": "cse\\.expertrec\\.com/api/js/ci_common\\.js\\?id=.*$",
"website": "https://expertrec.com"
"pricing": [
"low",
"recurring"
],
"saas": true,
"scripts": "expertrec\\.com/api/js/ci_common\\.js\\?id=.*",
"website": "https://www.expertrec.com"
},
"Express": {
"cats": [
@ -6453,7 +6513,23 @@
"meta": {
"generator": "^Frontity(.*)"
},
"website": "https://frontity.org/"
"website": "https://frontity.org
},
"Frosmo": {
"cats": [
32,
74
],
"description": "Frosmo is a SaaS company wich provides AI-driven personalization products.",
"icon": "Frosmo.png",
"js": {
"frosmo": "",
"_frosmo": ""
},
"scripts": "frosmo\\.easy\\.js",
"saas": true,
"pricing": ["poa"],
"website": "https://frosmo.com"
},
"FrontPage": {
"cats": [
@ -7011,6 +7087,16 @@
"scripts": "js/gogs\\.js",
"website": "http://gogs.io"
},
"Google Ads": {
"cats": [
36
],
"description": "Google Ads is an online advertising platform developed by Google.",
"icon": "Google Ads.svg",
"saas": true,
"pricing": ["payg"],
"website": "https://ads.google.com"
},
"Google AdSense": {
"cats": [
36
@ -7646,6 +7732,20 @@
"scripts": "hellobar\\.js",
"website": "http://hellobar.com"
},
"Helpscout": {
"cats": [
52
],
"description": "Simple Customer Service Software and Education.",
"icon": "Helpscout.svg",
"js": {
"Beacon": "\\;confidence:25"
},
"saas": true,
"pricing": ["low", "recurring"],
"scripts": "beacon-v2\\.helpscout\\.net",
"website": "https://www.helpscout.com/"
},
"Heroku": {
"cats": [
62
@ -9356,6 +9456,30 @@
"scripts": "npm/leanplum-sdk\\@([\\d.]+)\\;version:\\1",
"website": "https://www.leanplum.com"
},
"Lede": {
"cats": [
1
],
"description": "Lede is a publishing platform and growth program designed to support journalism startups and news media.",
"html": [
"<a [^>]*href=\"[^\"]+joinlede.com"
],
"icon": "lede.png",
"implies": [
"WordPress",
"WordPress VIP"
],
"js": {
"ledeChartbeatViews": "",
"ledeEngagement": "",
"ledeEngagementReset": ""
},
"meta": {
"og:image": "https?\\:\\/\\/lede-admin"
},
"saas": true,
"website": "https://joinlede.com/"
},
"Less": {
"cats": [
19
@ -10602,14 +10726,13 @@
},
"Microsoft Advertising": {
"cats": [
10,
36
],
"cookies": {
"_uetsid": "\\w+",
"_uetvid": "\\w+"
},
"description": "Microsoft Advertising is a service that provides pay per click advertising on both the Bing and Yahoo! search engines.",
"description": "Microsoft Advertising is an online advertising platform developed by Microsoft.",
"icon": "Microsoft.png",
"js": {
"UET": "",
@ -10620,7 +10743,7 @@
],
"saas": true,
"scripts": "bat\\.bing\\.com/bat\\.js",
"website": "https://about.ads.microsoft.com"
"website": "https://ads.microsoft.com"
},
"Microsoft Excel": {
"cats": [
@ -12911,6 +13034,24 @@
"icon": "Phusion Passenger.png",
"website": "https://phusionpassenger.com"
},
"Pico": {
"cats": [
53
],
"icon": "pico.svg",
"js": {
"Pico": ""
},
"scripts": [
"widget\\.pico\\.tools"
],
"pricing": [
"low",
"recurring"
],
"saas": true,
"website": "https://trypico.com"
},
"Pimcore": {
"cats": [
1,
@ -18947,7 +19088,10 @@
"x-powered-by": "^WordPress\\.com VIP"
},
"icon": "wpvip.svg",
"implies": "WordPress",
"implies": [
"WordPress",
"Automattic"
],
"website": "https://wpvip.com"
},
"Wowza Media Server": {