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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
invisible_playwright — Anti-detect browser stealth for Playwright: undetected headless Firefox fingerprint spoofing. Python web scraping and automation, Cloudflare, captcha and anti-bot detection bypass. | Kitploit
उपकरण/GitHubGitHub/feder-cr/invisible_playwright
IDS/IPS EvasionImpersonation ToolsWeb SecurityAnti-BotFingerprint SpoofingCAPTCHA Bypass
GitHubfeder-cr/invisible_playwright

invisible_playwright

Anti-detect browser stealth for Playwright: undetected headless Firefox fingerprint spoofing. Python web scraping and automation, Cloudflare, captcha and anti-bot detection bypass.

रिपॉजिटरी देखें
1.8k201911 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
invisible_playwright

Playwright के लिए मुफ़्त antidetect ब्राउज़र स्टील्थ: undetected Firefox फ़िंगरप्रिंट, headless या headed।
Python वेब स्क्रैपिंग और captcha बायपास। ओपन सोर्स, और यह हर बॉट डिटेक्शन टेस्ट पास करता है।

invisible_playwright - 5/5 detection suites passed

यह कैसे काम करता है

Anti-bots दो सवाल पूछते हैं, और reCAPTCHA, hCaptcha तथा Cloudflare Turnstile जवाबों को स्कोर करते हैं। invisible_playwright दोनों का जवाब हाँ में देता है।

1. क्या यह असली ब्राउज़र है? हाँ। यह Firefox है, जिसे C++ सोर्स स्तर पर पैच किया गया है।

  • ब्राउज़र फ़िंगरप्रिंट इंजन के अंदर सेट होता है, पेज में इंजेक्ट नहीं किया जाता: navigator, screen, GPU/WebGL, canvas, fonts, audio, WebRTC, timezone, network। Headless हो या headed, दोनों में मान समान रहते हैं।
  • कोई JS shim नहीं, कोई override नहीं, पढ़ने के लिए कोई सीम नहीं।

2. क्या इसे कोई असली व्यक्ति इस्तेमाल कर रहा है? हाँ। ड्राइवर में क्रियाएँ humanized हैं।

  • हर क्लिक, hover और drag प्राकृतिक माउस पथ और मानवीय टाइमिंग का पालन करता है, कर्सर कहीं छलांग नहीं लगाता।
  • हर इनपुट असली माउस के साथ बाइट-दर-बाइट समान है: असली input source, pressure, trusted events।

इंस्टॉल

root@kitploit:~
pip install invisible-playwright
python -m invisible_playwright fetch      # one-time download, sha256-verified: 240 MB (Windows) / 262 MB (Linux x86_64) / 253 MB (Linux arm64), about 550 MB unpacked

Python 3.11 या नया आवश्यक है।

समर्थित प्लेटफ़ॉर्म: Windows x86_64, Linux x86_64 / arm64।


उपयोग

प्रति सेशन रैंडम फ़िंगरप्रिंट

Playwright का API, sync और async, बिना कोई कोड बदले। वही ऑब्जेक्ट, वही कॉल, वही रिटर्न वैल्यू। कुछ सतहें दायरे से बाहर हैं - tracing, HAR, CDP, API request context - और go_back() तथा go_forward() restored pages में एक दोष के कारण रोके गए हैं; हर एक चुपचाप गलत व्यवहार करने के बजाय कारण बताते हुए मना कर देता है। अगर आप पहले से Playwright इस्तेमाल करते हैं, तो स्विच करना दो लाइनों का काम है:

root@kitploit:~
- from playwright.sync_api import sync_playwright
- with sync_playwright() as p:
-     browser = p.firefox.launch()
+ from invisible_playwright import InvisiblePlaywright
+ with InvisiblePlaywright() as browser:

हर सेशन को एक अलग फ़िंगरप्रिंट (GPU, audio, fonts, screen, ~200 फ़ील्ड) और Bezier-curve माउस मोशन मिलता है।

Sync

root@kitploit:~
from invisible_playwright import InvisiblePlaywright

with InvisiblePlaywright(proxy={"server": "socks5://...", "username": "u", "password": "p"}) as browser:
    page = browser.new_page()
    page.goto("https://example.com")
    page.click("#submit")   # mouse arcs to the button on a Bezier curve

Async

root@kitploit:~
from invisible_playwright.async_api import InvisiblePlaywright

async with InvisiblePlaywright(proxy={"server": "socks5://...", "username": "u", "password": "p"}) as browser:
    page = await browser.new_page()
    await page.goto("https://example.com")
    await page.click("#submit")

