diff --git a/.gitignore b/.gitignore index 11d4ec716..3c2aaf799 100644 --- a/.gitignore +++ b/.gitignore @@ -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/* \ No newline at end of file +node_modules/* diff --git a/README.md b/README.md index a273f10c0..d3b8982b4 100644 --- a/README.md +++ b/README.md @@ -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) + diff --git a/drivers/bookmarklet/index.html b/drivers/bookmarklet/index.html index fbbd2dd74..78bfee9d8 100644 --- a/drivers/bookmarklet/index.html +++ b/drivers/bookmarklet/index.html @@ -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'), diff --git a/drivers/chrome/js/content.js b/drivers/chrome/js/content.js index e160070dd..7a3bf3e79 100644 --- a/drivers/chrome/js/content.js +++ b/drivers/chrome/js/content.js @@ -60,4 +60,4 @@ } c.init(); -})(); +}()); diff --git a/drivers/chrome/js/driver.js b/drivers/chrome/js/driver.js index d5b9944e0..1c7565d68 100644 --- a/drivers/chrome/js/driver.js +++ b/drivers/chrome/js/driver.js @@ -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))); diff --git a/drivers/chrome/js/popup.js b/drivers/chrome/js/popup.js index d21be18fb..e9c7b926e 100644 --- a/drivers/chrome/js/popup.js +++ b/drivers/chrome/js/popup.js @@ -63,14 +63,14 @@ document.addEventListener('DOMContentLoaded', function() { html = '
' + - '' + + '' + '' + '' + appName + ( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '' ) + '' + ''; response.apps[appName].cats.forEach(function(cat) { html += - '' + + '' + '' + chrome.i18n.getMessage('categoryName' + cat) + '' + ''; }); diff --git a/drivers/chrome/manifest.json b/drivers/chrome/manifest.json index 9a7e06ee6..4ce60b463 100644 --- a/drivers/chrome/manifest.json +++ b/drivers/chrome/manifest.json @@ -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", diff --git a/drivers/firefox-jetpack/lib/driver.js b/drivers/firefox-jetpack/lib/driver.js deleted file mode 100644 index 02acb325a..000000000 --- a/drivers/firefox-jetpack/lib/driver.js +++ /dev/null @@ -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(); -})(); diff --git a/drivers/firefox-jetpack/package.json b/drivers/firefox-jetpack/package.json deleted file mode 100644 index 1494c1a67..000000000 --- a/drivers/firefox-jetpack/package.json +++ /dev/null @@ -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" -} diff --git a/drivers/firefox-jetpack/test/test-main.js b/drivers/firefox-jetpack/test/test-main.js deleted file mode 100644 index fdd945127..000000000 --- a/drivers/firefox-jetpack/test/test-main.js +++ /dev/null @@ -1,6 +0,0 @@ -var main = require("main"); - -exports.test_run = function(test) { - test.pass("Unit test running!"); -}; - diff --git a/drivers/firefox-jetpack/README.md b/drivers/firefox-sdk/README.md similarity index 100% rename from drivers/firefox-jetpack/README.md rename to drivers/firefox-sdk/README.md diff --git a/drivers/firefox-sdk/data/css/panel.css b/drivers/firefox-sdk/data/css/panel.css new file mode 100644 index 000000000..8670ae7df --- /dev/null +++ b/drivers/firefox-sdk/data/css/panel.css @@ -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; +} diff --git a/drivers/firefox-sdk/data/images/icon32.png b/drivers/firefox-sdk/data/images/icon32.png new file mode 100644 index 000000000..37a4df7b7 Binary files /dev/null and b/drivers/firefox-sdk/data/images/icon32.png differ diff --git a/drivers/firefox-sdk/data/images/icon32_hot.png b/drivers/firefox-sdk/data/images/icon32_hot.png new file mode 100644 index 000000000..a8356656b Binary files /dev/null and b/drivers/firefox-sdk/data/images/icon32_hot.png differ diff --git a/drivers/firefox-sdk/data/js/content.js b/drivers/firefox-sdk/data/js/content.js new file mode 100644 index 000000000..35559c4dd --- /dev/null +++ b/drivers/firefox-sdk/data/js/content.js @@ -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; + } +})(); diff --git a/drivers/firefox-sdk/data/js/panel.js b/drivers/firefox-sdk/data/js/panel.js new file mode 100644 index 000000000..eb68f80b9 --- /dev/null +++ b/drivers/firefox-sdk/data/js/panel.js @@ -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 = + '
' + + '' + + '' + + '' + appName + ( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '' ) + '' + + ''; + + message.apps[appName].cats.forEach(function(cat) { + html += + '' + + '' + message.categoryNames[cat] + '' + + ''; + }); + + html += + '' + + '
'; + + detectedApps.innerHTML = detectedApps.innerHTML + html; + } + } + + self.port.emit('resize', document.body.offsetHeight); + }); +}()); diff --git a/drivers/firefox-sdk/data/js/tab.js b/drivers/firefox-sdk/data/js/tab.js new file mode 100644 index 000000000..78c0e61d7 --- /dev/null +++ b/drivers/firefox-sdk/data/js/tab.js @@ -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); + } +}()); diff --git a/drivers/firefox-sdk/data/panel.html b/drivers/firefox-sdk/data/panel.html new file mode 100644 index 000000000..b64badd09 --- /dev/null +++ b/drivers/firefox-sdk/data/panel.html @@ -0,0 +1,12 @@ + + + + + Panel + + + + +
+ + diff --git a/drivers/firefox-jetpack/doc/main.md b/drivers/firefox-sdk/doc/main.md similarity index 100% rename from drivers/firefox-jetpack/doc/main.md rename to drivers/firefox-sdk/doc/main.md diff --git a/drivers/firefox-jetpack/images/icon128.png b/drivers/firefox-sdk/images/icon128.png similarity index 100% rename from drivers/firefox-jetpack/images/icon128.png rename to drivers/firefox-sdk/images/icon128.png diff --git a/drivers/firefox-jetpack/images/icon16.png b/drivers/firefox-sdk/images/icon16.png similarity index 100% rename from drivers/firefox-jetpack/images/icon16.png rename to drivers/firefox-sdk/images/icon16.png diff --git a/drivers/firefox-jetpack/images/icon16_hot.png b/drivers/firefox-sdk/images/icon16_hot.png similarity index 100% rename from drivers/firefox-jetpack/images/icon16_hot.png rename to drivers/firefox-sdk/images/icon16_hot.png diff --git a/drivers/firefox-jetpack/images/icon48.png b/drivers/firefox-sdk/images/icon48.png similarity index 100% rename from drivers/firefox-jetpack/images/icon48.png rename to drivers/firefox-sdk/images/icon48.png diff --git a/drivers/firefox-jetpack/images/icon64.png b/drivers/firefox-sdk/images/icon64.png similarity index 100% rename from drivers/firefox-jetpack/images/icon64.png rename to drivers/firefox-sdk/images/icon64.png diff --git a/drivers/firefox-sdk/lib/driver.js b/drivers/firefox-sdk/lib/driver.js new file mode 100644 index 000000000..a798aa451 --- /dev/null +++ b/drivers/firefox-sdk/lib/driver.js @@ -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(); +}()); diff --git a/drivers/firefox-sdk/locale/de-DE.properties b/drivers/firefox-sdk/locale/de-DE.properties new file mode 100755 index 000000000..4b4c8314a --- /dev/null +++ b/drivers/firefox-sdk/locale/de-DE.properties @@ -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 diff --git a/drivers/firefox-sdk/locale/en-UK.properties b/drivers/firefox-sdk/locale/en-UK.properties new file mode 100755 index 000000000..ce1f53fbf --- /dev/null +++ b/drivers/firefox-sdk/locale/en-UK.properties @@ -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 diff --git a/drivers/firefox-sdk/locale/en-US.properties b/drivers/firefox-sdk/locale/en-US.properties new file mode 100755 index 000000000..ce1f53fbf --- /dev/null +++ b/drivers/firefox-sdk/locale/en-US.properties @@ -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 diff --git a/drivers/firefox-sdk/locale/es-ES.properties b/drivers/firefox-sdk/locale/es-ES.properties new file mode 100755 index 000000000..77dfb7ec7 --- /dev/null +++ b/drivers/firefox-sdk/locale/es-ES.properties @@ -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 diff --git a/drivers/firefox-sdk/locale/fr-FR.properties b/drivers/firefox-sdk/locale/fr-FR.properties new file mode 100644 index 000000000..e00a4da26 --- /dev/null +++ b/drivers/firefox-sdk/locale/fr-FR.properties @@ -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 diff --git a/drivers/firefox-sdk/locale/nl-NL.properties b/drivers/firefox-sdk/locale/nl-NL.properties new file mode 100755 index 000000000..3a2ed07bb --- /dev/null +++ b/drivers/firefox-sdk/locale/nl-NL.properties @@ -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 diff --git a/drivers/firefox-sdk/package.json b/drivers/firefox-sdk/package.json new file mode 100644 index 000000000..cb2974343 --- /dev/null +++ b/drivers/firefox-sdk/package.json @@ -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" +} diff --git a/drivers/firefox-sdk/test/test-main.js b/drivers/firefox-sdk/test/test-main.js new file mode 100644 index 000000000..147f98adf --- /dev/null +++ b/drivers/firefox-sdk/test/test-main.js @@ -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); diff --git a/drivers/firefox/content/js/driver.js b/drivers/firefox/content/js/driver.js index 504fd3a8a..626b69968 100644 --- a/drivers/firefox/content/js/driver.js +++ b/drivers/firefox/content/js/driver.js @@ -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'); } diff --git a/drivers/firefox/install.rdf b/drivers/firefox/install.rdf index 8c6e70184..b7a734571 100644 --- a/drivers/firefox/install.rdf +++ b/drivers/firefox/install.rdf @@ -33,6 +33,6 @@ chrome://wappalyzer/skin/images/icon32.png chrome://wappalyzer/skin/images/icon64.png Elbert Alias - http://wappalyzer.com + https://wappalyzer.com diff --git a/drivers/firefox/skin/images/icons-32/Backbone.js.png b/drivers/firefox/skin/images/icons-32/Backbone.js.png deleted file mode 100644 index e17c0b9c0..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Backbone.js.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Blogger.png b/drivers/firefox/skin/images/icons-32/Blogger.png deleted file mode 100644 index 17bd56bd6..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Blogger.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Google AdSense.png b/drivers/firefox/skin/images/icons-32/Google AdSense.png deleted file mode 100644 index 8169e9683..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Google AdSense.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Google PageSpeed.png b/drivers/firefox/skin/images/icons-32/Google PageSpeed.png deleted file mode 100644 index 8f830f0e4..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Google PageSpeed.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Gravatar.png b/drivers/firefox/skin/images/icons-32/Gravatar.png deleted file mode 100644 index 81617329d..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Gravatar.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Magento.png b/drivers/firefox/skin/images/icons-32/Magento.png deleted file mode 100644 index cd5eee00f..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Magento.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/MathJax.png b/drivers/firefox/skin/images/icons-32/MathJax.png deleted file mode 100644 index 0ad53b380..000000000 Binary files a/drivers/firefox/skin/images/icons-32/MathJax.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Python.png b/drivers/firefox/skin/images/icons-32/Python.png deleted file mode 100644 index 8fabdeb3f..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Python.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Ruby.png b/drivers/firefox/skin/images/icons-32/Ruby.png deleted file mode 100644 index 918cd5a15..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Ruby.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Snap.svg.png b/drivers/firefox/skin/images/icons-32/Snap.svg.png deleted file mode 100644 index df78fc588..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Snap.svg.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Varnish.png b/drivers/firefox/skin/images/icons-32/Varnish.png deleted file mode 100644 index e547d7467..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Varnish.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Vimeo.png b/drivers/firefox/skin/images/icons-32/Vimeo.png deleted file mode 100644 index c18915a4f..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Vimeo.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/Webix.png b/drivers/firefox/skin/images/icons-32/Webix.png deleted file mode 100644 index 0b46bc9de..000000000 Binary files a/drivers/firefox/skin/images/icons-32/Webix.png and /dev/null differ diff --git a/drivers/firefox/skin/images/icons-32/WooCommerce.png b/drivers/firefox/skin/images/icons-32/WooCommerce.png deleted file mode 100644 index 9772015ac..000000000 Binary files a/drivers/firefox/skin/images/icons-32/WooCommerce.png and /dev/null differ diff --git a/links.cmd b/links.cmd index d6a53d307..7b3276dd5 100644 --- a/links.cmd +++ b/links.cmd @@ -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 \ No newline at end of file +mklink /h drivers\php\js\wappalyzer.js share\js\wappalyzer.js diff --git a/links.sh b/links.sh index 8b9beafae..5572552cb 100755 --- a/links.sh +++ b/links.sh @@ -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 diff --git a/package.json b/package.json index 6061f8ac7..d5d5a4b18 100644 --- a/package.json +++ b/package.json @@ -15,5 +15,5 @@ "bugs": { "url": "https://github.com/ElbertF/Wappalyzer/issues" }, - "homepage": "http://wappalyzer.com/" + "homepage": "https://wappalyzer.com/" } diff --git a/share/apps.json b/share/apps.json index c180d67fe..3bd67e598 100644 --- a/share/apps.json +++ b/share/apps.json @@ -1621,7 +1621,7 @@ "cats": [ 5 ], "html": "(?: