Merge branch 'pilievwm-master'

main
Elbert Alias 6 years ago
commit 49bd0a2333

File diff suppressed because it is too large Load Diff

@ -14,14 +14,15 @@ technologies used on websites. It detects
## Installation
```shell
$ npm i wappalyzer
$ npm i -g wappalyzer # Globally
$ npm i wappalyzer --save # As a dependency
```
## Run from the command line
```
node index.js [url] [options]
wappalyzer [url] [options]
```
### Options
@ -46,8 +47,7 @@ node index.js [url] [options]
## Run from a script
```javascript
const Wappalyzer = require('./driver');
const Browser = require('./browsers/zombie');
const Wappalyzer = require('wappalyzer');
const url = 'https://www.wappalyzer.com';
@ -63,7 +63,10 @@ const options = {
htmlMaxRows: 2000,
};
const wappalyzer = new Wappalyzer(Browser, url, options);
const wappalyzer = new Wappalyzer(url, options);
// Optional: set the browser to use
// wappalyzer.browser = Wappalyzer.browsers.zombie;
// Optional: capture log output
// wappalyzer.on('log', params => {

@ -0,0 +1,45 @@
#!/usr/bin/env node
const Wappalyzer = require('./driver');
const Browser = require('./browsers/zombie');
const args = process.argv.slice(2);
const url = args.shift() || '';
if (!url) {
process.stderr.write('No URL specified\n');
process.exit(1);
}
const options = {};
let arg;
do {
arg = args.shift();
const matches = /--([^=]+)=(.+)/.exec(arg);
if (matches) {
const key = matches[1].replace(/-\w/g, _matches => _matches[1].toUpperCase());
const value = matches[2];
options[key] = value;
}
} while (arg);
const wappalyzer = new Wappalyzer(Browser, url, options);
wappalyzer.analyze()
.then((json) => {
process.stdout.write(`${JSON.stringify(json)}\n`);
process.exit(0);
})
.catch((error) => {
process.stderr.write(`${error}\n`);
process.exit(1);
});

@ -317,5 +317,6 @@ class Driver {
}
module.exports = Driver;
module.exports.processJs = processJs;
module.exports.processHtml = processHtml;

@ -1,45 +1,16 @@
#!/usr/bin/env node
const Driver = require('./driver');
const ZombieBrowser = require('./browsers/zombie');
const Wappalyzer = require('./driver');
const Browser = require('./browsers/zombie');
class Wappalyzer {
constructor(pageUrl, options) {
this.browser = ZombieBrowser;
const args = process.argv.slice(2);
const url = args.shift() || '';
if (!url) {
process.stderr.write('No URL specified\n');
process.exit(1);
return new Driver(this.browser, pageUrl, options);
}
const options = {};
let arg;
do {
arg = args.shift();
const matches = /--([^=]+)=(.+)/.exec(arg);
if (matches) {
const key = matches[1].replace(/-\w/g, _matches => _matches[1].toUpperCase());
const value = matches[2];
options[key] = value;
}
} while (arg);
const wappalyzer = new Wappalyzer(Browser, url, options);
wappalyzer.analyze()
.then((json) => {
process.stdout.write(`${JSON.stringify(json)}\n`);
process.exit(0);
})
.catch((error) => {
process.stderr.write(`${error}\n`);
Wappalyzer.browsers = {
zombie: ZombieBrowser,
};
process.exit(1);
});
module.exports = Wappalyzer;

@ -1,6 +1,6 @@
{
"name": "wappalyzer",
"version": "5.7.4",
"version": "5.8.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

@ -2,24 +2,25 @@
"name": "wappalyzer",
"description": "Uncovers the technologies used on websites",
"homepage": "https://github.com/AliasIO/Wappalyzer",
"version": "5.7.4",
"version": "5.8.1",
"author": "Elbert Alias",
"license": "GPL-3.0",
"repository": {
"type": "git",
"url": "https://github.com/AliasIO/Wappalyzer"
},
"main": "driver.js",
"main": "index.js",
"files": [
"apps.json",
"browser.js",
"browsers/zombie.js",
"cli.js",
"driver.js",
"index.js",
"wappalyzer.js"
],
"bin": {
"wappalyzer": "./index.js"
"wappalyzer": "./cli.js"
},
"dependencies": {
"zombie": "^6.1.2"

@ -4,7 +4,7 @@
"author": "Elbert Alias",
"homepage_url": "https://www.wappalyzer.com",
"description": "Identify web technologies",
"version": "5.7.4",
"version": "5.8.1",
"default_locale": "en",
"manifest_version": 2,
"icons": {