अपडेट पर वापस जाएँ
New releaseAug 19, 2026

wappalyzer-next v2.0.2

वैपालाइज़र विकल्प के साथ प्रौद्योगिकियों का पता लगाएं

साझा करें

Wappalyzer Next

यह प्रोजेक्ट एक कमांड लाइन टूल और पायथन लाइब्रेरी है जो Wappalyzer ब्राउज़र एक्सटेंशन और इसके फिंगरप्रिंट का उपयोग करके टेक्नोलॉजी का पता लगाता है। आधिकारिक ओपन-सोर्स प्रोजेक्ट के बंद होने के बाद उभरे अन्य प्रोजेक्ट पुराने फिंगरप्रिंट का उपयोग कर रहे हैं और डायनामिक वेब ऐप्स पर सटीकता की कमी रखते हैं। यह प्रोजेक्ट प्लेवराइट के माध्यम से क्रोमियम में एक्सटेंशन चलाकर उन सीमाओं को दरकिनार करता है।

demo

स्थापना

पायथन पैकेज इंस्टॉल करने के बाद, प्लेवराइट का क्रोमियम ब्राउज़र इंस्टॉल करें:

python -m playwright install chromium

न्यूनतम Linux कंटेनरों में, क्रोमियम की सिस्टम निर्भरताएं भी इंस्टॉल करें:

python -m playwright install-deps chromium

कमांड-लाइन टूल के रूप में स्थापित करें

pipx install wappalyzer
pipx run --spec playwright playwright install chromium

लाइब्रेरी के रूप में स्थापित करें

इसे लाइब्रेरी के रूप में उपयोग करने के लिए, इसे pip के साथ एक पृथक कंटेनर जैसे venv या docker के अंदर स्थापित करें। आप एक 'नियमित' स्थापना करने के लिए --break-system-packages का भी उपयोग कर सकते हैं, लेकिन इसकी अनुशंसा नहीं की जाती है।

pip install wappalyzer
python -m playwright install chromium

डॉकर के साथ स्थापित करें

चरण
  1. रिपॉजिटरी क्लोन करें:
git clone https://github.com/s0md3v/wappalyzer-next.git
cd wappalyzer-next
  1. डॉकर कम्पोज़ के साथ बनाएं और चलाएं:
docker compose build
  1. डॉकर कंटेनर का उपयोग करके URL स्कैन करने के लिए:
  • एकल URL स्कैन करें:
docker compose run --rm wappalyzer -i https://example.com
  • फ़ाइल से कई URL स्कैन करें:
docker compose run --rm wappalyzer -i urls.txt -w 3 -oJ output.json

उपयोगकर्ताओं के लिए

कुछ सामान्य उपयोग उदाहरण नीचे दिए गए हैं, अधिक जानकारी के लिए सभी विकल्पों की सूची देखें।

  • एकल URL स्कैन करें: wappalyzer -i https://example.com
  • फ़ाइल से कई URL स्कैन करें: wappalyzer -i urls.txt -w 3
  • पूर्ण स्कैन के लिए पेज-लोड टाइमआउट सेट करें: wappalyzer -i urls.txt -t 15
  • प्रमाणीकरण के साथ स्कैन करें: wappalyzer -i https://example.com -c "sessionid=abc123; token=xyz789"
  • परिणाम JSON में निर्यात करें: wappalyzer -i https://example.com -oJ results.json
  • JSON को stdout पर निर्यात करें: wappalyzer -i https://example.com -oJ

जब आउटपुट फ़्लैग का उपयोग बिना फ़ाइल के किया जाता है, तो रिपोर्ट stdout पर लिखी जाती है। स्थिति पंक्तियाँ, बैनर टेक्स्ट और त्रुटियाँ stderr पर लिखी जाती हैं।

विकल्प

नोट: सटीकता के लिए 'full' स्कैन प्रकार (डिफ़ॉल्ट) का उपयोग करें। 'fast' और 'balanced' ब्राउज़र इम्यूलेशन का उपयोग नहीं करते हैं।

  • -i: इनपुट URL या URL वाली फ़ाइल (एक पंक्ति में एक)
  • --scan-type: स्कैन प्रकार (डिफ़ॉल्ट: 'full')
    • fast: त्वरित HTTP-आधारित स्कैन (1 अनुरोध भेजता है)
    • balanced: अधिक अनुरोधों के साथ HTTP-आधारित स्कैन
    • full: wappalyzer एक्सटेंशन का उपयोग करके पूर्ण स्कैन
  • -w, --workers: समवर्ती वर्कर्स की संख्या (डिफ़ॉल्ट: 5; पूर्ण स्कैन 3 तक सीमित हैं)
  • -t, --timeout: पूर्ण स्कैन में पेज लोड होने की प्रतीक्षा करने के लिए अधिकतम सेकंड (डिफ़ॉल्ट: 30)
  • -oJ [file]: JSON आउटपुट फ़ाइल पथ, या stdout जब फ़ाइल छोड़ दी जाती है या - पर सेट की जाती है
  • -oC [file]: CSV आउटपुट फ़ाइल पथ, या stdout जब फ़ाइल छोड़ दी जाती है या - पर सेट की जाती है
  • -oH [file]: HTML आउटपुट फ़ाइल पथ, या stdout जब फ़ाइल छोड़ दी जाती है या - पर सेट की जाती है
  • -c, --cookie: प्रमाणित स्कैन के लिए कुकी हेडर स्ट्रिंग

डेवलपर्स के लिए

पायथन लाइब्रेरी pypi पर wappalyzer के रूप में उपलब्ध है और उसी नाम से आयात किया जा सकता है।

लाइब्रेरी का उपयोग करना

एक से अधिक URL स्कैन करते समय Wappalyzer का उपयोग करें। ब्राउज़र एक बार शुरू होता है, पुन: उपयोग किया जाता है, और with ब्लॉक समाप्त होने पर बंद हो जाता है।

from wappalyzer import Wappalyzer

with Wappalyzer(workers=3, timeout=30) as scanner:
    results = scanner.analyze_many([
        'https://example.com',
        'https://github.com',
        'https://python.org',
    ])

for url, technologies in results.items():
    print(url)
    for name, data in technologies.items():
        version = f" {data['version']}" if data['version'] else ""
        print(f"  {name}{version}")

वही स्कैनर बिना क्रोमियम को फिर से खोले एक बार में एक URL भी स्कैन कर सकता है:

from wappalyzer import Wappalyzer

with Wappalyzer(workers=3, timeout=30) as scanner:
    github = scanner.analyze('https://github.com')
    python = scanner.analyze('https://python.org')

एकल URL के लिए, analyze() छोटा है। यह अपना स्वयं का स्कैनर बनाता है, एक स्कैन चलाता है, और इसे बंद कर देता है।

from wappalyzer import analyze

results = analyze(
    url='https://example.com',
    scan_type='full',  # 'fast', 'balanced', या 'full'
    cookie='sessionid=abc123',
    timeout=30
)

बड़े कामों के लिए लूप में शीर्ष-स्तरीय analyze() फ़ंक्शन को कॉल न करें। पुन: उपयोग किए गए स्कैनर पर Wappalyzer.analyze_many() या Wappalyzer.analyze() का उपयोग करें ताकि प्रत्येक URL के लिए क्रोमियम और Wappalyzer एक्सटेंशन फिर से लोड न हों।

analyze() फ़ंक्शन पैरामीटर

  • url (str): विश्लेषण करने के लिए URL
  • scan_type (str, वैकल्पिक): करने के लिए स्कैन का प्रकार
    • 'fast': त्वरित HTTP-आधारित स्कैन
    • 'balanced': अधिक अनुरोधों के साथ HTTP-आधारित स्कैन
    • 'full': जावास्क्रिप्ट निष्पादन सहित पूर्ण स्कैन (डिफ़ॉल्ट)
  • workers (int, वैकल्पिक): पूर्ण स्कैन के लिए बनाने के लिए ब्राउज़र वर्कर्स की संख्या (डिफ़ॉल्ट: 1)
  • cookie (str, वैकल्पिक): प्रमाणित स्कैन के लिए कुकी हेडर स्ट्रिंग
  • timeout (int, वैकल्पिक): पूर्ण स्कैन में पेज लोड होने की प्रतीक्षा करने के लिए अधिकतम सेकंड (डिफ़ॉल्ट: 30)

वापसी मान

URL को कुंजी और पाई गई टेक्नोलॉजी को मान के रूप में एक शब्दकोश लौटाता है:

{
  "https://github.com": {
    "Amazon S3": {
      "version": "",
      "confidence": 100,
      "categories": ["CDN"],
      "groups": ["Servers"]
    },
    "React Router": {
      "version": "6",
      "confidence": 100,
      "categories": ["JavaScript frameworks"],
      "groups": ["Web development"]
    }
  },
  "https://example.com": {}
}

FAQ

क्रोमियम और प्लेवराइट क्यों?

पूर्ण स्कैनर प्लेवराइट के माध्यम से क्रोमियम में Wappalyzer एक्सटेंशन चलाता है। प्लेवराइट में क्रोमियम एक्सटेंशन समर्थन प्रत्यक्ष है और इसे geckodriver या Selenium की आवश्यकता नहीं है।

'fast', 'balanced' और 'full' स्कैन प्रकारों में क्या अंतर है?

  • fast: URL पर एकल HTTP अनुरोध भेजता है। एक्सटेंशन का उपयोग नहीं करता।
  • balanced: .js फ़ाइलों, /robots.txt पर अतिरिक्त HTTP अनुरोध भेजता है और DNS क्वेरी करता है। एक्सटेंशन का उपयोग नहीं करता।
  • full: हेडलेस ब्राउज़र में URL स्कैन करने के लिए आधिकारिक Wappalyzer एक्सटेंशन का उपयोग करता है।

श्रेणियाँ