CloakHQ/CloakBrowser

Stealth Chromium that passes every bot detection test. Drop-in Playwright replacement with source-level fingerprint patches. 30/30 tests passed.

CloakBrowser – Playwright / Puppeteer용 스텔스 크롬

무엇인가요

  • C++ 소스 레벨에서 87개의 패치를 적용한 커스텀 빌드된 크롬 바이너리입니다. 목표는 리모트 봇 탐지 서비스에 일반적인 헤드리스가 아닌 크롬과 완전히 동일하게 보이게 하는 것입니다.
  • 바이너리는 Python, JavaScript/Node, .NET의 얇은 래퍼로 감싸져 있으며, Playwright(및 Puppeteer)와 동일한 API를 제공합니다. 기존 자동화 코드를 변경하지 않고 import { launch } from 'cloakbrowser' (또는 from cloakbrowser import launch)를 바로 사용할 수 있습니다.

AI 에이전트/자동화에서 중요한 이유

  • LangChain, Crawl4AI 등의 현대적 AI 에이전트는 동적 페이지를 가져오기 위해 브라우저에 의존합니다. 그러나 이러한 에이전트는 reCAPTCHA, Cloudflare Turnstile, FingerprintJS 등에 의해 차단되는 경우가 많습니다. CloakBrowser는 도전 과제가 나타나기 전에 차단을 방지함으로써 별도의 CAPTCHA 해결 서비스가 필요 없게 합니다.
  • 스텔스 기능이 바이너리에 내장되어 있어 Chrome 업데이트에도 영향을 받지 않으며, JavaScript 기반의 "스텔스 플러그인"을 반복 적용할 필요가 없습니다.

주요 기능 (README에 기술됨)

기능 세부 사항
소스 레벨 스텔스 canvas, WebGL, 오디오, 폰트, GPU, 화면 크기, WebRTC, 네트워크 타이밍, 자동화 플래그, CDP 입력 동작 등 87개의 C++ 패치
휴먼라이즈 플래그 humanize=True로 설정하면 마우스 이동, 타이핑, 스크롤이 현실적인 베지어 곡선과 타이밍을 따릅니다
고성능 reCAPTCHA v3 점수 최신 빌드에서 0.9(인간 수준)로 보고됨
Cloudflare Turnstile, FingerprintJS, BrowserScan 통과 30개 이상의 탐지 사이트에서 테스트 완료
정확한 바이너리 자동 다운로드 pip install cloakbrowser / npm install cloakbrowser로 적절한 Chromium 빌드(무료 또는 Pro)를 다운로드하고 로컬에 캐시
프록시 및 지오IP 지원 HTTP 또는 SOCKS5 프록시를 수용; geoip=True로 타임존/로케일을 동기화하고 WebRTC ICE 후보를 프록시의 출구 IP로 위장
다중 언어 래퍼 Python, Node(Playwright 및 Puppeteer), .NET(NuGet 패키지)
Docker 호환 docker run --rm cloakhq/cloakbrowser cloaktest로 빠른 정상 작동 테스트 가능; 컨테이너 내에서 헤드리스로 작동
지속적 프로필 및 확장 기능 launch_persistent_context()로 쿠키/LocalStorage 유지; extension_paths로 Chrome 확장 로드 가능
CloakBrowser Manager (GUI) 별도 오픈소스 GUI(MIT 라이선스)로 무제한의 격리된 프로필을 생성 가능. 각 프로필은 고유의 지문, 프록시, CDP 엔드포인트를 가짐

일반적인 사용 예 (Python)

from cloakbrowser import launch

browser = launch(
    proxy="http://user:pass@residential-proxy:8080",
    geoip=True,
    headless=False,
    humanize=True,
)
page = browser.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()

일반적인 사용 예 (Node – Playwright)

import { launch } from 'cloakbrowser';

const browser = await launch({
  proxy: 'http://user:pass@residential-proxy:8080',
  geoip: true,
  headless: false,
  humanize: true,
});
const page = await browser.newPage();
await page.goto('https://example.com');
await browser.close();

설치

  • Python: pip install cloakbrowser
  • Node: npm install cloakbrowser playwright-core (Puppeteer용은 ... puppeteer-core)
  • .NET: dotnet add package CloakBrowser
  • 첫 실행 시 적절한 Chromium 바이너리 (~200 MiB)를 자동 다운로드하고 Ed25519 서명으로 검증됩니다.

라이선스 및 가격

  • 리포지토리는 MIT 라이선스; 바이너리는 별도 라이선스로 배포됩니다.
  • GitHub 로그인으로 얻는 무료 키는 최신 빌드에서 1개의 동시 세션을 제공합니다.
  • CloakBrowser Pro는 무제한 동시 세션, 우선 업데이트, 지원을 제공합니다. 키는 CLOAKBROWSER_LICENSE_KEY 환경 변수 또는 license_key 인수로 설정됩니다.

내부 동작 방식

  1. 바이너리 빌드 – 팀은 Chromium을 포크하고 87개의 패치를 적용, 각 플랫폼용으로 빌드, 아카이브에 서명, 호스팅.
  2. 래퍼 – Python/JS/.NET 패키지는 바이너리를 다운로드하고 Playwright/Puppeteer를 통해 실행하며, 몇 가지 시작 인수(예: --fingerprint-webrtc-ip=auto)를 주입.
  3. 검증 – 다운로드는 공개된 Ed25519 체크섬과 비교되어 변조를 방지.

필요한 경우

  • 헤드리스 브라우저를 엄격하게 탐지하는 사이트의 스크래핑.
  • 인간의 개입 없이 브라우징이 필요하지만 눈에 띄지 않아야 하는 AI 에이전트 실행.
  • 실제 사용자와 동일하게 페이지를 렌더링해야 하는 QA 또는 모니터링 파이프라인.
  • 현재 취약한 "스텔스 플러그인" 솔루션에 의존하는 모든 자동화.

제한 사항

  • CloakBrowser는 이미 표시된 CAPTCHA를 해결하지 않습니다. 표시되지 않도록 하는 것만 목표입니다.
  • 최고의 성공률을 위해서는 자체 리지던셜 프록시를 제공해야 합니다.
  • 무료 버전은 1개의 동시 세션에 제한되며, 대규모 스케일링을 위해서는 Pro 라이선스가 필요합니다.

위 정보는 프로젝트의 README에서 직접 인용되었으며, 추가 기능은 추측되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트