browser ऑब्जेक्ट एक playwright.sync_api.Browser / playwright.async_api.Browser है - हर Playwright मेथड वैसे ही काम करता है।

रन को दोबारा चलाने के लिए seed लॉग करें:

root@kitploit:~
sf = InvisiblePlaywright()
with sf as browser:
    print("seed =", sf.seed)
    # ...

पुनरुत्पादनीय फ़िंगरप्रिंट

root@kitploit:~
with InvisiblePlaywright(seed=42) as browser:
    ...   # same GPU, same canvas hash, same audio context, every run

प्रॉक्सी

root@kitploit:~
proxy = {
    "server": "socks5://gate.example.com:1080",
    "username": "user",
    "password": "pass",
}
with InvisiblePlaywright(proxy=proxy) as browser:
    ...

समर्थित स्कीम: socks5, socks4, http, https। DNS डिफ़ॉल्ट रूप से प्रॉक्सी से होकर जाता है, कोई लोकल लीक नहीं।

टाइमज़ोन

ब्राउज़र टाइमज़ोन timezone= का पालन करता है:

root@kitploit:~
# default: timezone is auto-derived from the egress IP (proxy egress if a
# proxy is set, otherwise the host's own public IP)
with InvisiblePlaywright(proxy=proxy) as browser:
    ...

# explicit IANA zone always wins, the only way to force a specific zone
with InvisiblePlaywright(proxy=proxy, timezone="America/New_York") as browser:
    ...

विशिष्ट फ़िंगरप्रिंट फ़ील्ड पिन करना

डिफ़ॉल्ट रूप से सब कुछ seed से आता है। बाकी seed-व्युत्पन्न रहते हुए विशिष्ट मान थोपने के लिए:

root@kitploit:~
with InvisiblePlaywright(
    seed=42,
    pin={
        "gpu.renderer": "ANGLE (AMD, Radeon R9 200 Series Direct3D11 vs_5_0 ps_5_0, D3D11)",
        "gpu.vendor":   "Google Inc. (AMD)",
        "screen.width":  2560,
        "screen.height": 1440,
        "hardware.concurrency": 16,
    },
) as browser:
    ...

GPU pin मुक्त स्ट्रिंग सेट करने के बजाय मान्य personas में से एक चुनता है, क्योंकि ~81 getParameter मान और extension सूची renderer नाम के साथ चलते हैं और एक डिटेक्टर उन्हें उसके विरुद्ध क्रॉस-चेक करता है। पूल में मौजूद न होने वाला नाम त्रुटि उठाता है, और त्रुटि उन नामों की सूची देती है जो मौजूद हैं।

pinnable keys की पूरी सूची, pinning Bayesian sampler के साथ कैसे काम करता है, और सामान्य पैटर्न docs/pinning.md में हैं।


CLI

इंस्टॉल किया गया कमांड invisible-playwright है, हाइफ़न के साथ। python -m invisible_playwright बिल्कुल वैसे ही काम करता है और PATH पर कुछ भी आवश्यक नहीं।

root@kitploit:~
invisible-playwright fetch    # download the engine if missing, check every cached
                              # one against the seal, print the path
invisible-playwright version  # wrapper, core and engine versions, and where the
                              # engine is cached

दस्तावेज़ीकरण, गाइड और तुलनाएँ

अगर आप स्क्रिप्ट लिखने के बजाय प्रॉम्प्ट करना पसंद करें। यह पेज इंजन है, एक Python लाइब्रेरी के रूप में। बिना कोड लिखे इसे इस्तेमाल करने के दो तरीके, दोनों एक लाइन के: आपके पास पहले से मौजूद MCP क्लाइंट से (Claude Code, Claude Desktop, Cursor), claude mcp add stealth -- uvx aihawk, देखें the MCP server page; या एक इंटरफ़ेस और मॉडल सहित, जिसके लिए केवल OpenRouter key चाहिए, uvx aihawk ui --openrouter-key sk-or-..., देखें AIHawk। नीचे वही इंजन है, और दूसरा पहले का क्लाइंट है।

यह सब बेहतर पढ़ा जाता है, और खोजा जा सकता है, the wiki में, जो एक सपाट सूची के बजाय चार खंडों में व्यवस्थित है:

  • Documentation - इंस्टॉलेशन, सादे Playwright से दो-लाइन स्विच, proxy/timezone कॉन्फ़िगरेशन, विशिष्ट फ़ील्ड पिन करना, CLI।
  • Guides - डिटेक्शन वास्तव में कैसे काम करता है, सात समूहों में: browser identity, canvas/WebGL/fonts/ audio, network और WebRTC, automation लेयर, AI agents, सोर्स से समझाए गए डिटेक्टर स्वयं, और परीक्षण।
  • Comparisons - Camoufox, Patchright, nodriver और playwright-stealth के विरुद्ध, और सामान्य रूप से Chromium के बजाय Firefox के पक्ष में तर्क।
  • Integrations - Scrapy, Crawlee, Robot Framework, CodeceptJS, test runners, Playwright MCP, और वे फ़्रेमवर्क जिनमें यह फ़िट नहीं होता, नाम के साथ।

