|
|
@ -97,7 +97,7 @@ var wappalyzer = wappalyzer || (function() {
|
|
|
|
analyze: function(hostname, url, data) {
|
|
|
|
analyze: function(hostname, url, data) {
|
|
|
|
w.log('w.analyze');
|
|
|
|
w.log('w.analyze');
|
|
|
|
|
|
|
|
|
|
|
|
var app, type, apps = [];
|
|
|
|
var i, app, type, regex, match, content, meta, header, apps = [];
|
|
|
|
|
|
|
|
|
|
|
|
if ( w.history[hostname] == null ) { w.history[hostname] = []; }
|
|
|
|
if ( w.history[hostname] == null ) { w.history[hostname] = []; }
|
|
|
|
if ( w.detected[url] == null ) { w.detected[url] = []; }
|
|
|
|
if ( w.detected[url] == null ) { w.detected[url] = []; }
|
|
|
@ -121,10 +121,7 @@ var wappalyzer = wappalyzer || (function() {
|
|
|
|
case 'script':
|
|
|
|
case 'script':
|
|
|
|
if ( data['html'] == null ) { break; }
|
|
|
|
if ( data['html'] == null ) { break; }
|
|
|
|
|
|
|
|
|
|
|
|
var
|
|
|
|
regex = /<script[^>]+src=("|')([^"']+)\1/ig;
|
|
|
|
regex = /<script[^>]+src=("|')([^"']+)\1/ig,
|
|
|
|
|
|
|
|
match = []
|
|
|
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while ( match = regex.exec(data['html']) ) {
|
|
|
|
while ( match = regex.exec(data['html']) ) {
|
|
|
|
if ( w.apps[app][type].test(match[2]) ) {
|
|
|
|
if ( w.apps[app][type].test(match[2]) ) {
|
|
|
@ -138,12 +135,7 @@ var wappalyzer = wappalyzer || (function() {
|
|
|
|
case 'meta':
|
|
|
|
case 'meta':
|
|
|
|
if ( data['html'] == null ) { break; }
|
|
|
|
if ( data['html'] == null ) { break; }
|
|
|
|
|
|
|
|
|
|
|
|
var
|
|
|
|
regex = /<meta[^>]+>/ig;
|
|
|
|
regex = /<meta[^>]+>/ig,
|
|
|
|
|
|
|
|
match = [],
|
|
|
|
|
|
|
|
content,
|
|
|
|
|
|
|
|
meta
|
|
|
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while ( match = regex.exec(data['html']) ) {
|
|
|
|
while ( match = regex.exec(data['html']) ) {
|
|
|
|
for ( meta in w.apps[app][type] ) {
|
|
|
|
for ( meta in w.apps[app][type] ) {
|
|
|
@ -163,8 +155,6 @@ var wappalyzer = wappalyzer || (function() {
|
|
|
|
case 'headers':
|
|
|
|
case 'headers':
|
|
|
|
if ( data[type] == null ) { break; }
|
|
|
|
if ( data[type] == null ) { break; }
|
|
|
|
|
|
|
|
|
|
|
|
var header;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for ( header in w.apps[app].headers ) {
|
|
|
|
for ( header in w.apps[app].headers ) {
|
|
|
|
if ( data[type][header] != null && w.apps[app][type][header].test(data[type][header]) ) {
|
|
|
|
if ( data[type][header] != null && w.apps[app][type][header].test(data[type][header]) ) {
|
|
|
|
apps.push(app);
|
|
|
|
apps.push(app);
|
|
|
@ -177,8 +167,6 @@ var wappalyzer = wappalyzer || (function() {
|
|
|
|
case 'env':
|
|
|
|
case 'env':
|
|
|
|
if ( data[type] == null ) { break; }
|
|
|
|
if ( data[type] == null ) { break; }
|
|
|
|
|
|
|
|
|
|
|
|
var i;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for ( i in data[type] ) {
|
|
|
|
for ( i in data[type] ) {
|
|
|
|
if ( w.apps[app][type].test(data[type][i]) ) {
|
|
|
|
if ( w.apps[app][type].test(data[type][i]) ) {
|
|
|
|
apps.push(app);
|
|
|
|
apps.push(app);
|
|
|
|