Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
strot — API Scraper Agent वेब API's के लिए | Kitploit
उपकरण/GitHubGitHub/vertexcover-io/strot
टोहीस्क्रिप्टिंग और स्वचालनएपीआई सुरक्षा परीक्षणजानकारी एकत्र करनावेब सुरक्षाक्रॉलर
GitHubvertexcover-io/strot

strot

API Scraper Agent वेब API's के लिए

रिपॉजिटरी देखें
189 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

प्राकृतिक भाषा के माध्यम से किसी भी वेबसाइट के आंतरिक API का रिवर्स-इंजीनियरिंग करें

लाइसेंस पायथन


समस्या

आधुनिक वेबसाइटें छिपे हुए AJAX कॉल के माध्यम से डेटा लोड करती हैं:

  • डेटा HTML में नहीं है - यह आंतरिक APIs से लाया जाता है
  • आपको मैन्युअल रूप से नेटवर्क अनुरोधों का निरीक्षण करना होता है
  • जटिल पेजिनेशन लॉजिक जावास्क्रिप्ट में दबा हुआ है
  • APIs एंडपॉइंट और पैरामीटर बार-बार बदलती रहती हैं

समाधान

Strot आपके लिए वेबसाइटों का विश्लेषण करता है और उनके आंतरिक API कॉल की खोज करता है।

Strot वास्तव में क्या करता है:

  1. वेबपेज का विश्लेषण करता है ताकि समझ सके कि आप कौन सा डेटा चाहते हैं
  2. AJAX अनुरोध को कैप्चर करता है जो उस डेटा को लाता है
  3. सभी पैरामीटर का पता लगाता है - पेजिनेशन (limit/offset, कर्सर, पेज नंबर) और डायनेमिक पैरामीटर (सॉर्टिंग, फ़िल्टरिंग, सर्च)
  4. एक्सट्रैक्शन कोड उत्पन्न करता है जो JSON प्रतिक्रिया को पार्स करता है
  5. एक Source लौटाता है जो वेबसाइट के स्वयं के API कॉल को पूर्ण पैरामीटर नियंत्रण के साथ दोहराता है

🐳 अभी आज़माएं - किसी सेटअप की आवश्यकता नहीं!

पूर्ण Strot अनुभव (Web UI + API) तुरंत प्राप्त करें:

Patchright ब्राउज़र का उपयोग करना

root@kitploit:~
docker run -d --name browser-server -p 5678:5678 synacktra/patchright-headless-server
STROT_ANTHROPIC_API_KEY=sk-ant-apiXXXXXX \
  docker compose -f https://raw.githubusercontent.com/vertexcover-io/strot/refs/heads/main/docker-compose.yml up

या, Steel ब्राउज़र का उपयोग करना

root@kitploit:~
STROT_BROWSER_WS_URL=wss://connect.steel.dev?apiKey=ste-XXXXXX STROT_ANTHROPIC_API_KEY=sk-ant-apiXXXXXX \
  docker compose -f https://raw.githubusercontent.com/vertexcover-io/strot/refs/heads/main/docker-compose.yml up

फिर यहाँ जाएं:

  • 🌐 वेब डैशबोर्ड: http://localhost:3000 - वेबसाइटों के विश्लेषण के लिए दृश्य इंटरफ़ेस
  • 🔌 REST API: http://localhost:1337 - प्रोग्रामेटिक एक्सेस

🐍 पायथन लाइब्रेरी

स्थापना

root@kitploit:~
pip install strot

या uv का उपयोग करके:

root@kitploit:~
uv pip install strot

उदाहरण 1: समीक्षा API का रिवर्स-इंजीनियरिंग

root@kitploit:~
import strot
import asyncio
from pydantic import BaseModel

class Review(BaseModel):
    title: str | None = None
    username: str | None = None
    rating: float | None = None
    comment: str | None = None
    date: str | None = None

async def get_reviews():
    # Strot उस आंतरिक API की खोज करता है जो समीक्षाएँ लोड करता है
    source = await strot.analyze(
        url="https://www.getcleanpeople.com/product/fresh-clean-laundry-detergent/",
        query="रेटिंग और टिप्पणियों वाली ग्राहक समीक्षाएँ",
        output_schema=Review,
        code_executor="e2b" # डिफ़ॉल्ट "unsafe" है
    )

    # वेबसाइट द्वारा उपयोग किए जाने वाले उसी API कॉल का उपयोग करें, पूर्ण पैरामीटर नियंत्रण के साथ
    async for reviews in source.generate_data(limit=500, offset=100, sortBy="date desc"):
        for review in reviews:
            print(f"{review['rating']}⭐ by {review['username']}: {review['comment']}")

