From 6417c86dc7f555897f56f562e23ccd97e436b878 Mon Sep 17 00:00:00 2001 From: Elbert Alias Date: Fri, 8 Aug 2014 08:13:33 +1000 Subject: [PATCH] Removed legacy Firefox driver, added RU locale to Chrome, added Tag Managers and Paywalls categories --- drivers/chrome/_locales/en/messages.json | 4 +- drivers/chrome/_locales/es/messages.json | 4 +- drivers/chrome/_locales/fr/messages.json | 4 +- drivers/chrome/_locales/ru/messages.json | 149 +++++++ drivers/chrome/js/driver.js | 2 + drivers/firefox-xul/chrome.manifest | 9 - drivers/firefox-xul/content/js/content.js | 72 ---- drivers/firefox-xul/content/js/driver.js | 375 ------------------ .../firefox-xul/content/xul/preferences.xul | 177 --------- .../firefox-xul/content/xul/wappalyzer.xul | 42 -- .../defaults/preferences/defaults.js | 49 --- drivers/firefox-xul/install.rdf | 38 -- .../firefox-xul/locale/de-DE/wappalyzer.dtd | 60 --- .../locale/de-DE/wappalyzer.properties | 44 -- .../firefox-xul/locale/en-UK/wappalyzer.dtd | 60 --- .../locale/en-UK/wappalyzer.properties | 44 -- .../firefox-xul/locale/en-US/wappalyzer.dtd | 60 --- .../locale/en-US/wappalyzer.properties | 44 -- .../firefox-xul/locale/es-ES/wappalyzer.dtd | 60 --- .../locale/es-ES/wappalyzer.properties | 44 -- .../firefox-xul/locale/fr-FR/wappalyzer.dtd | 60 --- .../locale/fr-FR/wappalyzer.properties | 44 -- .../firefox-xul/locale/nl-NL/wappalyzer.dtd | 59 --- .../locale/nl-NL/wappalyzer.properties | 44 -- drivers/firefox-xul/skin/css/wappalyzer.css | 12 - drivers/firefox-xul/skin/images/feedback.png | Bin 716 -> 0 bytes drivers/firefox-xul/skin/images/github.png | Bin 281 -> 0 bytes drivers/firefox-xul/skin/images/icon.png | Bin 613 -> 0 bytes drivers/firefox-xul/skin/images/icon128.png | Bin 9751 -> 0 bytes drivers/firefox-xul/skin/images/icon32.png | Bin 1445 -> 0 bytes drivers/firefox-xul/skin/images/icon64.png | Bin 4705 -> 0 bytes drivers/firefox-xul/skin/images/icon_hot.png | Bin 634 -> 0 bytes drivers/firefox-xul/skin/images/twitter.png | Bin 373 -> 0 bytes drivers/firefox/lib/driver.js | 2 + drivers/firefox/locale/de-DE.properties | 2 + drivers/firefox/locale/en-GB.properties | 2 + drivers/firefox/locale/en-US.properties | 2 + drivers/firefox/locale/es-ES.properties | 2 + drivers/firefox/locale/fr-FR.properties | 2 + drivers/firefox/locale/nl-NL.properties | 2 + share/apps.json | 6 +- 41 files changed, 178 insertions(+), 1402 deletions(-) create mode 100644 drivers/chrome/_locales/ru/messages.json delete mode 100644 drivers/firefox-xul/chrome.manifest delete mode 100644 drivers/firefox-xul/content/js/content.js delete mode 100644 drivers/firefox-xul/content/js/driver.js delete mode 100755 drivers/firefox-xul/content/xul/preferences.xul delete mode 100755 drivers/firefox-xul/content/xul/wappalyzer.xul delete mode 100644 drivers/firefox-xul/defaults/preferences/defaults.js delete mode 100644 drivers/firefox-xul/install.rdf delete mode 100755 drivers/firefox-xul/locale/de-DE/wappalyzer.dtd delete mode 100755 drivers/firefox-xul/locale/de-DE/wappalyzer.properties delete mode 100755 drivers/firefox-xul/locale/en-UK/wappalyzer.dtd delete mode 100755 drivers/firefox-xul/locale/en-UK/wappalyzer.properties delete mode 100755 drivers/firefox-xul/locale/en-US/wappalyzer.dtd delete mode 100755 drivers/firefox-xul/locale/en-US/wappalyzer.properties delete mode 100755 drivers/firefox-xul/locale/es-ES/wappalyzer.dtd delete mode 100755 drivers/firefox-xul/locale/es-ES/wappalyzer.properties delete mode 100644 drivers/firefox-xul/locale/fr-FR/wappalyzer.dtd delete mode 100644 drivers/firefox-xul/locale/fr-FR/wappalyzer.properties delete mode 100755 drivers/firefox-xul/locale/nl-NL/wappalyzer.dtd delete mode 100755 drivers/firefox-xul/locale/nl-NL/wappalyzer.properties delete mode 100755 drivers/firefox-xul/skin/css/wappalyzer.css delete mode 100644 drivers/firefox-xul/skin/images/feedback.png delete mode 100644 drivers/firefox-xul/skin/images/github.png delete mode 100644 drivers/firefox-xul/skin/images/icon.png delete mode 100644 drivers/firefox-xul/skin/images/icon128.png delete mode 100644 drivers/firefox-xul/skin/images/icon32.png delete mode 100644 drivers/firefox-xul/skin/images/icon64.png delete mode 100644 drivers/firefox-xul/skin/images/icon_hot.png delete mode 100644 drivers/firefox-xul/skin/images/twitter.png diff --git a/drivers/chrome/_locales/en/messages.json b/drivers/chrome/_locales/en/messages.json index c3ada732c..df2429b81 100644 --- a/drivers/chrome/_locales/en/messages.json +++ b/drivers/chrome/_locales/en/messages.json @@ -45,5 +45,7 @@ "categoryName38": { "message": "Media Server" }, "categoryName39": { "message": "Webcam" }, "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "Payment Processor" } + "categoryName41": { "message": "Payment Processor" }, + "categoryName42": { "message": "Tag Manager" }, + "categoryName43": { "message": "Paywall" } } diff --git a/drivers/chrome/_locales/es/messages.json b/drivers/chrome/_locales/es/messages.json index 2793f349f..e9457dc7c 100644 --- a/drivers/chrome/_locales/es/messages.json +++ b/drivers/chrome/_locales/es/messages.json @@ -49,5 +49,7 @@ "categoryName38": { "message": "Media Server" }, "categoryName39": { "message": "Webcam" }, "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "Payment Processor" } + "categoryName41": { "message": "Payment Processor" }, + "categoryName42": { "message": "Tag Manager" }, + "categoryName43": { "message": "Paywall" } } diff --git a/drivers/chrome/_locales/fr/messages.json b/drivers/chrome/_locales/fr/messages.json index 251a7337b..bb585609f 100644 --- a/drivers/chrome/_locales/fr/messages.json +++ b/drivers/chrome/_locales/fr/messages.json @@ -49,5 +49,7 @@ "categoryName38": { "message": "Media Server" }, "categoryName39": { "message": "Webcam" }, "categoryName40": { "message": "Printer" }, - "categoryName41": { "message": "Payment Processor" } + "categoryName41": { "message": "Payment Processor" }, + "categoryName42": { "message": "Tag Manager" }, + "categoryName43": { "message": "Paywall" } } diff --git a/drivers/chrome/_locales/ru/messages.json b/drivers/chrome/_locales/ru/messages.json new file mode 100644 index 000000000..d0190a5c8 --- /dev/null +++ b/drivers/chrome/_locales/ru/messages.json @@ -0,0 +1,149 @@ +{ + "categoryName1": { + "message": "CMS" + }, + "categoryName10": { + "message": "Аналитика" + }, + "categoryName11": { + "message": "Блог" + }, + "categoryName12": { + "message": "JS фреймворк" + }, + "categoryName13": { + "message": "Баг трекер" + }, + "categoryName14": { + "message": "Видео плеер" + }, + "categoryName15": { + "message": "Система комментариев" + }, + "categoryName16": { + "message": "Капча" + }, + "categoryName17": { + "message": "Шрифт" + }, + "categoryName18": { + "message": "Веб фреймворк" + }, + "categoryName19": { + "message": "Прочее" + }, + "categoryName2": { + "message": "Форум" + }, + "categoryName20": { + "message": "HTML редактор" + }, + "categoryName21": { + "message": "LMS" + }, + "categoryName22": { + "message": "Веб сервер" + }, + "categoryName23": { + "message": "Кеширование" + }, + "categoryName24": { + "message": "WYSIWYG редактор" + }, + "categoryName25": { + "message": "JS графика" + }, + "categoryName26": { + "message": "Мобильный фреймворк" + }, + "categoryName27": { + "message": "Язык программирования" + }, + "categoryName28": { + "message": "Операционная система" + }, + "categoryName29": { + "message": "Поисковый движок" + }, + "categoryName3": { + "message": "Менеджер БД" + }, + "categoryName30": { + "message": "Веб почта" + }, + "categoryName31": { + "message": "CDN" + }, + "categoryName32": { + "message": "Управление маркетингом" + }, + "categoryName33": { + "message": "Расширение Веб сервера" + }, + "categoryName34": { + "message": "База данных" + }, + "categoryName35": { + "message": "Карта" + }, + "categoryName36": { + "message": "Рекламная сеть" + }, + "categoryName37": { + "message": "Сетевая служба" + }, + "categoryName38": { + "message": "Медиа сервер" + }, + "categoryName39": { + "message": "Вебкамера" + }, + "categoryName4": { + "message": "Документация" + }, + "categoryName40": { + "message": "Принтер" + }, + "categoryName41": { + "message": "Провайдер платежей" + }, + "categoryName42": { + "message": "Tag Manager" + }, + "categoryName43": { + "message": "Paywall" + }, + "categoryName5": { + "message": "Виджет" + }, + "github": { + "message": "Форкнуть на GitHub!" + }, + "noAppsDetected": { + "message": "Нет данных о сайте" + }, + "nothingToDo": { + "message": "Тут нечего искать" + }, + "optionTracking": { + "message": "Анонимно отправлять статистику распознанных данных на wappalyzer.com (для улучшения расширения)" + }, + "optionUpgradeMessage": { + "message": "Оповещать меня о новых обновлениях" + }, + "options": { + "message": "Настройки Wappalyzer" + }, + "optionsSave": { + "message": "Сохранить" + }, + "optionsSaved": { + "message": "Успешно сохранено!" + }, + "twitter": { + "message": "Следите за новостями в Твиттере" + }, + "website": { + "message": "Перевёл wappalyzer.com" + } +} diff --git a/drivers/chrome/js/driver.js b/drivers/chrome/js/driver.js index 263fdbb3a..d1baeddb2 100644 --- a/drivers/chrome/js/driver.js +++ b/drivers/chrome/js/driver.js @@ -266,6 +266,8 @@ 39, // Webcam 40, // Printer 36, // Advertising Network + 42, // Tag Managers + 43, // Paywalls 19 // Miscellaneous ] }; diff --git a/drivers/firefox-xul/chrome.manifest b/drivers/firefox-xul/chrome.manifest deleted file mode 100644 index cc49ead76..000000000 --- a/drivers/firefox-xul/chrome.manifest +++ /dev/null @@ -1,9 +0,0 @@ -content wappalyzer content/ -locale wappalyzer en-US locale/en-US/ -locale wappalyzer de-DE locale/de-DE/ -locale wappalyzer fr-FR locale/fr-FR/ -locale wappalyzer es-ES locale/es-ES/ -skin wappalyzer classic/1.0 skin/ - -overlay chrome://browser/content/browser.xul chrome://wappalyzer/content/xul/wappalyzer.xul -overlay chrome://navigator/content/navigator.xul chrome://wappalyzer/content/xul/wappalyzer.xul diff --git a/drivers/firefox-xul/content/js/content.js b/drivers/firefox-xul/content/js/content.js deleted file mode 100644 index 876d35f43..000000000 --- a/drivers/firefox-xul/content/js/content.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; - -(function() { - 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-xul/content/js/driver.js b/drivers/firefox-xul/content/js/driver.js deleted file mode 100644 index 504fd3a8a..000000000 --- a/drivers/firefox-xul/content/js/driver.js +++ /dev/null @@ -1,375 +0,0 @@ -/** - * Firefox driver - */ - -(function() { - //'use strict'; - - if ( wappalyzer == null ) return; - - var w = wappalyzer, - firstRun = false, - upgraded = false, - prefs, strings; - - const - d = document, - Cc = Components.classes, - Ci = Components.interfaces - ; - - w.driver = { - lastDisplayed: null, - - /** - * Log messages to console - */ - log: function(args) { - if ( prefs != null && prefs.getBoolPref('debug') ) { - Cc['@mozilla.org/consoleservice;1'].getService(Ci.nsIConsoleService).logStringMessage(args.message); - } - }, - - /** - * Initialize - */ - init: function() { - var handler = function() { - window.removeEventListener('load', handler, false); - - w.log('w.driver: browser window loaded'); - - strings = d.getElementById('wappalyzer-strings'); - - // Read apps.json - var xhr = Cc['@mozilla.org/xmlextras/xmlhttprequest;1'].createInstance(Ci.nsIXMLHttpRequest); - - xhr.overrideMimeType('application/json'); - - xhr.open('GET', 'chrome://wappalyzer/content/apps.json', true); - - xhr.onload = function() { - var json = JSON.parse(xhr.responseText); - - w.categories = json.categories; - w.apps = json.apps; - }; - - xhr.send(null); - - AddonManager.getAddonByID('wappalyzer@crunchlabz.com', function(addon) { - // Preferences - prefs = Cc['@mozilla.org/preferences-service;1'].getService(Ci.nsIPrefService).getBranch('extensions.wappalyzer.'); - - prefs.addObserver('', w.driver, false); - - container(); - - bindings(); - - // Version check - addon.version = addon.version; - - if ( !prefs.getCharPref('version') ) { - firstRun = true; - } else if ( prefs.getCharPref('version') != addon.version ) { - upgraded = true; - } - - prefs.setCharPref('version', addon.version); - - // Listen for messages from content script - messageManager.addMessageListener('wappalyzer', content); - - // Load content script - messageManager.loadFrameScript('chrome://wappalyzer/content/js/content.js', true); - - gBrowser.addProgressListener({ - // Listen for location changes - onLocationChange: function(progress, request, location, flags) { - w.driver.displayApps(); - }, - - // Get response headers - onStateChange: function(progress, request, flags, status) { - if ( !prefs.getBoolPref('analyzeHeaders') ) { return; } - - if ( request != null && flags & Ci.nsIWebProgressListener.STATE_STOP ) { - if ( request.nsIHttpChannel && request.contentType == 'text/html' ) { - if ( progress.currentURI && request.name == progress.currentURI.spec ) { - var headers = {}; - - request.nsIHttpChannel.visitResponseHeaders(function(header, value) { - headers[header.toLowerCase()] = value; - }); - - w.analyze(progress.currentURI.host, progress.currentURI.spec, { headers: headers }); - } - } - } - } - }); - - gBrowser.tabContainer.addEventListener('TabSelect', w.driver.displayApps, false); - - if ( firstRun ) { - w.driver.goToURL({ url: w.config.websiteURL + 'installed', medium: 'install' }); - - firstRun = false; - } - - if ( upgraded ) { - setTimeout(function() { - w.driver.goToURL({ url: w.config.websiteURL + 'upgraded', medium: 'upgrade' }); - }, 500); - - upgraded = false; - } - }); - }; - - window.addEventListener('load', handler, false); - window.addEventListener('unload', w.driver.track, false); - }, - - // Observe preference changes - observe: function(subject, topic, data) { - if ( topic != 'nsPref:changed' ) { return; } - - switch(data) { - case 'addonBar': - container(); - - break; - } - - w.driver.displayApps(); - }, - - /** - * Display apps - */ - displayApps: function() { - var - i, j, app, confidence, elements, menuItem, menuSeparator, image, version, - remove = [], - container = d.getElementById('wappalyzer-container'), - menu = d.getElementById('wappalyzer-applications'), - url = gBrowser.currentURI.spec.split('#')[0] - ; - - if ( !container ) { return; } - - if ( w.detected[url] != null && Object.keys(w.detected[url]).length ) { - // No change - if ( w.driver.lastDisplayed === JSON.stringify(w.detected[url]) ) { return; } - } else { - if ( w.driver.lastDisplayed === 'empty' ) { return; } - } - - elements = { - images: container.getElementsByTagName('image'), - menuItems: menu .getElementsByTagName('menuitem'), - menuSeparators: menu .getElementsByTagName('menuseparator') - }; - - for ( i in elements ) { - for ( j = elements[i].length - 1; j >= 0; j -- ) { - remove.push(elements[i][j]); - } - } - - if ( w.detected[url] != null && Object.keys(w.detected[url]).length ) { - if ( !prefs.getBoolPref('showIcons') ) { - image = d.createElement('image'); - - image.setAttribute('src', 'chrome://wappalyzer/skin/images/icon_hot.png'); - - container.appendChild(image); - } - - for ( app in w.detected[url] ) { - confidence = w.detected[url][app].confidenceTotal; - version = w.detected[url][app].version; - - var j, cat, showCat, categories = []; - - for ( i in w.apps[app].cats ) { - showCat = false; - - try { - showCat = prefs.getBoolPref('cat' + w.apps[app].cats[i]); - } catch(e) { } - - if ( showCat ) { - menuSeparator = d.createElement('menuseparator'); - menuItem = d.createElement('menuitem'); - - menuItem.setAttribute('class', 'wappalyzer-application menuitem-iconic'); - menuItem.setAttribute('image', 'chrome://wappalyzer/skin/images/icons/' + app + '.png'); - menuItem.setAttribute('label', app + ( version ? ' ' + version : '' ) + ( confidence < 100 ? ' (' + confidence + '% sure)' : '' )); - menuItem.setAttribute('name', app); - menuItem.setAttribute('data-url', w.config.websiteURL + 'applications/' + app.toLowerCase().replace(/ /g, '-').replace(/[^\w-]/g, '')); - - menuItem.addEventListener('command', function() { - w.driver.goToURL({ url: this.getAttribute('data-url'), medium: 'menu' }); - }); - - menu.appendChild(menuSeparator); - menu.appendChild(menuItem); - - for ( j in w.apps[app].cats ) { - cat = w.apps[app].cats[j]; - - categories.push(strings.getString('wappalyzer.cat' + cat)); - - menuItem = d.createElement('menuitem'); - - menuItem.setAttribute('class', 'wappalyzer-category'); - menuItem.setAttribute('label', strings.getString('wappalyzer.cat' + cat)); - menuItem.setAttribute('data-url', w.config.websiteURL + 'categories/' + w.categories[cat]); - - menuItem.addEventListener('command', function() { - w.driver.goToURL({ url: this.getAttribute('data-url'), medium: 'menu' }); - }); - - menu.appendChild(menuItem); - } - - if ( prefs.getBoolPref('showIcons') ) { - image = d.createElement('image'); - - image.setAttribute('src', 'chrome://wappalyzer/skin/images/icons/' + app + '.png'); - image.setAttribute('tooltiptext', app + ( version ? ' ' + version : '' ) + ' - ' + categories.join(', ')); - - container.appendChild(image); - } - - break; - } - } - } - - w.driver.lastDisplayed = JSON.stringify(w.detected[url]); - } else { - image = d.createElement('image'); - menuSeparator = d.createElement('menuseparator'); - menuItem = d.createElement('menuitem'); - - image.setAttribute('src', 'chrome://wappalyzer/skin/images/icon.png'); - - menuItem.setAttribute('disabled', 'true'); - menuItem.setAttribute('label', strings.getString('wappalyzer.noAppsDetected')); - - container.appendChild(image); - menu .appendChild(menuSeparator); - menu .appendChild(menuItem); - - w.driver.lastDisplayed = 'empty'; - } - - for ( i in remove ) { - remove[i].parentNode.removeChild(remove[i]); - } - }, - - /** - * Go to URL - */ - goToURL: function(args) { - var url = args.url + ( typeof args.medium === 'undefined' ? '' : '?utm_source=firefox&utm_medium=' + args.medium + '&utm_campaign=extensions'); - - gBrowser.selectedTab = gBrowser.addTab(url); - }, - - /** - * Anonymously track detected applications for research purposes - */ - ping: function() { - if ( Object.keys(w.ping.hostnames).length && prefs.getBoolPref('tracking') ) { - // Make POST request - var request = new XMLHttpRequest(); - - request.open('POST', w.config.websiteURL + 'ping/v2/', true); - - request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); - - request.onreadystatechange = function(e) { - if ( request.readyState == 4 ) { w.log('w.driver.ping: status ' + request.status); } - }; - - request.send('json=' + encodeURIComponent(JSON.stringify(w.ping))); - - w.log('w.driver.ping: ' + JSON.stringify(w.ping)); - - w.ping = { hostnames: {} }; - } - } - }; - - /** - * Content message listener - */ - function content(msg) { - w.log('content.js'); - - switch ( msg.json.action ) { - case 'analyze': - w.analyze(msg.json.hostname, msg.json.url, msg.json.analyze); - - break; - case 'get prefs': - return { - analyzeJavaScript: prefs.getBoolPref('analyzeJavaScript'), - analyzeOnLoad: prefs.getBoolPref('analyzeOnLoad') - }; - - break; - } - - msg = null; - } - - /** - * Move container to address or addon bar - */ - function container() { - if ( prefs.getBoolPref('addonBar') ) { - d.getElementById('wappalyzer-addonbar').appendChild(d.getElementById('wappalyzer-container')); - } else { - d.getElementById('urlbar-icons').insertBefore(d.getElementById('wappalyzer-container'), d.getElementById('urlbar-icons').childNodes[0]); - } - - d.getElementById('wappalyzer-addonbar').setAttribute('collapsed', prefs.getBoolPref('addonBar') ? 'false' : 'true'); - } - - /** - * Bindings - */ - function bindings() { - // Menu items - var prefix = 'wappalyzer-menu-'; - - d.getElementById(prefix + 'preferences').onclick = function() { - w.driver.goToURL({ url: 'chrome://wappalyzer/content/xul/preferences.xul' }) - }; - - d.getElementById(prefix + 'feedback').onclick = function() { - w.driver.goToURL({ url: w.config.websiteURL + 'contact', medium: 'menu' }) - }; - - d.getElementById(prefix + 'website').onclick = function() { - w.driver.goToURL({ url: w.config.websiteURL, medium: 'menu' }) - }; - - d.getElementById(prefix + 'github').onclick = function() { - w.driver.goToURL({ url: w.config.githubURL, medium: 'menu' }) - }; - - d.getElementById(prefix + 'twitter').onclick = function() { - w.driver.goToURL({ url: w.config.twitterURL, medium: 'menu' }) - }; - } - - w.init(); -})(); diff --git a/drivers/firefox-xul/content/xul/preferences.xul b/drivers/firefox-xul/content/xul/preferences.xul deleted file mode 100755 index 3983679d5..000000000 --- a/drivers/firefox-xul/content/xul/preferences.xul +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/drivers/firefox-xul/content/xul/wappalyzer.xul b/drivers/firefox-xul/content/xul/wappalyzer.xul deleted file mode 100755 index b7dd67381..000000000 --- a/drivers/firefox-xul/content/xul/wappalyzer.xul +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -