Started working on new Firefox driver

main
Elbert Alias 11 years ago
parent 5198a08f35
commit 1ecc923129

5
.gitignore vendored

@ -1,10 +1,9 @@
wappalyzer-chrome.zip
wappalyzer-firefox.xpi
wappalyzer.xpi
drivers/**/apps.json
drivers/**/wappalyzer.js
drivers/**/icons/*.png
drivers/firefox-jetpack/data
node_modules/*
node_modules/*

@ -1,14 +1,14 @@
# Wappalyzer
[Wappalyzer](http://wappalyzer.com/) is a
[Wappalyzer](https://wappalyzer.com/) is a
[cross-platform](https://github.com/ElbertF/Wappalyzer/wiki/Drivers) utility that uncovers the
technologies used on websites. It detects
[content management systems](http://wappalyzer.com/categories/cms),
[web shops](http://wappalyzer.com/categories/web-shops),
[web servers](http://wappalyzer.com/categories/web-servers),
[JavaScript frameworks](http://wappalyzer.com/categories/javascript-frameworks),
[analytics tools](http://wappalyzer.com/categories/analytics) and
[many more](http://wappalyzer.com/applications).
[content management systems](https://wappalyzer.com/categories/cms),
[web shops](https://wappalyzer.com/categories/web-shops),
[web servers](https://wappalyzer.com/categories/web-servers),
[JavaScript frameworks](https://wappalyzer.com/categories/javascript-frameworks),
[analytics tools](https://wappalyzer.com/categories/analytics) and
[many more](https://wappalyzer.com/applications).
Refer to the [wiki](https://github.com/ElbertF/Wappalyzer/wiki) for
[screenshots](https://github.com/ElbertF/Wappalyzer/wiki/Screenshots), information on how to
@ -18,5 +18,6 @@ Refer to the [wiki](https://github.com/ElbertF/Wappalyzer/wiki) for
*Licensed under the [GPL](https://github.com/ElbertF/Wappalyzer/blob/master/LICENSE).*
Donate Bitcoin: 16gb4uGDAjaeRJwKVmKr2EXa8x2fmvT8EQ - *Thanks!*
![QR Code](http://wappalyzer.com/sites/default/themes/wappalyzer/images/bitcoinqrcode.png)
![QR Code](https://wappalyzer.com/sites/default/themes/wappalyzer/images/bitcoinqrcode.png)

@ -50,7 +50,7 @@
if ( e !== null ) { d.body.removeChild(e); }
var
u = 'http://wappalyzer.com/bookmarklet/',
u = 'https://wappalyzer.com/bookmarklet/',
t = new Date().getTime(),
c = d.createElement('div'),
p = d.createElement('div'),

@ -60,4 +60,4 @@
}
c.init();
})();
}());

@ -184,7 +184,7 @@
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function(e) {
if ( request.readyState == 4 ) { w.log('w.driver.ping: status ' + request.status); }
if ( xhr.readyState == 4 ) { w.log('w.driver.ping: status ' + xhr.status); }
};
xhr.send('json=' + encodeURIComponent(JSON.stringify(w.ping)));

@ -63,14 +63,14 @@ document.addEventListener('DOMContentLoaded', function() {
html =
'<div class="detected-app">' +
'<a target="_blank" href="http://wappalyzer.com/applications/' + appName.toLowerCase().replace(/ /g, '-').replace(/[^\w-]/g, '') + '?utm_source=chrome&utm_medium=popup&utm_campaign=extensions">' +
'<a target="_blank" href="https://wappalyzer.com/applications/' + appName.toLowerCase().replace(/ /g, '-').replace(/[^\w-]/g, '') + '?utm_source=chrome&utm_medium=popup&utm_campaign=extensions">' +
'<img src="images/icons/' + appName + '.png"/>' +
'<span class="label">' + appName + ( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '' ) + '</span>' +
'</a>';
response.apps[appName].cats.forEach(function(cat) {
html +=
'<a target="_blank" href="http://wappalyzer.com/categories/' + response.categories[cat] + '?utm_source=chrome&utm_medium=popup&utm_campaign=extensions">' +
'<a target="_blank" href="https://wappalyzer.com/categories/' + response.categories[cat] + '?utm_source=chrome&utm_medium=popup&utm_campaign=extensions">' +
'<span class="category">' + chrome.i18n.getMessage('categoryName' + cat) + '</span>' +
'</a>';
});

@ -1,5 +1,5 @@
{ "name": "Wappalyzer",
"homepage_url": "http://wappalyzer.com?utm_source=chrome&utm_medium=context&utm_campaign=extensions",
"homepage_url": "https://wappalyzer.com?utm_source=chrome&utm_medium=context&utm_campaign=extensions",
"description": "Identifies software on the web",
"version": "2.27",
"default_locale": "en",

@ -1,32 +0,0 @@
/**
* Jetpack driver
*/
(function() {
'use strict';
var
{ Cc, Ci } = require('chrome'),
tabs = require('tabs'),
self = require('self'),
main = require('wappalyzer'),
w = main.wappalyzer
;
w.driver = {
/**
* Log messages to console
*/
log: function(args) {
console.log(args.message);
},
/**
* Initialize
*/
init: function(callback) {
}
}
w.init();
})();