अगर आपको नहीं पता कि कहाँ से शुरू करें: Three ways to make Playwright undetected वह नक्शा है जिससे बाकी ज़्यादातर पेज लिंक करते हैं, Playwright detected as a bot on one site समस्या-निवारण का क्रम है, और navigator.webdriver is not the tell you think it is इस क्षेत्र की सबसे प्रसिद्ध प्रॉपर्टी समझाता है और यह क्यों अकेले उसे पैच करने से लगभग कुछ नहीं मिलता।

detectors खंड अब व्यावसायिक anti-bot उत्पादों को नाम के साथ कवर करता है, हर एक अपने दस्तावेज़ीकरण या पुष्ट reverse engineering से पढ़ा गया: Cloudflare Bot Management और Turnstile, DataDome, Kasada, Akamai Bot Manager, PerimeterX, hCaptcha, Imperva, और the rest of the set।

संबंधित प्रोजेक्ट

इसी के अन्य हिस्से। इंजन तीन में से बीच वाला है, और उसके आसपास के दो वे हैं जिनसे ज़्यादातर लोग इस तक पहुँचते हैं:

  • invisible_core - seed से फ़िंगरप्रिंट से preferences तक, साथ में proxy और geolocation। यह पैकेज इसे पिन करता है।
  • AIHawk - यह इंजन एक MCP सर्वर के रूप में (uvx aihawk, किसी भी ऐसे क्लाइंट के लिए जो अपना मॉडल लाता है) और, उसी पैकेज में, एक कमांड से मॉडल सहित एक इंटरफ़ेस। इंटरफ़ेस सर्वर का क्लाइंट है, ब्राउज़र तक कोई निजी रास्ता नहीं।

ओपन-सोर्स पड़ोसी। कौन सा फ़िट होता है यह इस पर निर्भर है कि आपकी समस्या किस लेयर पर है, और क्या आपको Firefox चाहिए या Chromium: three ways to make Playwright undetected यह समझाता है कि हर लेयर क्या पा सकती है, और AI browser agents and stealth उन फ़्रेमवर्क को कवर करता है जो आपके लिए CDP के बजाय Chromium चुनते हैं।

Firefox की ओर

  • Camoufox - C++ भी पैच करता है, व्यापक सतह, seed से व्युत्पन्न करने के बजाय एक फ़िंगरप्रिंट डेटाबेस भेजता है। Comparison।
  • LibreWolf - ब्राउज़ करने के लिए privacy-defaults वाला Firefox, ऑटोमेट करने के लिए नहीं।
  • arkenfox/user.js - preferences के ज़रिए hardening। जहाँ preference काफ़ी हो, वहीं उसका उपयोग करें।

Chromium की ओर

  • Patchright - एक पैच किया गया Playwright fork: काम ड्राइवर में होता है, बाइनरी में नहीं। Comparison।
  • nodriver - undetected-chromedriver का उत्तराधिकारी, CDP के ज़रिए Chrome चलाता है। Comparison।
  • rebrowser-patches - Runtime.enable CDP लीक ठीक करता है। Comparison।
  • fingerprint-suite - एक Bayesian फ़िंगरप्रिंट जनरेटर, फिर पेज में इंजेक्ट किया जाता है। Comparison।
  • playwright-with-fingerprints - एक सशुल्क रिमोट सेवा से मान, केवल Windows। Comparison।
  • playwright-stealth - एक init-script पैच; इसका मेंटेनर इसे proof-of-concept कहता है। Comparison।
  • puppeteer-extra-plugin-stealth - उस वंश का मूल, अंतिम ठोस कमिट मध्य-2024 में। What that means।
  • selenium-stealth - Selenium पर वही दृष्टिकोण, अंतिम कमिट दिसंबर 2021। What that means।
  • pyppeteer - इसके अपने README के अनुसार unmaintained, जो playwright-python की ओर इशारा करता है। What that recommendation is about।

इंजन में क्या पैच किया गया है

