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.

1.2 KiB

Wappalyzer core

Wappalyzer identifies technologies on websites.

Installation

$ npm i wappalyzer-core

Usage

#!/usr/bin/env node

const fs = require('fs')
const Wappalyzer = require('./wappalyzer')

// See https://www.wappalyzer.com/docs/dev/specification or use
// https://raw.githubusercontent.com/wappalyzer/wappalyzer/master/src/categories.json
const categories = JSON.parse(
  fs.readFileSync(path.resolve(`./categories.json`))
)

let technologies = {}

for (const index of Array(27).keys()) {
  const character = index ? String.fromCharCode(index + 96) : '_'

  technologies = {
    ...technologies,
    ...JSON.parse(
      fs.readFileSync(
        path.resolve(`./technologies/${character}.json`)
      )
    ),
  }
}

Wappalyzer.setTechnologies(technologies)
Wappalyzer.setCategories(categories)

Wappalyzer.analyze({
  url: 'https://example.github.io/',
  meta: { generator: ['WordPress'] },
  headers: { server: ['Nginx'] },
  scriptSrc: ['jquery-3.0.0.js'],
  cookies: { awselb: [''] },
  html: '<div ng-app="">'
}).then((detections) => {
  const results = Wappalyzer.resolve(detections)

  console.log(results)
})