lissy93/wapalyzer là dự án mã nguồn mở trên GitHub với 328 sao, viết chủ yếu bằng JavaScript. 🌐 Identify the technologies powering any website. This is a fork of the now deleted Wappalyzer project by @AliasIO and community.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This is a community fork of the now removed wappalyzer project, initially developed by @AliasIO.
The original author maintains a hosted instanced, available at wappalyzer.com.
Prerequisites
Git
Node.js version 14 or higher
Yarn
Quick start
git clone https://github.com/lissy93/wapalyzer.git
cd wappalyzer
yarn install
yarn run link
Usage
Command line
node src/drivers/npm/cli.js https://example.com
Chrome extension
Go to about:extensions
Enable 'Developer mode'
Click 'Load unpacked'
Select src/drivers/webextension
Firefox extension
Go to about:debugging#/runtime/this-firefox
Click 'Load Temporary Add-on'
Select src/drivers/webextension/manifest.json
Specification
A long list of regular expressions is used to identify technologies on web pages. wapalyzer inspects HTML code, as well as JavaScript variables, response headers and more.
Patterns (regular expressions) are kept in src/technologies/. The following is an example of an application fingerprint.
DNS records: supports MX, TXT, SOA and NS (NPM driver only).
{ "MX": "example\\.com" }
js
Object
JavaScript properties (case sensitive). Avoid short property
names to prevent matching minified code.
{ "jQuery.fn.jquery": "" }
headers
Object
HTTP response headers.
{ "X-Powered-By": "^WordPress$" }
html
String | Array
HTML source code. Patterns must include an HTML opening tag to
avoid matching plain text. For performance reasons, avoid
html where possible and use
dom instead.
"<a [^>]*href=\"index.html"
text
String | Array
Matches plain text. Should only be used in very specific cases where other methods can't be used.
\bexample\b
css
String | Array
CSS rules. Unavailable when a website enforces a same-origin
policy. For performance reasons, only a portion of the available
CSS rules are used to find matches.
"\\.example-class"
probe
Object
Request a URL to test for its existence or match text content (NPM driver only).
{ "/path": "Example text" }
robots
String | Array
Robots.txt contents.
"Disallow: /unique-path/"
url
String | Array
Full URL of the page.
"^https?//.+\\.wordpress\\.com"
xhr
String | Array
Hostnames of XHR requests.
"cdn\\.netlify\\.com"
meta
Object
HTML meta tags, e.g. generator.
{ "generator": "^WordPress$" }
scriptSrc
String | Array
URLs of JavaScript files included on the page.
"jquery\\.js"
scripts
String | Array
JavaScript source code. Inspects inline and external scripts. For performance reasons, avoid
scripts where possible and use
js instead.
"function webpackJsonpCallback\\(data\\) {"
Patterns
Patterns are essentially JavaScript regular expressions written as strings, but with some additions.
Quirks and pitfalls
Because of the string format, the escape character itself must be escaped when using special characters such as the dot (\\.). Double quotes must be escaped only once (\"). Slashes do not need to be escaped (/).
Flags are not supported. Regular expressions are treated as case-insensitive.
Capture groups (()) are used for version detection. In other cases, use non-capturing groups ((?:)).
Use start and end of string anchors (^ and $) where possible for optimal performance.
Short or generic patterns can cause applications to be identified incorrectly. Try to find unique strings to match.
Tags
Tags (a non-standard syntax) can be appended to patterns (and implies and excludes, separated by \\;) to store additional information.
Tag
Description
Example
confidence
Indicates a less reliable pattern that may cause false
positives. The aim is to achieve a combined confidence of 100%.
Defaults to 100% if not specified.
"js": { "Mage": "\\;confidence:50" }
version
Gets the version number from a pattern match using a special
syntax.
"scriptSrc": "jquery-([0-9.]+)\.js\\;version:\\1"
Version syntax
Application version information can be obtained from a pattern using a capture group. A condition can be evaluated using the ternary operator (?:).
Example
Description
\\1
Returns the first match.
\\1?a:
Returns a if the first match contains a value, nothing
otherwise.
\\1?a:b
Returns a if the first match contains a value, b otherwise.
\\1?:b
Returns nothing if the first match contains a value, b
otherwise.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/lissy93/wapalyzer là nguồn chính thức.
lissy93/wapalyzer có bao nhiêu sao?
lissy93/wapalyzer có 328 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/lissy93/wapalyzer. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
lissy93/wapalyzer có phải mã nguồn mở không?
Có — lissy93/wapalyzer phát hành theo license GPL-3.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/lissy93/wapalyzer.
lissy93/wapalyzer còn đang phát triển không?
Commit gần nhất trên lissy93/wapalyzer là 3 tháng trước (theo timestamp GitHub). Repo có 61 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
lissy93/wapalyzer là gì?
lissy93/wapalyzer (lissy93/wapalyzer) là dự án JavaScript trên GitHub. Theo mô tả gốc: 🌐 Identify the technologies powering any website. This is a fork of the now deleted Wappalyzer project by @AliasIO and community.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc wapalyzer có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về wapalyzer.