if __name__ == "__main__":
    asyncio.run(get_reviews())

उदाहरण 2: उत्पाद सूची API कैप्चर करना

root@kitploit:~
import strot
import asyncio
from pydantic import BaseModel

class Product(BaseModel):
    name: str | None = None
    price: float | None = None
    rating: float | None = None
    availability: str | None = None
    description: str | None = None

async def get_products():
    # Strot वह AJAX एंडपॉइंट ढूंढता है जो उत्पाद सूचियाँ लोड करता है
    source = await strot.analyze(
        url="https://blinkit.com/cn/fresh-vegetables/cid/1487/1489",
        query="नाम और मूल्य वाले सूचीबद्ध उत्पाद।",
        output_schema=Product
    )

    # source में अपनी पसंद का कोड एक्ज़ीक्यूटर सेट करें
    source.set_code_executor("e2b")

    # कस्टम फ़िल्टरिंग और सॉर्टिंग के साथ सभी उत्पादों तक पहुँचें
    async for products in source.generate_data(limit=100, offset=0, category="vegetables", sortBy="price"):
        for product in products:
            print(f"{product['name']}: ${product['price']} ({product['rating']}⭐)")

if __name__ == "__main__":
    asyncio.run(get_products())

🔌 MCP सर्वर

Strot एक MCP (Model Context Protocol) सर्वर प्रदान करता है जो Claude जैसे MCP क्लाइंट को सीधे वेबसाइटों का विश्लेषण करने और उनके आंतरिक APIs की खोज करने में सक्षम बनाता है।

सेटअप

root@kitploit:~
git clone https://github.com/vertexcover-io/strot.git
cd strot && uv sync --group mcp

पर्यावरण चर सेट करें:

root@kitploit:~
export STROT_ANTHROPIC_API_KEY=sk-ant-apiXXXXXX
export STROT_BROWSER_MODE_OR_WS_URL=headless  # या 'headed' या ws://browser-url

यदि आप होस्टेड ब्राउज़र का उपयोग करना चाहते हैं, तो आप निम्न कार्य कर सकते हैं:

Docker के अंदर एक हेडलेस सर्वर चलाएँ

root@kitploit:~
docker run -d --name browser-server -p 5678:5678 synacktra/patchright-headless-server
export STROT_BROWSER_MODE_OR_WS_URL=ws://localhost:5678/patchright

या, किसी दूरस्थ ब्राउज़र सर्वर से कनेक्ट करें:

root@kitploit:~
export STROT_BROWSER_MODE_OR_WS_URL=wss://...

उपयोग

root@kitploit:~
$ uv run strotmcp
Usage: strotmcp COMMAND

╭─ कमांड्स ─────────────────────────────────────────────╮
│ http             एक http सर्वर प्रारंभ करें।          │
│ sse              एक sse सर्वर प्रारंभ करें।           │
│ stdio            एक stdio सर्वर प्रारंभ करें।         │
│ streamable-http  एक streamable http सर्वर प्रारंभ करें।│
╰────────────────────────────────────────────────────────╯

Claude Code के साथ

  • stdio ट्रांसपोर्ट

    root@kitploit:~
    claude mcp add strot-mcp "uv run strotmcp stdio" --transport stdio \
      --env STROT_ANTHROPIC_API_KEY=$STROT_ANTHROPIC_API_KEY STROT_BROWSER_MODE_OR_WS_URL=$STROT_BROWSER_MODE_OR_WS_URL
    
  • sse, http, streamable-http ट्रांसपोर्ट

    MCP सर्वर को वांछित ट्रांसपोर्ट के साथ एक अलग टर्मिनल में चलाएँ:

    root@kitploit:~
    uv run strotmcp sse --port 8888
    # uv run strotmcp http --host 0.0.0.0
    # uv run strotmcp streamable-http --host 127.0.0.1 --port 8777
    

    MCP सर्वर को Claude में जोड़ें:

    root@kitploit:~
    claude mcp add strot-mcp http://127.0.0.1:8888/sse --transport sse
    

🧪 मूल्यांकन

विभिन्न वेबसाइटों और व्यक्तिगत घटकों पर Strot के विश्लेषण की सटीकता का परीक्षण और सत्यापन करें। मूल्यांकन प्रणाली पाँच इनपुट प्रकारों का समर्थन करती है:

  • existing jobs (कार्य आईडी द्वारा पूर्ण किए गए कार्यों का मूल्यांकन),
  • new jobs (पूर्ण विश्लेषण कार्य बनाएँ और मूल्यांकन करें),
  • request detection (URL और क्वेरी संयोजनों का परीक्षण),
  • parameter detection (व्यक्तिगत अनुरोध पैरामीटर विश्लेषण का परीक्षण - पेजिनेशन और डायनेमिक पैरामीटर दोनों),
  • structured extraction (विशिष्ट स्कीमा के साथ प्रतिक्रिया पार्सिंग का परीक्षण)।

यह वास्तविक परिणामों की अपेक्षित परिणामों से तुलना करता है, स्रोत URL मिलान, पेजिनेशन कुंजी पहचान, डायनेमिक पैरामीटर पहचान और इकाई गणना सटीकता जैसे मेट्रिक्स पर नज़र रखता है। सभी मूल्यांकन और उनके विस्तृत विश्लेषण चरण Airtable में संग्रहीत किए जाते हैं।

सेटअप

root@kitploit:~
git clone https://github.com/vertexcover-io/strot.git
cd strot && uv sync --group eval

Airtable सेटअप

  1. एक नया Airtable बेस बनाएँ:

    • कार्यक्षेत्र पर जाएँ
    • अपने इच्छित कार्यक्षेत्र पर Create बटन पर क्लिक करें
    • Build an app on your own चुनें
    • URL से बेस आईडी कॉपी करें (जैसे appXXXXXXXXXXXXXX)
  2. एक पर्सनल एक्सेस टोकन बनाएँ:

    • /create/tokens पर जाएँ
    • निम्नलिखित स्कोप जोड़ें:
      • data.records:read
      • data.records:write
      • schema.bases:read
      • schema.bases:write
    • चरण 1 में बनाए गए बेस तक पहुँच दें
    • Create token दबाएँ और टोकन कॉपी करें (जैसे patXXXXXXXXXXXXXX)
  3. पर्यावरण चर सेट करें:

    root@kitploit:~

नोट: जब आप मूल्यांकन चलाएँगे, तो आवश्यक तालिकाएँ उपयुक्त स्कीमा के साथ स्वचालित रूप से बनाई जाती हैं।

उपयोग

root@kitploit:~
$ uv run stroteval
Usage: stroteval [OPTIONS]

एक फ़ाइल या stdin से कई जॉब-आधारित या टास्क-आधारित इनपुट का मूल्यांकन करें।

╭─ पैरामीटर ──────────────────────────────────────────────────────────────────╮
│ --file  -f  JSON/JSONL फ़ाइल का पथ। यदि प्रदान नहीं किया गया, तो stdin से पढ़ता है। │
╰───────────────────────────────────────────────────────────────────────────────╯

यदि आप जॉब-आधारित इनपुट का मूल्यांकन कर रहे हैं, तो सुनिश्चित करें कि API सर्वर चल रहा है।

root@kitploit:~
echo '[
  {
    "job_id": "existing-job-uuid",
    "expected_source": "https://api.example.com/reviews",
    "expected_pagination_keys": ["cursor", "limit"],
    "expected_dynamic_keys": ["sortBy", "category"],
    "expected_entity_count": 243
  },
  {
    "site_url": "https://example.com/category/abc",
    "query": "नाम और मूल्य वाले सूचीबद्ध उत्पाद",
    "expected_source": "https://api.example.com/products",
    "expected_pagination_keys": ["limit", "offset"],
    "expected_dynamic_keys": ["category", "sortBy"],
    "expected_entity_count": 100
  },
  {
    "request": {
      "method": "GET",
      "url": "https://example.com/api/products",
      "type": "ajax",
      "queries": {"page": "2", "limit": "50", "sortBy": "price", "category": "electronics"}
    },
    "expected_pagination_keys": ["page", "limit"],
    "expected_dynamic_keys": ["sortBy", "category"]
  },
  {
    "response": {
      "value": "",
      "request": {
        "method": "GET",
        "url": "https://example.com/api/reviews",
        "type": "ajax"
      },
      "preprocessor": {"element_selector": ".reviews-container"}
    },
    "output_schema_file": "review_schema.json",
    "expected_entity_count": 10
  }
]' | uv run stroteval

🆘 सहायता चाहिए?

  • 💬 GitHub चर्चाएँ - प्रश्न पूछें
  • 🐛 समस्याएँ रिपोर्ट करें - कोई बग मिला?

📄 लाइसेंस

MIT लाइसेंस - इसे अपनी इच्छानुसार उपयोग करें!


Vertexcover Labs द्वारा ❤️ के साथ बनाया गया

टूल डाउनलोड करें
export STROT_AIRTABLE_BASE_ID=appXXXXXXXXXXXXXX export STROT_AIRTABLE_TOKEN=patXXXXXXXXXXXXXX # यदि आप अलग-अलग कार्यों का मूल्यांकन करना चाहते हैं तो निम्न सेट करें export STROT_ANTHROPIC_API_KEY=sk-ant-apiXXXXXX