You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.6 KiB
64 lines
1.6 KiB
(function() {
|
|
var c = {
|
|
init: function() {
|
|
var html = document.documentElement.outerHTML;
|
|
|
|
c.log('init');
|
|
|
|
if ( html.length > 50000 ) {
|
|
html = html.substring(0, 25000) + html.substring(html.length - 25000, html.length);
|
|
}
|
|
|
|
chrome.extension.sendRequest({ id: 'analyze', subject: { html: html } });
|
|
|
|
c.getEnvironmentVars();
|
|
},
|
|
|
|
log: function(message) {
|
|
chrome.extension.sendRequest({ id: 'log', message: '[ content.js ] ' + message });
|
|
},
|
|
|
|
getEnvironmentVars: function() {
|
|
var container, script;
|
|
|
|
c.log('getEnvironmentVars');
|
|
|
|
if ( typeof document.documentElement.innerHTML === 'undefined' ) {
|
|
return;
|
|
}
|
|
|
|
try {
|
|
container = document.createElement('wappalyzerData');
|
|
|
|
container.setAttribute('id', 'wappalyzerData');
|
|
container.setAttribute('style', 'display: none');
|
|
|
|
script = document.createElement('script');
|
|
|
|
script.setAttribute('id', 'wappalyzerEnvDetection');
|
|
script.setAttribute('src', chrome.extension.getURL('js/inject.js'));
|
|
|
|
container.addEventListener('wappalyzerEvent', (function(event) {
|
|
var environmentVars = event.target.childNodes[0].nodeValue;
|
|
|
|
document.documentElement.removeChild(container);
|
|
document.documentElement.removeChild(script);
|
|
|
|
c.log('getEnvironmentVars: ' + environmentVars);
|
|
|
|
environmentVars = environmentVars.split(' ').slice(0, 500);
|
|
|
|
chrome.extension.sendRequest({ id: 'analyze', subject: { env: environmentVars } });
|
|
}), true);
|
|
|
|
document.documentElement.appendChild(container);
|
|
document.documentElement.appendChild(script);
|
|
} catch(e) {
|
|
c.log('Error: ' + e);
|
|
}
|
|
}
|
|
}
|
|
|
|
c.init();
|
|
}());
|