Stealth Chromium that passes every bot detection test. Drop-in Playwright replacement with source-level fingerprint patches. 30/30 tests passed.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
<p align="center"> <img src="https://i.imgur.com/cqkp6fG.png" width="500" alt="CloakBrowser"> </p>
<br>
<h3 align="center">모든 봇 탐지 테스트를 통과하는 스텔스 Chromium.</h3>
<table><tr><td> 패치된 설정이 아닙니다. JS 주입이 아닙니다. C++ 소스 수준에서 지문이 수정된 실제 Chromium 바이너리입니다. 안티봇 시스템은 이를 일반 브라우저로 평가합니다. 실제로 일반 브라우저이기 때문입니다. </td></tr></table>
<br>
<p align="center"> <img src="https://i.imgur.com/IvB0It7.gif" width="600" alt="Cloudflare Turnstile — 3 Tests Passing"> <br><em>Cloudflare Turnstile — 3개의 라이브 테스트 통과 (헤드 모드, macOS)</em> </p>
<br>
<p align="center"> Python 및 JavaScript를 위한 드롭인 Playwright/Puppeteer 대체품입니다.<br> 동일한 API, 동일한 코드 — import만 변경하면 됩니다. <strong>3줄의 코드, 30초면 차단 해제.</strong> </p>
humanize=True — 사람과 유사한 마우스 곡선, 키보드 타이밍 및 스크롤 패턴. 하나의 플래그로 행동 탐지 통과pip install cloakbrowser 또는 npm install cloakbrowser — 바이너리 자동 다운로드, 설정 불필요지금 바로 사용해보세요 — 설치 불필요:
docker run --rm cloakhq/cloakbrowser cloaktest
Python:
from cloakbrowser import launch
browser = launch()
page = browser.new_page()
page.goto("https://example.com")
browser.close()
JavaScript (Playwright):
import { launch } from 'cloakbrowser';
const browser = await launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();
Puppeteer에서도 작동: import { launch } from 'cloakbrowser/puppeteer' (자세히)
안티봇 보호가 있는 사이트의 경우, 리지덴셜 프록시와 다음 플래그를 추가하세요:
browser = launch(
proxy="http://user:pass@residential-proxy:port", # 데이터센터가 아닌 리지덴셜 IP
geoip=True, # 프록시 IP에 맞게 시간대 + 로케일 일치
headless=False, # 일부 사이트는 C++ 패치에도 헤드리스 모드 탐지
humanize=True, # 사람과 유사한 마우스, 키보드, 스크롤
)
const browser = await launch({
proxy: 'http://user:pass@residential-proxy:port',
geoip: true,
headless: false,
humanize: true,
});
사이트별 문제(FingerprintJS, Kasada, reCAPTCHA)는 문제 해결을 참조하세요.
Python:
pip install cloakbrowser
JavaScript / Node.js:
# Playwright 사용 시
npm install cloakbrowser playwright-core
# Puppeteer 사용 시
npm install cloakbrowser puppeteer-core
.NET / C#:
dotnet add package CloakBrowser
커뮤니티 유지 관리.NET 클라이언트로 Microsoft.Playwright 기반. 전체 API는
dotnet/README.md참조.
첫 실행 시 스텔스 Chromium 바이너리가 자동으로 다운로드됩니다 (~200MB, 로컬에 캐시됨).
선택 사항: 프록시 IP에서 시간대/로케일 자동 감지:
pip install cloakbrowser[geoip]
Playwright에서 마이그레이션? 한 줄 변경:
- from playwright.sync_api import sync_playwright
- pw = sync_playwright().start()
- browser = pw.chromium.launch()
+ from cloakbrowser import launch
+ browser = launch()
page = browser.new_page()
page.goto("https://example.com")
#... 나머지 코드는 변경 없이 작동
⭐ Star를 눌러 지원을 표시하세요 — Watch releases를 통해 새 빌드 출시 알림을 받으세요.
licensekey (licenseKey in JS) 또는 CLOAKBROWSERLICENSE_KEY 환경 변수를 설정하면 래퍼가 자동으로 최신 빌드를 가져옵니다. CloakBrowser Pro 참조CloakBrowser)로 제공되며, Python 및 JS 래퍼를 미러링합니다.extension_paths — 모든 실행 함수에서 Chrome 확장 프로그램 로드human_config — 개별 메서드 호출에서 humanize 설정 재정의buildLaunchOptions() 및 humanizeBrowser()proxy="socks5://user:pass@host:port"가 모든 실행 함수(Python + JS)에서 직접 작동. QUIC/HTTP3는 UDP ASSOCIATE를 통해 SOCKS5 터널링--fingerprint-webrtc-ip=auto는 프록시의 출구 IP를 확인하고 WebRTC ICE 후보를 스푸핑합니다. geoip=True 사용 시 자동 주입 (추가 네트워크 호출 없음)humanize=True — 하나의 플래그로 모든 마우스, 키보드 및 스크롤 상호작용이 실제 사용자처럼 동작합니다. 베지어 곡선, 문자별 타이핑, 현실적인 스크롤 패턴launch(proxy="...", geoip=True)가 시간대와 로케일을 자동 감지launchpersistentcontext()는 세션 간 쿠키와 localStorage를 유지하고, 시크릿 모드 탐지를 우회합니다.전체 CHANGELOG.md에서 자세한 내용을 확인하세요.
playwright-stealth, undetected-chromedriver, puppeteer-extra는 JavaScript를 주입하거나 플래그를 조정합니다. Chrome 업데이트마다 깨집니다. 안티봇 시스템은 패치 자체를 탐지합니다.CloakBrowser는 CAPTCHA를 해결하지 않습니다. CAPTCHA가 나타나는 것을 방지합니다. CAPTCHA 해결 서비스나 프록시 로테이션이 내장되어 있지 않습니다. 자체 프록시를 가져와서 이미 알고 있는 Playwright API를 사용하세요.
래퍼(Python + JS)는 MIT 라이선스로 영원히 무료입니다. 바이너리는 지연된 무료 릴리스 모델을 사용합니다:
안티봇 탐지는 지속적으로 업데이트되며, 오래된 바이너리는 빠르게 성능이 저하됩니다. Pro는 적극적으로 유지 관리되는 빌드를 사용할 수 있게 해줍니다.
CloakBrowser가 프로덕션 스크래핑, QA, 모니터링 또는 자동화의 일부이고 오래된 브라우저 지문이 시간이나 차단된 실행을 초래하는 경우 Pro를 사용하세요.
라이선스 키(환경 변수, license_key= 매개변수 또는 ~/.cloakbrowser/license.key)로 활성화:
export CLOAKBROWSER_LICENSE_KEY=cb_xxxxxxxx
Pro 요금제 → cloakbrowser.dev
모든 테스트는 라이브 탐지 서비스에 대해 검증되었습니다. 마지막 테스트: 2026년 6월 (Chromium 148).
| 탐지 서비스 | 일반 Playwright | CloakBrowser | 비고 | ||
|---|---|---|---|---|---|
| reCAPTCHA v3 | 0.1 (봇) | 0.9 (사람) | 서버 측 확인 | ||
| Cloudflare Turnstile (비대화형) | 실패 | 통과 | 자동 해결 | ||
| Cloudflare Turnstile (관리형) | 실패 | 통과 | 한 번 클릭 | ||
| ShieldSquare | 차단됨 | 통과 | 프로덕션 사이트 | ||
| FingerprintJS 봇 탐지 | 탐지됨 | 통과 | demo.fingerprint.com | ||
| BrowserScan 봇 탐지 | 탐지됨 | 정상 (4/4) | browserscan.net | ||
| bot.incolumitas.com | 13개 실패 | 1개 실패 | WEBDRIVER 사양만 | ||
| deviceandbrowserinfo.com | 6개 true 플래그 | 0개 true 플래그 | isBot: false |
||
navigator.webdriver |
true |
false |
소스 수준 패치 | ||
navigator.plugins.length |
0 | 5 | 실제 플러그인 목록 | ||
window.chrome |
undefined |
object |
실제 Chrome처럼 존재 | ||
| UA 문자열 | HeadlessChrome |
Chrome/146.0.0.0 |
헤드리스 누출 없음 | ||
| CDP 탐지 | 탐지됨 | 탐지되지 않음 | isAutomatedWithCDP: false |
||
| TLS 지문 | 불일치 | Chrome과 동일 | ja3n/ja4/akamai 일치 | ||
| 30개 이상의 탐지 사이트에서 테스트됨 |
<p align="center"> <img src="https://i.imgur.com/hvIQyMv.png" width="600" alt="reCAPTCHA v3 — Score 0.9"> <br><em>reCAPTCHA v3 점수 0.9 — 서버 측 확인 (사람 수준)</em> </p>
<p align="center"> <img src="https://i.imgur.com/qMIRfhq.png" width="600" alt="Cloudflare Turnstile — Success"> <br><em>Cloudflare Turnstile 비대화형 챌린지 — 자동 해결</em> </p>
<p align="center"> <img src="https://i.imgur.com/PRsw6rT.png" width="600" alt="BrowserScan — Normal"> <br><em>BrowserScan 봇 탐지 — 정상 (4/4 검사 통과)</em> </p>
<p align="center"> <img src="https://i.imgur.com/9n2C7tu.png" width="600" alt="FingerprintJS — Passed"> <br><em>FingerprintJS 웹 스크래핑 데모 — 데이터 제공, 차단되지 않음</em> </p>
<p align="center"> <img src="https://i.imgur.com/srCcFtK.png" width="600" alt="deviceandbrowserinfo.com — You are human!"> <br><em>deviceandbrowserinfo.com 행동 봇 탐지 — "당신은 사람입니다!"</em> </p>