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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/drivers/firefox-xul/defaults/preferences/defaults.js b/drivers/firefox-xul/defaults/preferences/defaults.js
deleted file mode 100644
index 9057a33c7..000000000
--- a/drivers/firefox-xul/defaults/preferences/defaults.js
+++ /dev/null
@@ -1,49 +0,0 @@
-pref('extensions.wappalyzer.debug', false);
-pref('extensions.wappalyzer.showIcons', true);
-pref('extensions.wappalyzer.tracking', true);
-pref('extensions.wappalyzer.addonBar', false);
-pref('extensions.wappalyzer.version', '');
-pref('extensions.wappalyzer.analyzeHeaders', true);
-pref('extensions.wappalyzer.analyzeJavaScript', true);
-pref('extensions.wappalyzer.analyzeOnLoad', true);
-
-pref('extensions.wappalyzer.cat1', true);
-pref('extensions.wappalyzer.cat2', true);
-pref('extensions.wappalyzer.cat3', true);
-pref('extensions.wappalyzer.cat4', true);
-pref('extensions.wappalyzer.cat5', true);
-pref('extensions.wappalyzer.cat6', true);
-pref('extensions.wappalyzer.cat7', true);
-pref('extensions.wappalyzer.cat8', true);
-pref('extensions.wappalyzer.cat9', true);
-pref('extensions.wappalyzer.cat10', true);
-pref('extensions.wappalyzer.cat11', true);
-pref('extensions.wappalyzer.cat12', true);
-pref('extensions.wappalyzer.cat13', true);
-pref('extensions.wappalyzer.cat14', true);
-pref('extensions.wappalyzer.cat15', true);
-pref('extensions.wappalyzer.cat16', true);
-pref('extensions.wappalyzer.cat17', true);
-pref('extensions.wappalyzer.cat18', true);
-pref('extensions.wappalyzer.cat19', true);
-pref('extensions.wappalyzer.cat20', true);
-pref('extensions.wappalyzer.cat21', true);
-pref('extensions.wappalyzer.cat22', true);
-pref('extensions.wappalyzer.cat23', true);
-pref('extensions.wappalyzer.cat24', true);
-pref('extensions.wappalyzer.cat25', true);
-pref('extensions.wappalyzer.cat26', true);
-pref('extensions.wappalyzer.cat27', true);
-pref('extensions.wappalyzer.cat28', true);
-pref('extensions.wappalyzer.cat29', true);
-pref('extensions.wappalyzer.cat30', true);
-pref('extensions.wappalyzer.cat31', true);
-pref('extensions.wappalyzer.cat32', true);
-pref('extensions.wappalyzer.cat33', true);
-pref('extensions.wappalyzer.cat34', true);
-pref('extensions.wappalyzer.cat35', true);
-pref('extensions.wappalyzer.cat36', true);
-pref('extensions.wappalyzer.cat37', true);
-pref('extensions.wappalyzer.cat38', true);
-pref('extensions.wappalyzer.cat39', true);
-pref('extensions.wappalyzer.cat40', true);
diff --git a/drivers/firefox-xul/install.rdf b/drivers/firefox-xul/install.rdf
deleted file mode 100644
index 5f40707f3..000000000
--- a/drivers/firefox-xul/install.rdf
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
- wappalyzer@crunchlabz.com
- 2.7.8
- 2
- true
-
-
-
-
- {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
- 4.0
- 28.*
-
-
-
-
-
-
- {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
- 2.0
- 2.26.*
-
-
-
- chrome://wappalyzer/content/xul/preferences.xul
- 3
-
- Wappalyzer
- Identifies software on the web.
- chrome://wappalyzer/skin/images/icon32.png
- chrome://wappalyzer/skin/images/icon64.png
- Elbert Alias
- https://wappalyzer.com
-
-
diff --git a/drivers/firefox-xul/locale/de-DE/wappalyzer.dtd b/drivers/firefox-xul/locale/de-DE/wappalyzer.dtd
deleted file mode 100755
index bcac457b8..000000000
--- a/drivers/firefox-xul/locale/de-DE/wappalyzer.dtd
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/drivers/firefox-xul/locale/de-DE/wappalyzer.properties b/drivers/firefox-xul/locale/de-DE/wappalyzer.properties
deleted file mode 100755
index 6d2bd0e14..000000000
--- a/drivers/firefox-xul/locale/de-DE/wappalyzer.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-wappalyzer.name = Wappalyzer
-wappalyzer.noAppsDetected = Keine Applikationen erkannt
-wappalyzer.addonBar = Wappalyzer has been placed in the add-on bar.\n\nTo show the add-on bar, close this window and press Ctrl+/.
-
-wappalyzer.cat1 = CMS
-wappalyzer.cat2 = Message Board
-wappalyzer.cat3 = Database Manager
-wappalyzer.cat4 = Documentation Tool
-wappalyzer.cat5 = Widget
-wappalyzer.cat6 = Web Shop
-wappalyzer.cat7 = Photo Gallery
-wappalyzer.cat8 = Wiki
-wappalyzer.cat9 = Hosting Panel
-wappalyzer.cat10 = Analytics
-wappalyzer.cat11 = Blog
-wappalyzer.cat12 = JavaScript Framework
-wappalyzer.cat13 = Issue Tracker
-wappalyzer.cat14 = Video Player
-wappalyzer.cat15 = Comment System
-wappalyzer.cat16 = CAPTCHA
-wappalyzer.cat17 = Font Script
-wappalyzer.cat18 = Web Framework
-wappalyzer.cat19 = Miscellaneous
-wappalyzer.cat20 = Editor
-wappalyzer.cat21 = LMS
-wappalyzer.cat22 = Web Server
-wappalyzer.cat23 = Cache Tool
-wappalyzer.cat24 = Rich Text Editor
-wappalyzer.cat25 = Javascript Graphics
-wappalyzer.cat26 = Mobile Framework
-wappalyzer.cat27 = Programming Language
-wappalyzer.cat28 = Operating System
-wappalyzer.cat29 = Search Engine
-wappalyzer.cat30 = Web mail
-wappalyzer.cat31 = CDN
-wappalyzer.cat32 = Marketing Automation
-wappalyzer.cat33 = Web Server Extension
-wappalyzer.cat34 = Database
-wappalyzer.cat35 = Map
-wappalyzer.cat36 = Advertizing Network
-wappalyzer.cat37 = Network Device
-wappalyzer.cat38 = Media Server
-wappalyzer.cat39 = Webcam
-wappalyzer.cat40 = Printer
diff --git a/drivers/firefox-xul/locale/en-UK/wappalyzer.dtd b/drivers/firefox-xul/locale/en-UK/wappalyzer.dtd
deleted file mode 100755
index d7070941c..000000000
--- a/drivers/firefox-xul/locale/en-UK/wappalyzer.dtd
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/drivers/firefox-xul/locale/en-UK/wappalyzer.properties b/drivers/firefox-xul/locale/en-UK/wappalyzer.properties
deleted file mode 100755
index e87959999..000000000
--- a/drivers/firefox-xul/locale/en-UK/wappalyzer.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-wappalyzer.name = Wappalyzer
-wappalyzer.noAppsDetected = No applications detected
-wappalyzer.addonBar = Wappalyzer has been placed in the add-on bar.\n\nTo show the add-on bar, close this window and press Ctrl+/.
-
-wappalyzer.cat1 = CMS
-wappalyzer.cat2 = Message Board
-wappalyzer.cat3 = Database Manager
-wappalyzer.cat4 = Documentation Tool
-wappalyzer.cat5 = Widget
-wappalyzer.cat6 = eCommerce
-wappalyzer.cat7 = Photo Gallery
-wappalyzer.cat8 = Wiki
-wappalyzer.cat9 = Hosting Panel
-wappalyzer.cat10 = Analytics
-wappalyzer.cat11 = Blog
-wappalyzer.cat12 = JavaScript Framework
-wappalyzer.cat13 = Issue Tracker
-wappalyzer.cat14 = Video Player
-wappalyzer.cat15 = Comment System
-wappalyzer.cat16 = CAPTCHA
-wappalyzer.cat17 = Font Script
-wappalyzer.cat18 = Web Framework
-wappalyzer.cat19 = Miscellaneous
-wappalyzer.cat20 = Editor
-wappalyzer.cat21 = LMS
-wappalyzer.cat22 = Web Server
-wappalyzer.cat23 = Cache Tool
-wappalyzer.cat24 = Rich Text Editor
-wappalyzer.cat25 = Javascript Graphics
-wappalyzer.cat26 = Mobile Framework
-wappalyzer.cat27 = Programming Language
-wappalyzer.cat28 = Operating System
-wappalyzer.cat29 = Search Engine
-wappalyzer.cat30 = Web Mail
-wappalyzer.cat31 = CDN
-wappalyzer.cat32 = Marketing Automation
-wappalyzer.cat33 = Web Server Extension
-wappalyzer.cat34 = Database
-wappalyzer.cat35 = Map
-wappalyzer.cat36 = Advertising Network
-wappalyzer.cat37 = Network Device
-wappalyzer.cat38 = Media Server
-wappalyzer.cat39 = Webcam
-wappalyzer.cat40 = Printer
diff --git a/drivers/firefox-xul/locale/en-US/wappalyzer.dtd b/drivers/firefox-xul/locale/en-US/wappalyzer.dtd
deleted file mode 100755
index d7070941c..000000000
--- a/drivers/firefox-xul/locale/en-US/wappalyzer.dtd
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/drivers/firefox-xul/locale/en-US/wappalyzer.properties b/drivers/firefox-xul/locale/en-US/wappalyzer.properties
deleted file mode 100755
index e87959999..000000000
--- a/drivers/firefox-xul/locale/en-US/wappalyzer.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-wappalyzer.name = Wappalyzer
-wappalyzer.noAppsDetected = No applications detected
-wappalyzer.addonBar = Wappalyzer has been placed in the add-on bar.\n\nTo show the add-on bar, close this window and press Ctrl+/.
-
-wappalyzer.cat1 = CMS
-wappalyzer.cat2 = Message Board
-wappalyzer.cat3 = Database Manager
-wappalyzer.cat4 = Documentation Tool
-wappalyzer.cat5 = Widget
-wappalyzer.cat6 = eCommerce
-wappalyzer.cat7 = Photo Gallery
-wappalyzer.cat8 = Wiki
-wappalyzer.cat9 = Hosting Panel
-wappalyzer.cat10 = Analytics
-wappalyzer.cat11 = Blog
-wappalyzer.cat12 = JavaScript Framework
-wappalyzer.cat13 = Issue Tracker
-wappalyzer.cat14 = Video Player
-wappalyzer.cat15 = Comment System
-wappalyzer.cat16 = CAPTCHA
-wappalyzer.cat17 = Font Script
-wappalyzer.cat18 = Web Framework
-wappalyzer.cat19 = Miscellaneous
-wappalyzer.cat20 = Editor
-wappalyzer.cat21 = LMS
-wappalyzer.cat22 = Web Server
-wappalyzer.cat23 = Cache Tool
-wappalyzer.cat24 = Rich Text Editor
-wappalyzer.cat25 = Javascript Graphics
-wappalyzer.cat26 = Mobile Framework
-wappalyzer.cat27 = Programming Language
-wappalyzer.cat28 = Operating System
-wappalyzer.cat29 = Search Engine
-wappalyzer.cat30 = Web Mail
-wappalyzer.cat31 = CDN
-wappalyzer.cat32 = Marketing Automation
-wappalyzer.cat33 = Web Server Extension
-wappalyzer.cat34 = Database
-wappalyzer.cat35 = Map
-wappalyzer.cat36 = Advertising Network
-wappalyzer.cat37 = Network Device
-wappalyzer.cat38 = Media Server
-wappalyzer.cat39 = Webcam
-wappalyzer.cat40 = Printer
diff --git a/drivers/firefox-xul/locale/es-ES/wappalyzer.dtd b/drivers/firefox-xul/locale/es-ES/wappalyzer.dtd
deleted file mode 100755
index 199cd2020..000000000
--- a/drivers/firefox-xul/locale/es-ES/wappalyzer.dtd
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/drivers/firefox-xul/locale/es-ES/wappalyzer.properties b/drivers/firefox-xul/locale/es-ES/wappalyzer.properties
deleted file mode 100755
index b9619d71a..000000000
--- a/drivers/firefox-xul/locale/es-ES/wappalyzer.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-wappalyzer.name = Wappalyzer
-wappalyzer.noAppsDetected = Aplicaciones no detectadas
-wappalyzer.addonBar = Wappalyzer se ha colocado en la barra de complementos.\n\nPara mostrar la barra de complementos, cierra esta ventana y pulsa Ctrl+/.
-
-wappalyzer.cat1 = Gestor de Contenido
-wappalyzer.cat2 = Foro
-wappalyzer.cat3 = estor de Bases de Datos
-wappalyzer.cat4 = Herramienta de Documentación
-wappalyzer.cat5 = Widget
-wappalyzer.cat6 = Tienda Web
-wappalyzer.cat7 = Galería fotográfica
-wappalyzer.cat8 = Wiki
-wappalyzer.cat9 = Panel de Hosting
-wappalyzer.cat10 = Analítica
-wappalyzer.cat11 = Blog
-wappalyzer.cat12 = Framework JavaScript
-wappalyzer.cat13 = Gestor de Incidencias
-wappalyzer.cat14 = Reproductor de Vídeo
-wappalyzer.cat15 = Sistema de Comentarios
-wappalyzer.cat16 = CAPTCHA
-wappalyzer.cat17 = Tipografía
-wappalyzer.cat18 = Framework Web
-wappalyzer.cat19 = Miscelánea
-wappalyzer.cat20 = Editor
-wappalyzer.cat21 = LMS
-wappalyzer.cat22 = Servidor Web
-wappalyzer.cat23 = Herramienta de Cache
-wappalyzer.cat24 = Editor de Texto Enriquecido
-wappalyzer.cat25 = Gráficos Javascript
-wappalyzer.cat26 = Framework Móvil
-wappalyzer.cat27 = Lenguaje de programación
-wappalyzer.cat28 = Sistema Operativo
-wappalyzer.cat29 = Motor de Búsqueda
-wappalyzer.cat30 = Correo Web
-wappalyzer.cat31 = CDN
-wappalyzer.cat32 = Automatización de Marketing
-wappalyzer.cat33 = Extensión de Servidor Web
-wappalyzer.cat34 = Base de Datos
-wappalyzer.cat35 = Mapa
-wappalyzer.cat36 = Red de Publicidad
-wappalyzer.cat37 = Dispositivo de Red
-wappalyzer.cat38 = Servidores de Contenido
-wappalyzer.cat39 = Webcam
-wappalyzer.cat40 = Impresora
diff --git a/drivers/firefox-xul/locale/fr-FR/wappalyzer.dtd b/drivers/firefox-xul/locale/fr-FR/wappalyzer.dtd
deleted file mode 100644
index 49de73c37..000000000
--- a/drivers/firefox-xul/locale/fr-FR/wappalyzer.dtd
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/drivers/firefox-xul/locale/fr-FR/wappalyzer.properties b/drivers/firefox-xul/locale/fr-FR/wappalyzer.properties
deleted file mode 100644
index 6b9d4f355..000000000
--- a/drivers/firefox-xul/locale/fr-FR/wappalyzer.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-wappalyzer.name = Wappalyzer
-wappalyzer.noAppsDetected = Pas d'applications détectées
-wappalyzer.addonBar = Wappalyzer a été placé dans la barre des modules.\n\n Pour voir la barre des modules pressez Ctrl+/ ou Cmd+/.
-
-wappalyzer.cat1 = CMS
-wappalyzer.cat2 = Forum
-wappalyzer.cat3 = Gestionnaire de base de données
-wappalyzer.cat4 = Outil de documentation
-wappalyzer.cat5 = Widget
-wappalyzer.cat6 = Boutique en ligne
-wappalyzer.cat7 = Galerie photo
-wappalyzer.cat8 = Wiki
-wappalyzer.cat9 = Gestionnaires de serveur
-wappalyzer.cat10 = Outil de statistiques
-wappalyzer.cat11 = Blog
-wappalyzer.cat12 = Framework JavaScript
-wappalyzer.cat13 = Outils de suivi de problèmes
-wappalyzer.cat14 = Lecteur de vidéos
-wappalyzer.cat15 = Système de commentaires
-wappalyzer.cat16 = CAPTCHA
-wappalyzer.cat17 = Script de police
-wappalyzer.cat18 = Framework web
-wappalyzer.cat19 = Divers
-wappalyzer.cat20 = Editeur
-wappalyzer.cat21 = LMS
-wappalyzer.cat22 = Serveur web
-wappalyzer.cat23 = Outil de cache
-wappalyzer.cat24 = Editeur WYSIWYG
-wappalyzer.cat25 = Graphismes JavaScript
-wappalyzer.cat26 = Framework pour mobiles
-wappalyzer.cat27 = Language de programmation
-wappalyzer.cat28 = Système d'exploitation
-wappalyzer.cat29 = Moteur de recherche
-wappalyzer.cat30 = Web Mail
-wappalyzer.cat31 = CDN
-wappalyzer.cat32 = Logiciel de marketing
-wappalyzer.cat33 = Web Server Extension
-wappalyzer.cat34 = Database
-wappalyzer.cat35 = Map
-wappalyzer.cat36 = Advertizing Network
-wappalyzer.cat37 = Network Device
-wappalyzer.cat38 = Media Server
-wappalyzer.cat39 = Webcam
-wappalyzer.cat40 = Printer
diff --git a/drivers/firefox-xul/locale/nl-NL/wappalyzer.dtd b/drivers/firefox-xul/locale/nl-NL/wappalyzer.dtd
deleted file mode 100755
index 03b3ddfc2..000000000
--- a/drivers/firefox-xul/locale/nl-NL/wappalyzer.dtd
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/drivers/firefox-xul/locale/nl-NL/wappalyzer.properties b/drivers/firefox-xul/locale/nl-NL/wappalyzer.properties
deleted file mode 100755
index fe1b359bd..000000000
--- a/drivers/firefox-xul/locale/nl-NL/wappalyzer.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-wappalyzer.name = Wappalyzer
-wappalyzer.noAppsDetected = Geen applications gedetecteerd
-wappalyzer.addonBar = Wappalyzer is in de add-on balk geplaatst. Om de add-on te laten zien, sluit dit bericht en druk Ctrl+/.
-
-wappalyzer.cat1 = CMS
-wappalyzer.cat2 = Forum
-wappalyzer.cat3 = Database Manager
-wappalyzer.cat4 = Documentatie Tool
-wappalyzer.cat5 = Widget
-wappalyzer.cat6 = Web Winkel
-wappalyzer.cat7 = Photo Gallerij
-wappalyzer.cat8 = Wiki
-wappalyzer.cat9 = Hosting Paneel
-wappalyzer.cat10 = Analytics
-wappalyzer.cat11 = Blog
-wappalyzer.cat12 = JavaScript Framework
-wappalyzer.cat13 = Issue Tracker
-wappalyzer.cat14 = Video Speler
-wappalyzer.cat15 = Comment Systeem
-wappalyzer.cat16 = CAPTCHA
-wappalyzer.cat17 = Font Script
-wappalyzer.cat18 = Web Framework
-wappalyzer.cat19 = Overige
-wappalyzer.cat20 = Editor
-wappalyzer.cat21 = LMS
-wappalyzer.cat22 = Web Server
-wappalyzer.cat23 = Cache Tool
-wappalyzer.cat24 = Rich Text Editor
-wappalyzer.cat25 = Javascript Graphics
-wappalyzer.cat26 = Mobiel Framework
-wappalyzer.cat27 = Programmeer Taal
-wappalyzer.cat28 = Operating System
-wappalyzer.cat29 = Zoek Machine
-wappalyzer.cat30 = Web Mail
-wappalyzer.cat31 = CDN
-wappalyzer.cat32 = Marketing Automatisering
-wappalyzer.cat33 = Web Server Extentie
-wappalyzer.cat34 = Database
-wappalyzer.cat35 = Landkaart
-wappalyzer.cat36 = Advertentie Netwerk
-wappalyzer.cat37 = Network Apparaat
-wappalyzer.cat38 = Media Server
-wappalyzer.cat39 = Webcam
-wappalyzer.cat40 = Printer
diff --git a/drivers/firefox-xul/skin/css/wappalyzer.css b/drivers/firefox-xul/skin/css/wappalyzer.css
deleted file mode 100755
index fb8a35089..000000000
--- a/drivers/firefox-xul/skin/css/wappalyzer.css
+++ /dev/null
@@ -1,12 +0,0 @@
-#wappalyzer-container {
- margin: 0 3px;
-}
-
- #wappalyzer-container > image {
- height: 16px;
- margin-left: 3px;
- }
-
-menuitem.wappalyzer-application {
- font-weight: bold;
-}
diff --git a/drivers/firefox-xul/skin/images/feedback.png b/drivers/firefox-xul/skin/images/feedback.png
deleted file mode 100644
index abe7c8f58..000000000
Binary files a/drivers/firefox-xul/skin/images/feedback.png and /dev/null differ
diff --git a/drivers/firefox-xul/skin/images/github.png b/drivers/firefox-xul/skin/images/github.png
deleted file mode 100644
index 037d0c336..000000000
Binary files a/drivers/firefox-xul/skin/images/github.png and /dev/null differ
diff --git a/drivers/firefox-xul/skin/images/icon.png b/drivers/firefox-xul/skin/images/icon.png
deleted file mode 100644
index 7ad880fcc..000000000
Binary files a/drivers/firefox-xul/skin/images/icon.png and /dev/null differ
diff --git a/drivers/firefox-xul/skin/images/icon128.png b/drivers/firefox-xul/skin/images/icon128.png
deleted file mode 100644
index 0e1e1fb0c..000000000
Binary files a/drivers/firefox-xul/skin/images/icon128.png and /dev/null differ
diff --git a/drivers/firefox-xul/skin/images/icon32.png b/drivers/firefox-xul/skin/images/icon32.png
deleted file mode 100644
index 96cceb6f6..000000000
Binary files a/drivers/firefox-xul/skin/images/icon32.png and /dev/null differ
diff --git a/drivers/firefox-xul/skin/images/icon64.png b/drivers/firefox-xul/skin/images/icon64.png
deleted file mode 100644
index 1954d72c1..000000000
Binary files a/drivers/firefox-xul/skin/images/icon64.png and /dev/null differ
diff --git a/drivers/firefox-xul/skin/images/icon_hot.png b/drivers/firefox-xul/skin/images/icon_hot.png
deleted file mode 100644
index 06464af29..000000000
Binary files a/drivers/firefox-xul/skin/images/icon_hot.png and /dev/null differ
diff --git a/drivers/firefox-xul/skin/images/twitter.png b/drivers/firefox-xul/skin/images/twitter.png
deleted file mode 100644
index e20284ddf..000000000
Binary files a/drivers/firefox-xul/skin/images/twitter.png and /dev/null differ
diff --git a/drivers/firefox/lib/driver.js b/drivers/firefox/lib/driver.js
index 869af279c..ff444a92d 100644
--- a/drivers/firefox/lib/driver.js
+++ b/drivers/firefox/lib/driver.js
@@ -476,6 +476,8 @@
39, // Webcam
40, // Printer
36, // Advertising Network
+ 42, // Tag Managers
+ 43, // Paywalls
19 // Miscellaneous
]
};
diff --git a/drivers/firefox/locale/de-DE.properties b/drivers/firefox/locale/de-DE.properties
index 0ecf54083..1b938fd95 100755
--- a/drivers/firefox/locale/de-DE.properties
+++ b/drivers/firefox/locale/de-DE.properties
@@ -55,3 +55,5 @@ cat38 = Media Server
cat39 = Webcam
cat40 = Printer
cat41 = Payment Processor
+cat42 = Tag Manager
+cat43 = Paywall
diff --git a/drivers/firefox/locale/en-GB.properties b/drivers/firefox/locale/en-GB.properties
index 98f635d45..487405e65 100755
--- a/drivers/firefox/locale/en-GB.properties
+++ b/drivers/firefox/locale/en-GB.properties
@@ -55,3 +55,5 @@ cat38 = Media Server
cat39 = Webcam
cat40 = Printer
cat41 = Payment Processor
+cat42 = Tag Manager
+cat43 = Paywall
diff --git a/drivers/firefox/locale/en-US.properties b/drivers/firefox/locale/en-US.properties
index 98f635d45..487405e65 100755
--- a/drivers/firefox/locale/en-US.properties
+++ b/drivers/firefox/locale/en-US.properties
@@ -55,3 +55,5 @@ cat38 = Media Server
cat39 = Webcam
cat40 = Printer
cat41 = Payment Processor
+cat42 = Tag Manager
+cat43 = Paywall
diff --git a/drivers/firefox/locale/es-ES.properties b/drivers/firefox/locale/es-ES.properties
index fc1862a79..5c66522b5 100755
--- a/drivers/firefox/locale/es-ES.properties
+++ b/drivers/firefox/locale/es-ES.properties
@@ -55,3 +55,5 @@ cat38 = Servidores de Contenido
cat39 = Webcam
cat40 = Impresora
cat41 = Payment Processor
+cat42 = Tag Manager
+cat43 = Paywall
diff --git a/drivers/firefox/locale/fr-FR.properties b/drivers/firefox/locale/fr-FR.properties
index df6f8ca50..f2ac72343 100644
--- a/drivers/firefox/locale/fr-FR.properties
+++ b/drivers/firefox/locale/fr-FR.properties
@@ -55,3 +55,5 @@ cat38 = Serveur multimédia
cat39 = Webcam
cat40 = Imprimante
cat41 = Service de paiement
+cat42 = Tag Manager
+cat43 = Paywall
diff --git a/drivers/firefox/locale/nl-NL.properties b/drivers/firefox/locale/nl-NL.properties
index 5d8b68fa8..a210a7c58 100755
--- a/drivers/firefox/locale/nl-NL.properties
+++ b/drivers/firefox/locale/nl-NL.properties
@@ -55,3 +55,5 @@ cat38 = Media Server
cat39 = Webcam
cat40 = Printer
cat41 = Betalingsverwerker
+cat42 = Tag Manager
+cat43 = Paywall
diff --git a/share/apps.json b/share/apps.json
index 504dc66f9..252859746 100644
--- a/share/apps.json
+++ b/share/apps.json
@@ -40,7 +40,9 @@
"38": "media-servers",
"39": "webcams",
"40": "printers",
- "41": "payment-processors"
+ "41": "payment-processors",
+ "42": "tag-managers",
+ "43": "paywalls"
},
"apps": {
"1C-Bitrix": {
@@ -1198,7 +1200,7 @@
},
"Google Tag Manager": {
"website": "www.google.com/tagmanager",
- "cats": [ 19 ],
+ "cats": [ 42 ],
"html": "googletagmanager\\.com/ns\\.html[^>]+>",
"env": "^googletag$"
},