@ -1,13 +0,0 @@
{
"id": "wappalyzer@crunchlabz.com",
"name": "wappalyzer",
"fullName": "Wappalyzer",
"description": "Identifies software on the web",
"icon": "images/icon48.png",
"icon64": "images/icon64.png",
"homepage": "http://wappalyzer.com",
"author": "Elbert Alias",
"license": "GPLv3",
"version": "3.0.0",
"main": "driver"
}

@ -1,6 +0,0 @@
var main = require("main");
exports.test_run = function(test) {
test.pass("Unit test running!");
};

@ -0,0 +1,92 @@
body {
background: #fff;
color: #000;
font-family: Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 16px;
margin: 0;
min-width: 200px;
padding: 15px;
}
img {
display: inline-block;
height: 16px;
margin-right: 8px;
vertical-align: top;
width: 16px;
}
.detected-app {
padding: 7px 0;
}
.detected-app:first-child {
padding-top: 0;
}
.detected-app:last-child {
border: none;
padding-bottom: 0;
}
.detected-app a {
color: #000;
display: block;
text-decoration: none;
}
.detected-app a:hover .label {
text-decoration: underline;
}
.detected-app a:hover .category {
text-decoration: underline;
}
.label {
font-weight: bold;
}
.category {
color: #999;
display: block;
margin: 5px 0 0 24px;
}
.empty {
color: #999;
font-style: italic;
text-align: center;
}
#buttons {
margin-top: 12px;
overflow: hidden;
}
#buttons button {
height: 32px;
}
#analyze-headers {
float: left;
width: 158px;
}
#analyze-headers.pending {
background-image: url('../images/pending2.gif');
background-position: center center;
background-repeat: no-repeat;
text-indent: -999px;
}
#options {
background-image: url('../images/options.png');
background-position: center center;
background-repeat: no-repeat;
float: right;
height: 32px;
min-width: 32px;
width: 32px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,72 @@
(function() {
'use strict';
var
data = {},
lastEnv = [],
prefs = sendSyncMessage('wappalyzer', { action: 'get prefs' })[0]
;
addEventListener('DOMContentLoaded', function() {
removeEventListener('DOMContentLoaded', onLoad, false);
onLoad();
}, false);
function onLoad() {
if ( content.document.contentType != 'text/html' ) {
return;
}
if ( prefs.analyzeJavaScript && prefs.analyzeOnLoad ) {
content.document.documentElement.addEventListener('load', function() {
var env = Object.keys(content.wrappedJSObject).slice(0, 500);
lastEnv = env;
// Only analyze new variables
env = { env: env.filter(function(i) { return lastEnv.indexOf(i) === -1; }) };
if ( env.length ) {
sendAsyncMessage('wappalyzer', {
action: 'analyze',
analyze: { env: env }
});
}
env = null;
removeEventListener('load', onLoad, true);
}, true);
}
// HTML
var html = content.document.documentElement.outerHTML;
// Comments outside HTML
//if ( content.document.lastChild.nodeType === 8 ) {
//content.alert(content.document.lastChild.nodeValue);
//}
if ( html.length > 50000 ) {
html = html.substring(0, 25000) + html.substring(html.length - 25000, html.length);
}
data = { html: html };
if ( prefs.analyzeJavaScript ) {
data.env = Object.keys(content.wrappedJSObject).slice(0, 500);
lastEnv = data.env;
}
sendAsyncMessage('wappalyzer', {
action: 'analyze',
hostname: content.location.hostname,
url: content.location.href,
analyze: data
});
data = null;
}
})();

@ -0,0 +1,36 @@
(function() {
self.port.on('displayApps', function(message) {
var detectedApps = document.getElementById('detected-apps');
detectedApps.innerHTML = '';
if ( message.tabCache.count > 0 ) {
for ( appName in message.tabCache.appsDetected ) {
confidence = message.tabCache.appsDetected[appName].confidenceTotal;
version = message.tabCache.appsDetected[appName].version;
html =
'<div class="detected-app">' +
'<a target="_blank" href="https://wappalyzer.com/applications/' + appName.toLowerCase().replace(/ /g, '-').replace(/[^\w-]/g, '') + '?utm_source=firefox&utm_medium=panel&utm_campaign=extensions">' +
'<img src="images/icons/' + appName + '.png"/>' +
'<span class="label">' + appName + ( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '' ) + '</span>' +
'</a>';
message.apps[appName].cats.forEach(function(cat) {
html +=
'<a target="_blank" href="https://wappalyzer.com/categories/' + message.categories[cat] + '?utm_source=firefox&utm_medium=panel&utm_campaign=extensions">' +
'<span class="category">' + message.categoryNames[cat] + '</span>' +
'</a>';
});
html +=
'</a>' +
'</div>';
detectedApps.innerHTML = detectedApps.innerHTML + html;
}
}
self.port.emit('resize', document.body.offsetHeight);
});
}());

@ -0,0 +1,31 @@
(function() {
var lastEnv = [];
if ( document.contentType === 'text/html' ) {
var
html = document.documentElement.outerHTML
env = [];
self.port.emit('log', 'init');
if ( html.length > 50000 ) {
html = html.substring(0, 25000) + html.substring(html.length - 25000, html.length);
}
self.port.emit('analyze', {
hostname: location.hostname,
url: location.href,
analyze: { html: html }
});
setTimeout(function() {
var env = Object.keys(unsafeWindow).slice(0, 500);
self.port.emit('analyze', {
hostname: location.hostname,
url: location.href,
analyze: { env: env }
});
}, 1000);
}
}());

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<title>Panel</title>
<link rel="stylesheet" href="css/panel.css">
</head>
<body>
<div id="detected-apps"></div>
</body>
</html>

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Before

Width:  |  Height:  |  Size: 613 B

After

Width:  |  Height:  |  Size: 613 B

Before

Width:  |  Height:  |  Size: 634 B

After

Width:  |  Height:  |  Size: 634 B

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

@ -0,0 +1,169 @@
(function() {
'use strict';
var
main = require('wappalyzer'),
w = main.wappalyzer,
tabCache = {},
categoryNames = {},
data = require('sdk/self').data,
tabs = require('sdk/tabs'),
panel = require('sdk/panel').Panel({
width: 250,
height: 50,
contentURL: data.url('panel.html'),
contentScriptFile: data.url('js/panel.js')
}),
widget = require('sdk/widget').Widget({
id: 'wappalyzer',
label: 'Wappalyzer',
contentURL: data.url('images/icon32.png'),
panel: panel
});
tabs.on('open', function(tab) {
tabCache[tab.id] = {
count: 0,
appsDetected: [],
analyzed: []
};
});
tabs.on('close', function(tab) {
tabCache[tab.id] = null;
});
tabs.on('activate', function(tab) {
w.driver.displayApps();
tabs.activeTab.on('ready', function(tab) {
var worker = tab.attach({
contentScriptFile: data.url('js/tab.js')
});
worker.port.on('analyze', function(message) {
w.analyze(message.hostname, message.url, message.analyze);
});
worker.port.on('log', function(message) {
w.log('[ tab.js ] ' + message);
});
});
});
panel.port.on('resize', function(height) {
panel.height = height;
});
w.driver = {
/**
* Log messages to console
*/
log: function(args) {
console.log(args.message);
},
/**
* Initialize
*/
init: function(callback) {
var json = JSON.parse(data.load('apps.json'));
w.apps = json.apps;
w.categories = json.categories;
for ( var id in w.categories ) {
categoryNames[id] = require('sdk/l10n').get('cat' + id);
}
for each ( var tab in tabs ) {
tabCache[tab.id] = {
count: 0,
appsDetected: [],
analyzed: []
};
}
},
displayApps: function() {
var count = w.detected[tabs.activeTab.url] ? Object.keys(w.detected[tabs.activeTab.url]).length.toString() : '0';
w.log('display apps');
tabCache[tabs.activeTab.id].count = count;
tabCache[tabs.activeTab.id].appsDetected = w.detected[tabs.activeTab.url];
widget.contentURL = data.url('images/icon32.png');
if ( count > 0 ) {
// Find the main application to display
var i, appName, found = false;
widget.contentURL = data.url('images/icon32_hot.png'),
w.driver.categoryOrder.forEach(function(match) {
for ( appName in w.detected[tabs.activeTab.url] ) {
w.apps[appName].cats.forEach(function(cat) {
if ( cat == match && !found ) {
widget.contentURL = data.url('images/icons/' + appName + '.png'),
found = true;
}
});
}
});
};
panel.port.emit('displayApps', { tabCache: tabCache[tabs.activeTab.id], apps: w.apps, categories: w.categories, categoryNames: categoryNames });
},
ping: function() {
w.log('ping');
},
categoryOrder: [ // Used to pick the main application
1, // CMS
11, // Blog
6, // Web Shop
2, // Message Board
8, // Wiki
13, // Issue Tracker
30, // Web Mail
18, // Web Framework
21, // LMS
7, // Photo Gallery
3, // Database Manager
34, // Database
4, // Documentation Tool
9, // Hosting Panel
29, // Search Engine
12, // Javascript Framework
26, // Mobile Framework
25, // Javascript Graphics
22, // Web Server
27, // Programming Language
28, // Operating System
15, // Comment System
20, // Editor
10, // Analytics
32, // Marketing Automation
38, // Media Server
31, // CDN
23, // Cache Tool
17, // Font Script
24, // Rich Text Editor
35, // Map
5, // Widget
14, // Video Player
16, // Captcha
33, // Web Server Extension
37, // Network Device
39, // Webcam
40, // Printer
36, // Advertising Network
19 // Miscellaneous
]
}
w.init();
}());

@ -0,0 +1,44 @@
name = Wappalyzer
noAppsDetected = Keine Applikationen erkannt
addonBar = Wappalyzer has been placed in the add-on bar.\n\nTo show the add-on bar, close this window and press Ctrl+/.
cat1 = CMS
cat2 = Message Board
cat3 = Database Manager
cat4 = Documentation Tool
cat5 = Widget
cat6 = Web Shop
cat7 = Photo Gallery
cat8 = Wiki
cat9 = Hosting Panel
cat10 = Analytics
cat11 = Blog
cat12 = JavaScript Framework
cat13 = Issue Tracker
cat14 = Video Player
cat15 = Comment System
cat16 = CAPTCHA
cat17 = Font Script
cat18 = Web Framework
cat19 = Miscellaneous
cat20 = Editor
cat21 = LMS
cat22 = Web Server
cat23 = Cache Tool
cat24 = Rich Text Editor
cat25 = Javascript Graphics
cat26 = Mobile Framework
cat27 = Programming Language
cat28 = Operating System
cat29 = Search Engine
cat30 = Web mail
cat31 = CDN
cat32 = Marketing Automation
cat33 = Web Server Extension
cat34 = Database
cat35 = Map
cat36 = Advertizing Network
cat37 = Network Device
cat38 = Media Server
cat39 = Webcam
cat40 = Printer

@ -0,0 +1,44 @@
name = Wappalyzer
noAppsDetected = No applications detected
addonBar = Wappalyzer has been placed in the add-on bar.\n\nTo show the add-on bar, close this window and press Ctrl+/.
cat1 = CMS
cat2 = Message Board
cat3 = Database Manager
cat4 = Documentation Tool
cat5 = Widget
cat6 = Web Shop
cat7 = Photo Gallery
cat8 = Wiki
cat9 = Hosting Panel
cat10 = Analytics
cat11 = Blog
cat12 = JavaScript Framework
cat13 = Issue Tracker
cat14 = Video Player
cat15 = Comment System
cat16 = CAPTCHA
cat17 = Font Script
cat18 = Web Framework
cat19 = Miscellaneous
cat20 = Editor
cat21 = LMS
cat22 = Web Server
cat23 = Cache Tool
cat24 = Rich Text Editor
cat25 = Javascript Graphics
cat26 = Mobile Framework
cat27 = Programming Language
cat28 = Operating System
cat29 = Search Engine
cat30 = Web Mail
cat31 = CDN
cat32 = Marketing Automation
cat33 = Web Server Extension
cat34 = Database
cat35 = Map
cat36 = Advertising Network
cat37 = Network Device
cat38 = Media Server
cat39 = Webcam
cat40 = Printer

@ -0,0 +1,44 @@
name = Wappalyzer
noAppsDetected = No applications detected
addonBar = Wappalyzer has been placed in the add-on bar.\n\nTo show the add-on bar, close this window and press Ctrl+/.
cat1 = CMS
cat2 = Message Board
cat3 = Database Manager
cat4 = Documentation Tool
cat5 = Widget
cat6 = Web Shop
cat7 = Photo Gallery
cat8 = Wiki
cat9 = Hosting Panel
cat10 = Analytics
cat11 = Blog
cat12 = JavaScript Framework
cat13 = Issue Tracker
cat14 = Video Player
cat15 = Comment System
cat16 = CAPTCHA
cat17 = Font Script
cat18 = Web Framework
cat19 = Miscellaneous
cat20 = Editor
cat21 = LMS
cat22 = Web Server
cat23 = Cache Tool
cat24 = Rich Text Editor
cat25 = Javascript Graphics
cat26 = Mobile Framework
cat27 = Programming Language
cat28 = Operating System
cat29 = Search Engine
cat30 = Web Mail
cat31 = CDN
cat32 = Marketing Automation
cat33 = Web Server Extension
cat34 = Database
cat35 = Map
cat36 = Advertising Network
cat37 = Network Device
cat38 = Media Server
cat39 = Webcam
cat40 = Printer

@ -0,0 +1,44 @@
name = Wappalyzer
noAppsDetected = Aplicaciones no detectadas
addonBar = Wappalyzer se ha colocado en la barra de complementos.\n\nPara mostrar la barra de complementos, cierra esta ventana y pulsa Ctrl+/.
cat1 = Gestor de Contenido
cat2 = Foro
cat3 = estor de Bases de Datos
cat4 = Herramienta de Documentación
cat5 = Widget
cat6 = Tienda Web
cat7 = Galería fotográfica
cat8 = Wiki
cat9 = Panel de Hosting
cat10 = Analítica
cat11 = Blog
cat12 = Framework JavaScript
cat13 = Gestor de Incidencias
cat14 = Reproductor de Vídeo
cat15 = Sistema de Comentarios
cat16 = CAPTCHA
cat17 = Tipografía
cat18 = Framework Web
cat19 = Miscelánea
cat20 = Editor
cat21 = LMS
cat22 = Servidor Web
cat23 = Herramienta de Cache
cat24 = Editor de Texto Enriquecido
cat25 = Gráficos Javascript
cat26 = Framework Móvil
cat27 = Lenguaje de programación
cat28 = Sistema Operativo
cat29 = Motor de Búsqueda
cat30 = Correo Web
cat31 = CDN
cat32 = Automatización de Marketing
cat33 = Extensión de Servidor Web
cat34 = Base de Datos
cat35 = Mapa
cat36 = Red de Publicidad
cat37 = Dispositivo de Red
cat38 = Servidores de Contenido
cat39 = Webcam
cat40 = Impresora