नीचे दी गई हर चीज़ पर दो नियम लागू होते हैं। हर मान किसी पेज के पूछने से पहले तय हो जाता है, ब्राउज़र के अंदर, इसलिए खोजने के लिए कोई JavaScript shim नहीं है। और हर मान एक ही प्रोफ़ाइल से आता है, इसलिए कोई दो सतहें एक-दूसरे का खंडन नहीं करतीं, जिससे आमतौर पर एक spoofed ब्राउज़र पकड़ा जाता है। सोर्स: feder-cr/firefox_antidetect_patch।

पहचान

  • navigator, user agent और client hints एक साथ व्युत्पन्न होते हैं, इसलिए वे असहमत नहीं हो सकते: does Playwright set navigator.webdriver, client hints and Sec-Fetch।
  • navigator.languages और Accept-Language हेडर एक ही घोषणा हैं, भेजी और पढ़ी जाती: Accept-Language and navigator.languages।
  • Screen geometry, devicePixelRatio और उसे उजागर करने वाली media queries घोषित हैं, होस्ट से पढ़ी नहीं जातीं: devicePixelRatio and the Firefox pref, CSS media query fingerprinting।

रेंडरिंग

  • Canvas readback प्रति seed नियतात्मक है और असली आकृति बनाए रखता है, ब्लॉक या noise किया हुआ नहीं: canvas fingerprint noise, why a canvas fingerprint changes every run।
  • WebGL एक सुसंगत GPU persona रिपोर्ट करता है: vendor, renderer और parameter limits क्रॉस-चेक किए जाते हैं, एक-एक करके सेट नहीं: WebGL renderer strings, WebGL parameters are identical।
  • Fonts ब्राउज़र के साथ आते हैं, इसलिए हर होस्ट पर वही चेहरे मौजूद होते हैं और प्लेटफ़ॉर्म font engine अब चुनाव नहीं करता: bundled fonts across platforms, why headless browsers render different fonts, detecting installed fonts from JavaScript।
  • Text metrics उन्हीं fonts का पालन करते हैं: measureText एक कॉल से दस से अधिक संख्याएँ लौटाता है, बिना किसी permission prompt के: measureText and TextMetrics।
  • Canvas और WebGL एक ही seed के लिए ऑपरेटिंग सिस्टमों में सहमत होते हैं: cross-platform consistency, canvas differs across operating systems।

ऑडियो और मीडिया

  • ऑडियो स्टैक होस्ट डिवाइस के बजाय प्रोफ़ाइल से जवाब देता है: AudioContext fingerprinting, sample rate and latency।
  • Codec तालिका घोषित है, इसलिए एक Linux होस्ट Windows के सवाल का जवाब Linux समर्थन से नहीं देता: codec fingerprinting।

नेटवर्क

  • WebRTC असली पता लीक करने या कोई भी न देने के बजाय - जो स्वयं एक संकेत है - प्रॉक्सी exit लिए हुए एक synthetic candidate प्रस्तुत करता है: WebRTC ICE candidate spoofing, does the WebRTC IP match the proxy exit।
  • DNS प्रॉक्सी के ज़रिए resolve होता है, तब भी जब प्रॉक्सी preferences में न हो: does a proxy leak DNS, how to check for a proxy IP leak।
  • टाइमज़ोन egress IP से आता है, ऑफ़लाइन resolve किया गया, इसलिए यह exit से मेल खाता है: timezone and proxy mismatch, offline GeoIP timezone।

ऑटोमेशन लेयर

  • Input events असली input पथ से आते हैं, इसलिए isTrusted सच है क्योंकि यह वास्तव में सच है: Playwright clicks and isTrusted।
  • पॉइंटर मानवीय पथ और टाइमिंग का पालन करता है, ऐसी गति से जो एक असली डिवाइस उत्पन्न कर सकता है: human mouse movement, mouse dynamics as behavioural biometrics।
  • Debugger सतह उन timing सवालों का जवाब नहीं देती जो एक driven ब्राउज़र का भेद खोल देती हैं: debugger timing detection।
  • Closed-mode shadow roots पहुँच योग्य हैं, जो stock Playwright किसी भी इंजन में नहीं कर सकता, जबकि पेज अब भी null पढ़ता है: closed shadow roots।

लाइसेंस

MIT - देखें LICENSE। पैच किया गया Firefox बाइनरी MPL-2.0 (Firefox upstream लाइसेंस) के अंतर्गत वितरित किया जाता है। उस बाइनरी को बनाने वाले mozilla-central के विरुद्ध C++ पैच feder-cr/firefox_antidetect_patch पर हैं।


अस्वीकरण

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


Built by Federico Elia  LinkedIn

tests License: MIT Python 3.11+ Firefox 151.0 browser launches GitHub stars

टूल डाउनलोड करें