Merge pull request #14 from AliasIO/master

update
main
֍ DaAwesomeP ֎ 8 years ago committed by GitHub
commit 7660c9eb58

@ -37,9 +37,11 @@ do
dest="$WAPPALYZER_ROOT/src/icons/converted/$(basename "$svg").png" dest="$WAPPALYZER_ROOT/src/icons/converted/$(basename "$svg").png"
if [[ ! -f "$dest" ]]; then if [[ -f "$dest" ]]; then
node $WAPPALYZER_NODE_PATH/node_modules/svg2png/bin/svg2png-cli "$svg" --width=32 --height=32 --output "$dest" || true rm "$dest"
fi fi
#node $WAPPALYZER_NODE_PATH/node_modules/svg2png/bin/svg2png-cli "$svg" --width=32 --height=32 --output "$dest" || true
done done
IFS="$OIFS" IFS="$OIFS"
@ -66,20 +68,14 @@ pushd $WAPPALYZER_ROOT/src/drivers/chrome > /dev/null
zip -qr $WAPPALYZER_ROOT/build/wappalyzer_chrome.zip . zip -qr $WAPPALYZER_ROOT/build/wappalyzer_chrome.zip .
# Google Chrome # WebExtension
echo "Building WebExtension drivers..." echo "Building WebExtension driver..."
pushd $WAPPALYZER_ROOT/src/drivers/webextension > /dev/null pushd $WAPPALYZER_ROOT/src/drivers/webextension > /dev/null
zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.firefox.zip . -x manifest.chrome-opera.json manifest.edge.json zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.zip . -x manifest.edge.json
printf "@ manifest.firefox.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.firefox.zip
zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.chrome-opera.zip . -x manifest.firefox.json manifest.edge.json
printf "@ manifest.chrome-opera.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.chrome-opera.zip
zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip . -x manifest.chrome-opera.json manifest.firefox.json zip -qr $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip . -x manifest.json
printf "@ manifest.edge.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip printf "@ manifest.edge.json\n@=manifest.json\n" | zipnote -w $WAPPALYZER_ROOT/build/wappalyzer_webextension.edge.zip

@ -9,7 +9,16 @@
"additionalProperties": false, "additionalProperties": false,
"patternProperties": { "patternProperties": {
"^[0-9]+$": { "^[0-9]+$": {
"type": "string" "type": "object",
"required": true,
"properties": {
"priority": {
"type": "string"
},
"name": {
"type": "string"
}
}
} }
} }
}, },
@ -22,7 +31,7 @@
"cats": { "cats": {
"type": "array", "type": "array",
"items": { "items": {
"type": "integer" "type": "string"
}, },
"required": true "required": true
}, },

File diff suppressed because it is too large Load Diff

@ -121,7 +121,7 @@
continue; continue;
} }
category = w.categories[w.apps[app].cats[i]]; category = w.categories[w.apps[app].cats[i]].name;
html += '<a target="_blank" class="wappalyzer-category" href="' + w.config.websiteURL + 'categories/' + w.driver.slugify(category) + '">' + category + '</a>'; html += '<a target="_blank" class="wappalyzer-category" href="' + w.config.websiteURL + 'categories/' + w.driver.slugify(category) + '">' + category + '</a>';
} }