@ -0,0 +1,44 @@
name = Wappalyzer
noAppsDetected = Pas d'applications détectées
addonBar = Wappalyzer a été placé dans la barre des modules.\n\n Pour voir la barre des modules pressez Ctrl+/ ou Cmd+/.
cat1 = CMS
cat2 = Forum
cat3 = Gestionnaire de base de données
cat4 = Outil de documentation
cat5 = Widget
cat6 = Boutique en ligne
cat7 = Galerie photo
cat8 = Wiki
cat9 = Gestionnaires de serveur
cat10 = Outil de statistiques
cat11 = Blog
cat12 = Framework JavaScript
cat13 = Outils de suivi de problèmes
cat14 = Lecteur de vidéos
cat15 = Système de commentaires
cat16 = CAPTCHA
cat17 = Script de police
cat18 = Framework web
cat19 = Divers
cat20 = Editeur
cat21 = LMS
cat22 = Serveur web
cat23 = Outil de cache
cat24 = Editeur WYSIWYG
cat25 = Graphismes JavaScript
cat26 = Framework pour mobiles
cat27 = Language de programmation
cat28 = Système d'exploitation
cat29 = Moteur de recherche
cat30 = Web Mail
cat31 = CDN
cat32 = Logiciel de marketing
cat33 = Web Server Extension
cat34 = Database
cat35 = Map
cat36 = Advertizing Network
cat37 = Network Device
cat38 = Media Server
cat39 = Webcam
cat40 = Printer

@ -0,0 +1,44 @@
name = Wappalyzer
noAppsDetected = Geen applications gedetecteerd
addonBar = Wappalyzer is in de add-on balk geplaatst. Om de add-on te laten zien, sluit dit bericht en druk Ctrl+/.
cat1 = CMS
cat2 = Forum
cat3 = Database Manager
cat4 = Documentatie Tool
cat5 = Widget
cat6 = Web Winkel
cat7 = Photo Gallerij
cat8 = Wiki
cat9 = Hosting Paneel
cat10 = Analytics
cat11 = Blog
cat12 = JavaScript Framework
cat13 = Issue Tracker
cat14 = Video Speler
cat15 = Comment Systeem
cat16 = CAPTCHA
cat17 = Font Script
cat18 = Web Framework
cat19 = Overige
cat20 = Editor
cat21 = LMS
cat22 = Web Server
cat23 = Cache Tool
cat24 = Rich Text Editor
cat25 = Javascript Graphics
cat26 = Mobiel Framework
cat27 = Programmeer Taal
cat28 = Operating System
cat29 = Zoek Machine
cat30 = Web Mail
cat31 = CDN
cat32 = Marketing Automatisering
cat33 = Web Server Extentie
cat34 = Database
cat35 = Landkaart
cat36 = Advertentie Netwerk
cat37 = Network Apparaat
cat38 = Media Server
cat39 = Webcam
cat40 = Printer

@ -0,0 +1,12 @@
{
"name": "wappalyzer",
"title": "Wappalyzer",
"icon": "images/icon48.png",
"icon64": "images/icon64.png",
"id": "jid1-GkgHgreNo1BZ4g",
"description": "Identifies software on the web",
"author": "Elbert Alias",
"license": "GPLv3",
"version": "3.0.0",
"main": "driver"
}

@ -0,0 +1,12 @@
var main = require("./main");
exports["test main"] = function(assert) {
assert.pass("Unit test running!");
};
exports["test main async"] = function(assert, done) {
assert.pass("async Unit test running!");
done();
};
require("sdk/test").run(exports);

@ -340,6 +340,9 @@
d.getElementById('urlbar-icons').insertBefore(d.getElementById('wappalyzer-container'), d.getElementById('urlbar-icons').childNodes[0]);
}
w.log('xxx');
w.log(CustomizableUI.getPlacementOfWidget('wappalyzer-addonbar'));
d.getElementById('wappalyzer-addonbar').setAttribute('collapsed', prefs.getBoolPref('addonBar') ? 'false' : 'true');
}

@ -33,6 +33,6 @@
<em:iconURL>chrome://wappalyzer/skin/images/icon32.png</em:iconURL>
<em:icon64URL>chrome://wappalyzer/skin/images/icon64.png</em:icon64URL>
<em:creator>Elbert Alias</em:creator>
<em:homepageURL>http://wappalyzer.com</em:homepageURL>
<em:homepageURL>https://wappalyzer.com</em:homepageURL>
</Description>
</RDF>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 692 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 940 B

