diff --git a/.gitignore b/.gitignore index 3a203c535..55aa2da22 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -wappalyzer.xpi +adapters/firefox/wappalyzer.xpi diff --git a/README.md b/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/chrome.manifest b/adapters/firefox/chrome.manifest similarity index 100% rename from chrome.manifest rename to adapters/firefox/chrome.manifest diff --git a/chrome/content/wappalyzer.js b/adapters/firefox/chrome/content/js/adapter.js similarity index 100% rename from chrome/content/wappalyzer.js rename to adapters/firefox/chrome/content/js/adapter.js diff --git a/adapters/firefox/chrome/content/js/apps.js b/adapters/firefox/chrome/content/js/apps.js new file mode 120000 index 000000000..dd9418525 --- /dev/null +++ b/adapters/firefox/chrome/content/js/apps.js @@ -0,0 +1 @@ +/home/elbertf/extensions/wappalyzer/apps.js \ No newline at end of file diff --git a/chrome/content/content.js b/adapters/firefox/chrome/content/js/content.js similarity index 100% rename from chrome/content/content.js rename to adapters/firefox/chrome/content/js/content.js diff --git a/chrome/content/custom.js b/adapters/firefox/chrome/content/js/custom.js similarity index 100% rename from chrome/content/custom.js rename to adapters/firefox/chrome/content/js/custom.js diff --git a/chrome/content/evaluate.js b/adapters/firefox/chrome/content/js/evaluate.js similarity index 100% rename from chrome/content/evaluate.js rename to adapters/firefox/chrome/content/js/evaluate.js diff --git a/chrome/content/options.js b/adapters/firefox/chrome/content/js/options.js similarity index 100% rename from chrome/content/options.js rename to adapters/firefox/chrome/content/js/options.js diff --git a/adapters/firefox/chrome/content/js/wappalyzer.js b/adapters/firefox/chrome/content/js/wappalyzer.js new file mode 120000 index 000000000..e92f4244c --- /dev/null +++ b/adapters/firefox/chrome/content/js/wappalyzer.js @@ -0,0 +1 @@ +/home/elbertf/extensions/wappalyzer/wappalyzer.js \ No newline at end of file diff --git a/adapters/firefox/chrome/content/xul/options.xul b/adapters/firefox/chrome/content/xul/options.xul new file mode 100755 index 000000000..15bd93743 --- /dev/null +++ b/adapters/firefox/chrome/content/xul/options.xul @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + diff --git a/adapters/html/js/adapter.js b/adapters/html/js/adapter.js new file mode 100644 index 000000000..f29ae70db --- /dev/null +++ b/adapters/html/js/adapter.js @@ -0,0 +1,22 @@ +(function() { + if ( wappalyzer == null ) return; + + var w = wappalyzer; + + w.adapter = { + /** + * Initialize + */ + init: function() { + }, + + /** + * Go to URL + */ + goToURL: function(args) { + window.open(args.url); + } + }; + + w.init(); +})(); diff --git a/adapters/html/js/apps.js b/adapters/html/js/apps.js new file mode 120000 index 000000000..dd9418525 --- /dev/null +++ b/adapters/html/js/apps.js @@ -0,0 +1 @@ +/home/elbertf/extensions/wappalyzer/apps.js \ No newline at end of file diff --git a/adapters/html/js/wappalyzer.js b/adapters/html/js/wappalyzer.js new file mode 120000 index 000000000..e92f4244c --- /dev/null +++ b/adapters/html/js/wappalyzer.js @@ -0,0 +1 @@ +/home/elbertf/extensions/wappalyzer/wappalyzer.js \ No newline at end of file diff --git a/apps.js b/apps.js new file mode 100644 index 000000000..0f6be38a2 --- /dev/null +++ b/apps.js @@ -0,0 +1,253 @@ +(function() { + if ( wappalyzer == null ) return; + + var w = wappalyzer; + + w.categories = { + 1: { name: 'CMS', plural: 'CMS' }, + 2: { name: 'Message Board', plural: 'Message Boards' }, + 3: { name: 'Database manager', plural: 'Database managers' }, + 4: { name: 'Documentation tool', plural: 'Documentation tools' }, + 5: { name: 'Widget', plural: 'Widgets' }, + 6: { name: 'Web shop', plural: 'Web shops' }, + 7: { name: 'Photo gallery', plural: 'Photo galleries' }, + 8: { name: 'Wiki', plural: 'Wikis' }, + 9: { name: 'Hosting panel', plural: 'Hosting panels' }, + 10: { name: 'Analytics', plural: 'Analytics' }, + 11: { name: 'Blog', plural: 'Blogs' }, + 12: { name: 'JavaScript framework', plural: 'JavaScript frameworks' }, + 13: { name: 'Issue tracker', plural: 'Issue trackers' }, + 14: { name: 'Video Player', plural: 'Video Players' }, + 15: { name: 'Comment System', plural: 'Comment Systems' }, + 16: { name: 'CAPTCHA', plural: 'CAPTCHAs' }, + 17: { name: 'Font script', plural: 'Font scripts' }, + 18: { name: 'Web framework', plural: 'Web frameworks' }, + 19: { name: 'Miscellaneous', plural: 'Miscellaneous' }, + 20: { name: 'Editor', plural: 'Editors' }, + 21: { name: 'LMS', plural: 'LMS' }, + 22: { name: 'Web server', plural: 'Web servers' }, + 23: { name: 'Cache tool', plural: 'Cache tools' }, + 24: { name: 'Rich text editor', plural: 'Rich text editors' }, + 25: { name: 'Javascript Graphics', plural: 'Javascript Graphics' } + }; + + w.apps = { + '1C-Bitrix': { cats: { 1: 1 }, html: /]+components\/bitrix/i, script: /1c\-bitrix/i }, + '2z Project': { cats: { 1: 1 }, meta: { 'generator': /2z project/i } }, + 'AddThis': { cats: { 1: 5 }, script: /addthis\.com\/js/ }, + 'Adobe GoLive': { cats: { 1: 20 }, meta: { 'generator': /Adobe GoLive/i } }, + 'Advanced Web Stats': { cats: { 1: 10 }, html: /aws.src = [^<]+caphyon\-analytics/i }, + 'Amiro.CMS': { cats: { 1: 1 }, meta: { 'generator': /Amiro/i } }, + 'Apache': { cats: { 1: 22 }, headers: { 'Server': /Apache/i } }, + 'Apache Tomcat': { cats: { 1: 22 }, headers: { 'Server': /Apache-Coyote/i } }, + 'Atlassian Confluence': { cats: { 1: 8 }, html: /Powered by ]+banshee-php\.org/i }, + 'Backbone.js': { cats: { 1: 12 }, script: /backbone.*\.js/, env: /^Backbone$/ }, + 'BIGACE': { cats: { 1: 1 }, meta: { 'generator': /BIGACE/ }, html: /Powered by ]+BIGACE||]*(osCsid|cPath)/i }, + 'osCSS': { cats: { 1: 6 }, html: /]*\/papaya-themes\//i }, + 'PHP-Fusion': { cats: { 1: 1 }, html: /Powered by ]+php-fusion/i }, + 'PHP-Nuke': { cats: { 1: 2 }, meta: { 'generator': /PHP-Nuke/i }, html: /<[^>]+Powered by PHP\-Nuke/i }, + 'phpBB': { cats: { 1: 2 }, meta: { 'copyright': /phpBB Group/ }, html: /Powered by (]+)?phpBB/i }, + 'phpDocumentor': { cats: { 1: 4 }, html: /