@ -54,7 +54,7 @@
firstRun = true; firstRun = true;
// Set defaults // Set defaults
for ( option in defaults ) { for ( var option in defaults ) {
localStorage[option] = defaults[option]; localStorage[option] = defaults[option];
} }
} else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) { } else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) {
@ -189,7 +189,7 @@
if ( count > 0 ) { if ( count > 0 ) {
// Find the main application to display // Find the main application to display
var i, appName, found = false; var appName, found = false;
w.driver.categoryOrder.forEach(function(match) { w.driver.categoryOrder.forEach(function(match) {
for ( appName in w.detected[url] ) { for ( appName in w.detected[url] ) {

@ -15,9 +15,9 @@ document.addEventListener('DOMContentLoaded', function() {
}, },
load: function() { load: function() {
for ( option in options.opts ) { for ( var option in options.opts ) {
if ( value = localStorage[option] ) { if ( localStorage[option] ) {
options.opts[option] = value; options.opts[option] = localStorage[option];
} }
} }

@ -1,7 +1,7 @@
{ "name": "Wappalyzer", { "name": "Wappalyzer",
"homepage_url": "https://wappalyzer.com?pk_campaign=chrome&pk_kwd=context", "homepage_url": "https://wappalyzer.com?pk_campaign=chrome&pk_kwd=context",
"description": "Identifies software on the web", "description": "Identifies software on the web",
"version": "2.51", "version": "2.52",
"default_locale": "en", "default_locale": "en",
"manifest_version": 2, "manifest_version": 2,
"icons": { "icons": {

@ -1,11 +1,7 @@
(function() { (function() {
var lastEnv = [];
try { try {
if ( document && document.contentType === 'text/html' ) { if ( document && document.contentType === 'text/html' ) {
var var html = new XMLSerializer().serializeToString(document),
html = new XMLSerializer().serializeToString(document),
env = []; // TODO: Remove, `env` not used in this scope?
self.port.emit('log', html); self.port.emit('log', html);

@ -8,7 +8,7 @@
"description": "Identifies software on the web", "description": "Identifies software on the web",
"author": "Elbert Alias", "author": "Elbert Alias",
"license": "GPLv3", "license": "GPLv3",
"version": "3.2.10", "version": "3.2.11",
"main": "driver.js", "main": "driver.js",
"preferences": [{ "preferences": [{
"name": "tracking", "name": "tracking",

@ -83,7 +83,7 @@
cats = []; cats = [];
wappalyzer.apps[app].cats.forEach(function(cat) { wappalyzer.apps[app].cats.forEach(function(cat) {
cats.push(wappalyzer.categories[cat]); cats.push(wappalyzer.categories[cat].name);
}); });
apps.push({ apps.push({

@ -6,7 +6,7 @@ const
phantomjs = require('phantomjs-prebuilt'); phantomjs = require('phantomjs-prebuilt');
exports.run = function(args, callback) { exports.run = function(args, callback) {
args.unshift.apply(args, ['driver.js', '--web-security=false', '--load-images=false', '--ignore-ssl-errors=yes', '--ssl-protocol=any']); args.unshift.apply(args, [path.join(__dirname, 'driver.js'), '--web-security=false', '--load-images=false', '--ignore-ssl-errors=yes', '--ssl-protocol=any']);
var driver = phantomjs.exec.apply(this, args); var driver = phantomjs.exec.apply(this, args);

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -42,6 +42,12 @@
w.categories = json.categories; w.categories = json.categories;
w.apps = json.apps; w.apps = json.apps;
w.driver.categoryOrder = Object.keys(w.categories).sort(function(a, b) {
return w.categories[a].priority - w.categories[b].priority;
});
console.log(w.driver.categoryOrder);
}; };
xhr.send(null); xhr.send(null);
@ -54,7 +60,7 @@
firstRun = true; firstRun = true;
// Set defaults // Set defaults
for ( option in defaults ) { for ( var option in defaults ) {
localStorage[option] = defaults[option]; localStorage[option] = defaults[option];
} }
} else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) { } else if ( version !== localStorage['version'] && parseInt(localStorage['upgradeMessage'], 10) ) {
@ -195,7 +201,7 @@
if ( count > 0 ) { if ( count > 0 ) {
// Find the main application to display // Find the main application to display
var i, appName, found = false; var appName, found = false;
w.driver.categoryOrder.forEach(function(match) { w.driver.categoryOrder.forEach(function(match) {
for ( appName in w.detected[url] ) { for ( appName in w.detected[url] ) {
@ -258,54 +264,7 @@
}; };
xhr.send('json=' + encodeURIComponent(JSON.stringify(data))); xhr.send('json=' + encodeURIComponent(JSON.stringify(data)));
}, }
categoryOrder: [ // Used to pick the main application
1, // CMS
11, // Blog
6, // Web Shop
2, // Message Board
51, // Landing Page Builder
8, // Wiki
13, // Issue Tracker
30, // Web Mail
18, // Web Framework
21, // LMS
7, // Photo Gallery
38, // Media Server
3, // Database Manager
34, // Database
4, // Documentation Tool
9, // Hosting Panel
29, // Search Engine
12, // JavaScript Framework
26, // Mobile Framework
25, // JavaScript Graphics
22, // Web Server
27, // Programming Language
28, // Operating System
15, // Comment System
20, // Editor
41, // Payment Processor
10, // Analytics
32, // Marketing Automation
31, // CDN
23, // Cache Tool
17, // Font Script
24, // Rich Text Editor
35, // Map
5, // Widget
14, // Video Player
16, // Captcha
33, // Web Server Extension
37, // Network Device
39, // Webcam
40, // Printer
36, // Advertising Network
42, // Tag Managers
43, // Paywalls
19 // Miscellaneous
]
}; };
w.init(); w.init();

@ -112,8 +112,6 @@ var exports = {};
try { try {
dict[key] = window.decodeURIComponent(val); dict[key] = window.decodeURIComponent(val);
} catch (e) { } catch (e) {
continue;
} }
} }
return dict; return dict;
@ -307,6 +305,7 @@ var exports = {};
return div; return div;
} }
} }
return null;
}; };
TopSearcher.prototype._jumpedOut = function(el) { TopSearcher.prototype._jumpedOut = function(el) {
@ -988,6 +987,7 @@ var exports = {};
} }
} }
} }
return null;
} }
function onPostMessage(event) { function onPostMessage(event) {

@ -42,7 +42,7 @@ document.addEventListener('DOMContentLoaded', function() {
response.apps[appName].cats.forEach(function(cat) { response.apps[appName].cats.forEach(function(cat) {
html += html +=
'<a target="_blank" href="https://wappalyzer.com/categories/' + slugify(response.categories[cat]) + '">' + '<a target="_blank" href="https://wappalyzer.com/categories/' + slugify(response.categories[cat].name) + '">' +
'<span class="category"><span class="name">' + browser.i18n.getMessage('categoryName' + cat) + '</span></span>' + '<span class="category"><span class="name">' + browser.i18n.getMessage('categoryName' + cat) + '</span></span>' +
'</a>'; '</a>';
}); });

@ -1,6 +1,7 @@
{ "name": "Wappalyzer", {
"name": "Wappalyzer",
"short_name": "Wappalyzer", "short_name": "Wappalyzer",
"author": "AliasIO", "author": "Elbert Alias",
"homepage_url": "https://wappalyzer.com/", "homepage_url": "https://wappalyzer.com/",
"description": "Identify web technologies", "description": "Identify web technologies",
"version": "3", "version": "3",
@ -28,7 +29,8 @@
"page": "background.html", "page": "background.html",
"persistent": true "persistent": true
}, },
"content_scripts": [ { "content_scripts": [
{
"matches": [ "http://*/*", "https://*/*" ], "matches": [ "http://*/*", "https://*/*" ],
"js": [ "js": [
"js/browser-polyfill.js", "js/browser-polyfill.js",
@ -43,7 +45,8 @@
], ],
"run_at": "document_start", "run_at": "document_start",
"all_frames": true "all_frames": true
} ], }
],
"web_accessible_resources": [ "web_accessible_resources": [
"js/inject.js" "js/inject.js"
], ],

@ -1,56 +0,0 @@
{ "name": "Wappalyzer",
"short_name": "Wappalyzer",
"author": "AliasIO",
"homepage_url": "https://wappalyzer.com/",
"description": "Identify web technologies",
"version": "3",
"default_locale": "en",
"manifest_version": 2,
"applications": {
"gecko": {
"id": "wappalyzer@crunchlabz.com",
"strict_min_version": "52.0"
}
},
"icon": "images/logo.svg",
"page_action": {
"default_icon": "images/logo.svg",
"default_title": "Wappalyzer",
"default_popup": "popup.html"
},
"background": {
"page": "background.html",
"persistent": true
},
"content_scripts": [ {
"matches": [ "http://*/*", "https://*/*" ],
"js": [
"js/browser-polyfill.js",
"js/content.js"
],
"run_at": "document_idle"
}, {
"matches": [ "http://*/*", "https://*/*" ],
"js": [
"js/browser-polyfill.js",
"js/iframe.js"
],
"run_at": "document_start",
"all_frames": true
} ],
"web_accessible_resources": [
"js/inject.js"
],
"options_ui": {
"page": "options.html",
"open_in_tab": false
},
"permissions": [
"tabs",
"webRequest",
"webNavigation",
"http://*/*",
"https://*/*"
],
"content_security_policy": "script-src 'self'; object-src 'self'"
}

@ -1,6 +1,7 @@
{ "name": "Wappalyzer", {
"name": "Wappalyzer",
"short_name": "Wappalyzer", "short_name": "Wappalyzer",
"author": "AliasIO", "author": "Elbert Alias",
"homepage_url": "https://wappalyzer.com/", "homepage_url": "https://wappalyzer.com/",
"description": "Identify web technologies", "description": "Identify web technologies",
"version": "3", "version": "3",
@ -25,10 +26,11 @@
"default_popup": "popup.html" "default_popup": "popup.html"
}, },
"background": { "background": {
"page": "background.html", "page": "background.html"
"persistent": true
}, },
"content_scripts": [ { "content_scripts": [
{
"matches": [ "http://*/*", "https://*/*" ], "matches": [ "http://*/*", "https://*/*" ],
"js": [ "js": [
"js/browser-polyfill.js", "js/browser-polyfill.js",
@ -43,10 +45,12 @@
], ],
"run_at": "document_start", "run_at": "document_start",
"all_frames": true "all_frames": true
} ], }
],
"web_accessible_resources": [ "web_accessible_resources": [
"js/inject.js" "js/inject.js"
], ],
"options_page": "options.html",
"options_ui": { "options_ui": {
"page": "options.html", "page": "options.html",
"open_in_tab": false "open_in_tab": false

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -242,7 +242,7 @@ var wappalyzer = (function() {
*/ */
analyze: function(hostname, url, data) { analyze: function(hostname, url, data) {
var var
i, j, app, confidence, type, regexMeta, regexScript, match, content, meta, header, version, id, i, app, confidence, type, regexMeta, regexScript, match, content, meta, header, version, id,
profiler = new Profiler(), profiler = new Profiler(),
apps = {}, apps = {},
excludes = [], excludes = [],