@ -34,22 +34,22 @@ mklink /h drivers\firefox\content\js\wappalyzer.js share\js\wappalyzer.js
:: FIREFOX JETPACK
:: FIREFOX SKD
::
::Sync icons folder
::ln -f share\images\icons drivers\firefox-jetpack\images\icons
if exist drivers\firefox-jetpack\images\icons rmdir /q /s drivers\firefox-jetpack\images\icons
mklink /j drivers\firefox-jetpack\images\icons share\images\icons
::ln -f share\images\icons drivers\firefox-sdk\images\icons
if exist drivers\firefox-sdk\images\icons rmdir /q /s drivers\firefox-jetpack\images\icons
mklink /j drivers\firefox-sdk\images\icons share\images\icons
::Sync apps JSON
::ln -f share\apps.json drivers\firefox-jetpack\data
if exist drivers\firefox-jetpack\data\apps.json del drivers\firefox-jetpack\data\apps.json
mklink /h drivers\firefox-jetpack\data\apps.json share\apps.json
::ln -f share\apps.json drivers\firefox-sdk\data
if exist drivers\firefox-sdk\data\apps.json del drivers\firefox-jetpack\data\apps.json
mklink /h drivers\firefox-sdk\data\apps.json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\firefox-jetpack\lib
if exist drivers\firefox-jetpack\lib\wappalyzer.js del drivers\firefox-jetpack\lib\wappalyzer.js
mklink /h drivers\firefox-jetpack\lib\wappalyzer.js share\js\wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\firefox-sdk\lib
if exist drivers\firefox-sdk\lib\wappalyzer.js del drivers\firefox-jetpack\lib\wappalyzer.js
mklink /h drivers\firefox-sdk\lib\wappalyzer.js share\js\wappalyzer.js
@ -120,4 +120,4 @@ mklink /h drivers\php\apps.json share\apps.json
::Sync Wappalyzer.js
::ln -f share\js\wappalyzer.js drivers\php\js
if exist drivers\php\js\wappalyzer.js del drivers\php\js\wappalyzer.js
mklink /h drivers\php\js\wappalyzer.js share\js\wappalyzer.js
mklink /h drivers\php\js\wappalyzer.js share\js\wappalyzer.js

@ -1,27 +1,22 @@
#!/bin/sh
ln -f share/images/icons/*.png drivers/firefox/skin/images/icons
ln -f share/images/icons-32/*.png drivers/firefox/skin/images/icons-32
ln -f share/apps.json drivers/firefox/content
ln -f share/js/wappalyzer.js drivers/firefox/content/js
ln -f share/images/icons/*.png drivers/firefox-jetpack/images/icons
ln -f share/images/icons-32/*.png drivers/firefox-jetpack/images/icons
ln -f share/apps.json drivers/firefox-jetpack/data
ln -f share/js/wappalyzer.js drivers/firefox-jetpack/lib
ln -f share/images/icons/*.png drivers/firefox-sdk/data/images/icons
ln -f share/apps.json drivers/firefox-sdk/data
ln -f share/js/wappalyzer.js drivers/firefox-sdk/lib
ln -f share/images/icons/*.png drivers/chrome/images/icons
ln -f share/images/icons-32/*.png drivers/chrome/images/icons
ln -f share/apps.json drivers/chrome
ln -f share/js/wappalyzer.js drivers/chrome/js
ln -f share/images/icons/*.png drivers/bookmarklet/images/icons
ln -f share/images/icons-32/*.png drivers/bookmarklet/images/icons
ln -f share/apps.json drivers/bookmarklet/json
ln -f share/js/wappalyzer.js drivers/bookmarklet/js
ln -f share/images/icons/*.png drivers/html/images/icons
ln -f share/images/icons-32/*.png drivers/html/images/icons
ln -f share/apps.json drivers/html
ln -f share/js/wappalyzer.js drivers/html/js

@ -15,5 +15,5 @@
"bugs": {
"url": "https://github.com/ElbertF/Wappalyzer/issues"
},
"homepage": "http://wappalyzer.com/"
"homepage": "https://wappalyzer.com/"
}

@ -1621,7 +1621,7 @@
"cats": [ 5 ],
"html": "(?:<iframe id=\"meebo-iframe\"|Meebo\\(?:'domReady'\\))"
},
"Méthode": {
"Methode": {
"website": "www.eidosmedia.com/solutions",
"cats": [ 1 ],
"env": "^eidosBase$\\;confidence:99",

Binary file not shown.

After

Width:  |  Height:  |  Size: 369 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 742 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 B

Some files were not shown because too many files have changed in this diff Show More