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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

2.5 KiB

Wappalyzer

Wappalyzer is a cross-platform utility that uncovers the technologies used on websites. It detects content management systems, eCommerce platforms, web servers, JavaScript frameworks, analytics tools and many more.

Installation

$ npm i -g wappalyzer      # Globally
$ npm i wappalyzer --save  # As a dependency

Run from the command line

wappalyzer [url] [options]

Options

--password           Password to be used for basic HTTP authentication
--proxy              Proxy URL, e.g. 'http://user:pass@proxy:8080'
--username           Username to be used for basic HTTP authentication
--chunk-size=num     Process links in chunks.
--debug=0|1          Output debug messages.
--delay=ms           Wait for ms milliseconds between requests.
--html-max-cols=num  Limit the number of HTML characters per line processed.
--html-max-rows=num  Limit the number of HTML lines processed.
--max-depth=num      Don't analyse pages more than num levels deep.
--max-urls=num       Exit when num URLs have been analysed.
--max-wait=ms        Wait no more than ms milliseconds for page resources to load.
--recursive=0|1      Follow links on pages (crawler).
--user-agent=str     Set the user agent string.

Run from a script

const Wappalyzer = require('wappalyzer');

const url = 'https://www.wappalyzer.com';

const options = {
  debug: false,
  delay: 500,
  maxDepth: 3,
  maxUrls: 10,
  maxWait: 5000,
  recursive: true,
  userAgent: 'Wappalyzer',
  htmlMaxCols: 2000,
  htmlMaxRows: 2000,
};

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 => {
//   const { message, source, type } = params;
// });

// Optional: do something on page visit
// wappalyzer.on('visit', params => {
//   const { browser, pageUrl } = params;
// });

wappalyzer.analyze()
  .then(json => {
    process.stdout.write(`${JSON.stringify(json, null, 2)}\n`);

    process.exit(0);
  })
  .catch(error => {
    process.stderr.write(`${error}\n`);

    process.exit(1);
});