From 2efdf4e8af2503f4aaf587f87bc3265542215a08 Mon Sep 17 00:00:00 2001 From: Elbert Alias Date: Mon, 10 Feb 2014 08:06:02 +1100 Subject: [PATCH] Firefox SDK driver progress --- drivers/chrome/manifest.json | 2 +- drivers/firefox-sdk/data/images/icon32.png | Bin 1660 -> 1899 bytes .../firefox-sdk/data/images/icon32_hot.png | Bin 1629 -> 1629 bytes drivers/firefox-sdk/images/icon128.png | Bin 9751 -> 10098 bytes drivers/firefox-sdk/images/icon128_hot.png | Bin 0 -> 9751 bytes drivers/firefox-sdk/images/icon48.png | Bin 2916 -> 3439 bytes drivers/firefox-sdk/images/icon48_hot.png | Bin 0 -> 2916 bytes drivers/firefox-sdk/images/icon64.png | Bin 4705 -> 5152 bytes drivers/firefox-sdk/images/icon64_hot.png | Bin 0 -> 4705 bytes drivers/firefox-sdk/lib/driver.js | 40 ++++--- drivers/firefox-sdk/locale/de-DE.properties | 104 ++++++++++-------- drivers/firefox-sdk/locale/en-GB.properties | 104 ++++++++++-------- drivers/firefox-sdk/locale/en-US.properties | 104 ++++++++++-------- drivers/firefox-sdk/locale/es-ES.properties | 104 ++++++++++-------- drivers/firefox-sdk/locale/fr-FR.properties | 104 ++++++++++-------- drivers/firefox-sdk/locale/nl-NL.properties | 104 ++++++++++-------- drivers/firefox-sdk/package.json | 15 ++- drivers/firefox/install.rdf | 4 +- share/js/wappalyzer.js | 2 +- 19 files changed, 405 insertions(+), 282 deletions(-) create mode 100644 drivers/firefox-sdk/images/icon128_hot.png create mode 100644 drivers/firefox-sdk/images/icon48_hot.png create mode 100644 drivers/firefox-sdk/images/icon64_hot.png diff --git a/drivers/chrome/manifest.json b/drivers/chrome/manifest.json index 4ce60b463..b6957a52a 100644 --- a/drivers/chrome/manifest.json +++ b/drivers/chrome/manifest.json @@ -1,7 +1,7 @@ { "name": "Wappalyzer", "homepage_url": "https://wappalyzer.com?utm_source=chrome&utm_medium=context&utm_campaign=extensions", "description": "Identifies software on the web", - "version": "2.27", + "version": "2.29", "default_locale": "en", "manifest_version": 2, "icons": { diff --git a/drivers/firefox-sdk/data/images/icon32.png b/drivers/firefox-sdk/data/images/icon32.png index 37a4df7b7c5fbecef0430c4acb9a3d115ab05fc9..7a9f9fe98327da1b731d3ec64f8ff08fb9fd4046 100644 GIT binary patch delta 1837 zcmV+|2h#Zb4C@Y%Q-28s1_oN%3rzq32KY%tK~z}7)t6nUTvrvxe|zn7&OMWv`yFGh z`M|a|p-n-dRKYxm2`NpO7nV!^lfo#LT;Z)zrwob%@8(?tr{b*bGpDBOoi=RfR}?F!(- z2@=;^;ZLbGkALQw{H!-{ugVDEjhuEIytyp>UC!&h zPT7G6#Rp@?Pa(^I8%@e@yiqfC^)K5;Vp85K% zzH#8tNxwx5pB@%|&*egI_jr1#8x|l>xUX%@6A3`~a@i{?SZt@fVa|}`uz*Ds1_e~k1A?^%RgZ|l8YtZ) zRKbD-NHYy{)*9M5v@=+4!%{1NGxRWa0o(*&#!9!S9Q{$rs1z33mX$d}rvn=WMx|l3 z52F%NYnsTi)HLbw5d-fbOJQZv(8(cBp_7F9fqx700M>H8alnY_HGDKM7%8thVPRxw zWsq9fv=|Jm4qz|}`Iq_xh0?)n3zpg;;+YhT3F#cT=pk2d<3i&A(Ditn8mN>c5yqvm zrowAI2N)Jwmiabpn1g%~&i0@;3~XQS!1^}W6eN;xT!!3RdnG5El*tqV3oX00HmCxt zHGh;D&ZDAug+bxyjVjs$%i17eu?@?!uyGzznFLolC>)d;piZt~JdTTv1KnZO7nw+# znlRy`GwMA~mHrS)rwj_q`JS+0&ah=U>?&PYKaP1$?X|VvLs=Dr; z!Kp_~P(9~itV&e~&Q%PpVK&bgmSJNR%YV&lFk);FD`RK`N@MvNxR_e1M!2$6D&Ud< zTtL53JR^{%AWRGGL6$tsO92a$}J$m)1n?k`rVui#^bv!1-vjR4m)V<-#&Pn7>eC&Frq`0UYKu^Sw zA&7*Hl?!mzPNV{bwTSmP=bH#?xPQe&M`Qx6m`GH2g$l0fbP6Io9yl<)?0q{<7&;tSMsXQc+X{GaEltev?RLVb{<-&UmquxSb?gGWb}U`}yWo+7r+Hxa=H~Y|_V6GmcZtvgnyO!z-~N@O8(Is@nCQ0_Z~Sp?0#WSTLGSVxy#ON3;+4IVLiV5 z)L+=OV}W4&eAd zFZ0pwyugvKz2m?8f_>zdr<>9c3~ bzZm}lk_&!!gJ-(N00000NkvXXu0mjfyM~xn delta 1596 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 P00000NkvXXu0mjfyc&M3 literal 2916 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 keQHjX;St}Q7XXx-%zUr=-N!j+@3s76?|sfb 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 O0000Qd>}P$S|NZkh&-2b%Xoarhb;bV&ee-wT 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 diff --git a/drivers/firefox-sdk/images/icon64_hot.png b/drivers/firefox-sdk/images/icon64_hot.png new file mode 100644 index 0000000000000000000000000000000000000000..1954d72c1d332ea81cae7950f0ae65f312fa0bf7 GIT binary patch literal 4705 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 literal 0 HcmV?d00001 diff --git a/drivers/firefox-sdk/lib/driver.js b/drivers/firefox-sdk/lib/driver.js index 761fb6ab6..9271d3126 100644 --- a/drivers/firefox-sdk/lib/driver.js +++ b/drivers/firefox-sdk/lib/driver.js @@ -10,6 +10,7 @@ categoryNames = {}, data = require('sdk/self').data, ss = require('sdk/simple-storage'), + sp = require("sdk/simple-prefs"), tabs = require('sdk/tabs'), panel = require('sdk/panel').Panel({ width: 250, @@ -22,7 +23,26 @@ label: 'Wappalyzer', contentURL: data.url('images/icon32.png'), panel: panel + }), + initTab; + + initTab = function(tab) { + var worker = tab.attach({ + contentScriptFile: data.url('js/tab.js') + }); + + worker.port.on('analyze', function(message) { + if ( headersCache[tab.url] !== undefined ) { + message.analyze.headers = headersCache[tab.url]; + } + + w.analyze(message.hostname, message.url, message.analyze); + }); + + worker.port.on('log', function(message) { + w.log('[ tab.js ] ' + message); }); + } tabs.on('open', function(tab) { tabCache[tab.id] = { count: 0, appsDetected: [] }; @@ -36,21 +56,7 @@ 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) { - if ( headersCache[tab.url] !== undefined ) { - message.analyze.headers = headersCache[tab.url]; - } - - w.analyze(message.hostname, message.url, message.analyze); - }); - - worker.port.on('log', function(message) { - w.log('[ tab.js ] ' + message); - }); + initTab(tab); }); }); @@ -93,6 +99,8 @@ for each ( var tab in tabs ) { tabCache[tab.id] = { count: 0, appsDetected: [] }; + + initTab(tab); } var httpRequestObserver = { @@ -175,7 +183,7 @@ ping: function() { var Request = require('sdk/request').Request; - if ( Object.keys(w.ping.hostnames).length ) { + if ( Object.keys(w.ping.hostnames).length && sp.prefs.tracking ) { Request({ url: w.config.websiteURL + 'ping/v2/', content: { json: encodeURIComponent(JSON.stringify(w.ping)) }, diff --git a/drivers/firefox-sdk/locale/de-DE.properties b/drivers/firefox-sdk/locale/de-DE.properties index 4b4c8314a..9269fedd1 100755 --- a/drivers/firefox-sdk/locale/de-DE.properties +++ b/drivers/firefox-sdk/locale/de-DE.properties @@ -1,44 +1,62 @@ -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+/. +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+/. +help = Wappalyzer - klicken für Details und Einstellungen -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 +showIcons = Applikations-Icons zeigen +preferences = Weitere Optionen ... +addonBar = In Addon-Leiste platzieren (Ctrl+/ oder Cmd+/) +categories = Kategorienverwaltung +performance = Performance +interface = Interface +tracking_title = Tracken +tracking_description = Sende anonyme Reports über gefundene Applikationen zu Forschungszwecken an wappalyzer.com +analyzeHeaders = Analyze response headers +analyzeJavaScript = Analyze JavaScript +analyzeOnload = Analyze onLoad events + +feedback = Feedback +github = Github +twitter = Twitter +website = Zu wappalyzer.com browsen + +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-GB.properties b/drivers/firefox-sdk/locale/en-GB.properties index ce1f53fbf..ec9648a1e 100755 --- a/drivers/firefox-sdk/locale/en-GB.properties +++ b/drivers/firefox-sdk/locale/en-GB.properties @@ -1,44 +1,62 @@ -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+/. +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+/. +help = Wappalyzer - Click for more detail and settings -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 +showIcons = Show application icons +preferences = Options +addonBar = Place in addon-bar (press Ctrl+/ or Cmd+/ to toggle) +categories = Categories +performance = Performance +interface = Interface +tracking_title = Tracking +tracking_description = Anonymously send reports on detected applications to wappalyzer.com for analysis +analyzeHeaders = Analyze response headers +analyzeJavaScript = Analyze JavaScript +analyzeOnload = Analyze onLoad events + +feedback = Feedback +github = Github +twitter = Twitter +website = Go to wappalyzer.com + +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 index ce1f53fbf..2b5f958a4 100755 --- a/drivers/firefox-sdk/locale/en-US.properties +++ b/drivers/firefox-sdk/locale/en-US.properties @@ -1,44 +1,62 @@ -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+/. +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+/. +help = Wappalyzer - Click for more detail and settings -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 +showIcons = Show application icons +preferences = Options +addonBar = Place in addon-bar (press Ctrl+/ or Cmd+/ to toggle) +categories = Categories +performance = Performance +interface = Interface +tracking_title = Tracking +research_description = Anonymously send reports on detected applications to wappalyzer.com for analysis +analyzeHeaders = Analyze response headers +analyzeJavaScript = Analyze JavaScript +analyzeOnload = Analyze onLoad events + +feedback = Feedback +github = Github +twitter = Twitter +website = Go to wappalyzer.com + +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 index 77dfb7ec7..f206eee3b 100755 --- a/drivers/firefox-sdk/locale/es-ES.properties +++ b/drivers/firefox-sdk/locale/es-ES.properties @@ -1,44 +1,62 @@ -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+/. +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+/. +help = Wappalyzer - Clic para mas detalles y configuración -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 +showIcons = Mostrar iconos de aplicaciones +preferences = Opciones +addonBar = Colocar en barra de complementos (pulsa Ctrl+/ o Cmd+/ para alternar) +categories = Categorías +performance = Rendimiento +interface = Interfaz +tracking_title = Seguimiento +tracking_description = Enviar informes anónimos sobre las aplicaciones detectadas a wappalyzer.com para análisis +analyzeHeaders = Analizar cabeceras de respuesta +analyzeJavaScript = Analizar JavaScript +analyzeOnload = Analizar eventos onLoad + +feedback = Opinión +github = Github +twitter = Twitter +website = Ir a wappalyzer.com + +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 index e00a4da26..1737a8eeb 100644 --- a/drivers/firefox-sdk/locale/fr-FR.properties +++ b/drivers/firefox-sdk/locale/fr-FR.properties @@ -1,44 +1,62 @@ -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+/. +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+/. +help = Wappalyzer - Cliquer pour plus de détails et options -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 +showIcons = Montrer les icônes des applications +preferences = Plus d'options... +addonBar = Placer dans la barre des modules (Ctrl+/) +categories = Gérer les catégories +performance = Performance +interface = Interface +tracking_title = Traçage +tracking_description = Envoyer anonymement des rapports sur les applications détectées à wappalyzer.com pour la recherche +analyzeHeaders = Analyser les headers +analyzeJavaScript = Analyser le JavaScript +analyzeOnload = Analyser les évènements au chargement + +feedback = Donner votre avis +github = Github +twitter = Twitter +website = Aller à wappalyzer.com + +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 index 3a2ed07bb..548359e93 100755 --- a/drivers/firefox-sdk/locale/nl-NL.properties +++ b/drivers/firefox-sdk/locale/nl-NL.properties @@ -1,44 +1,62 @@ -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+/. +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+/. +help = Wappalyzer - Klik voor meer informatie -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 +showIcons = Iconen zichtbaar +preferences = Meer opties... +addonBar = Plaats in addon-bar (klik Ctrl+/ of Cmd+/) +categories = Beheer categorien +performance = Performance +interface = Interface +tracking_title = Tracking +tracking_description = Verzend anonieme informatie over applicaties naar wappalyzer.com voor onderzoek +analyzeHeaders = Analiseer response headers +analyzeJavaScript = Analiseer JavaScript +analyzeOnload = Analiseer onLoad events + +feedback = Feedback +github = Github +twitter = Twitter +website = Ga naar wappalyzer.com + +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 index cb2974343..6c7b96144 100644 --- a/drivers/firefox-sdk/package.json +++ b/drivers/firefox-sdk/package.json @@ -1,12 +1,19 @@ { "name": "wappalyzer", "title": "Wappalyzer", - "icon": "images/icon48.png", - "icon64": "images/icon64.png", - "id": "jid1-GkgHgreNo1BZ4g", + "icon": "images/icon48_hot.png", + "icon64": "images/icon64_hot.png", + "id": "ec8030f7-c20a-464f-9b0e-13a3a9e97384", "description": "Identifies software on the web", "author": "Elbert Alias", "license": "GPLv3", "version": "3.0.0", - "main": "driver" + "main": "driver", + "preferences": [{ + "name": "tracking", + "title": "Tracking", + "description": "Anonymously send reports on detected applications to wappalyzer.com for analysis", + "type": "bool", + "value": true + }] } diff --git a/drivers/firefox/install.rdf b/drivers/firefox/install.rdf index b7a734571..ae57f36ec 100644 --- a/drivers/firefox/install.rdf +++ b/drivers/firefox/install.rdf @@ -3,7 +3,7 @@ wappalyzer@crunchlabz.com - 2.7.5 + 2.7.7 2 true @@ -12,7 +12,7 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 4.0 - 29.* + 28.* diff --git a/share/js/wappalyzer.js b/share/js/wappalyzer.js index 9cffab7b4..a3ecc857a 100644 --- a/share/js/wappalyzer.js +++ b/share/js/wappalyzer.js @@ -487,7 +487,7 @@ var wappalyzer = (function() { w.log({ hostname: hostname, ping: w.ping.hostnames[hostname] }); } - if ( Object.keys(w.ping.hostnames).length >= 50 ) { driver('ping'); } + if ( Object.keys(w.ping.hostnames).length >= 20 ) { driver('ping'); } apps = null; data = null;