Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Wappalyzergo

A high performance port of the Wappalyzer Technology Detection Library to Go. Inspired by Webanalyze.

Uses data from

Features

  • Very simple and easy to use, with clean codebase.
  • Normalized regexes + auto-updating database of wappalyzer fingerprints.
  • Optimized for performance: parsing HTML manually for best speed.

Using go install

go install -v github.com/projectdiscovery/wappalyzergo/cmd/update-fingerprints@latest

After this command wappalyzergo library source will be in your current go.mod.

Example

Usage Example:

package main

import (
	"fmt"
	"io"
	"log"
	"net/http"

	wappalyzer "github.com/projectdiscovery/wappalyzergo"
)

func main() {
	resp, err := http.DefaultClient.Get("https://www.hackerone.com")
	if err != nil {
		log.Fatal(err)
	}
	data, _ := io.ReadAll(resp.Body) // Ignoring error for example

	wappalyzerClient, err := wappalyzer.New()
	fingerprints := wappalyzerClient.Fingerprint(resp.Header, data)
	fmt.Printf("%v\n", fingerprints)

	// Output: map[Acquia Cloud Platform:{} Amazon EC2:{} Apache:{} Cloudflare:{} Drupal:{} PHP:{} Percona:{} React:{} Varnish:{}]
}

Optional runtime detection

Fingerprint still uses only the response headers and body. Use FingerprintWithRuntime to also check JavaScript properties, the rendered DOM, and script content. The optional headless adapter works with a Rod page that the caller has already loaded. The caller remains responsible for launching, navigating, and closing the browser.

collector := headless.New(page)

fingerprints, err := wappalyzerClient.FingerprintWithRuntime(
	ctx, resp.Header, data,
	wappalyzer.RuntimeOptions{
		Collector: collector,
		Timeout:   10 * time.Second,
	},
)

If runtime collection returns an error, the result still includes passive matches and any matches found before the failure. Other browser integrations can implement wappalyzer.RuntimeCollector without importing the Rod adapter.

关于 About

A high performance go implementation of Wappalyzer Technology Detection Library

语言 Languages

Go100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
74
Total Commits
峰值: 6次/周
Less
More

核心贡献者 Contributors