CloakHQ/CloakBrowser-Manager
요약
CloakHQ/CloakBrowser-Manager는 고유한 지문(fingerprint)과 독립적인 세션을 가진 격리된 브라우저 프로필을 생성, 관리 및 실행하는 도구입니다. 이 시스템은 Multilogin이나 GoLogin 같은 상용 제품의 무료 자체 호스팅 대안으로 설계되었으며, 각 프로필이 완전히 다른 장치 식별자를 갖도록 보장합니다. 프로필 관리는 물론, 세션 지속성 유지와 Playwright/Puppeteer를 통한 CDP(Chrome DevTools Protocol) 기반 자동화 연결을 지원하여 강력한 웹 스크래핑 및 계정 관리 기능을 제공합니다.
핵심 포인트
- 고유 지문 생성: 각 프로필은 Canvas, WebGL, GPU 등 50가지 이상의 신호를 포함하는 완전히 다른 장치 식별자를 가집니다.
- 격리된 환경: 모든 것이 단일 Docker 컨테이너에서 실행되며, 각 프로필은 독립적인 CloakBrowser 인스턴스로 격리됩니다.
- 자동화 및 관찰 가능성: Playwright/Puppeteer를 통해 CDP 엔드포인트로 프로그램적 연결이 가능하며, noVNC를 통해 실시간 시각적 상호작용도 지원합니다.
- 세션 지속성: 쿠키, localStorage, 캐시 등의 세션 데이터가 브라우저 재시작 후에도 유지됩니다.
- 기술 스택: FastAPI(백엔드), React/Tailwind CSS(프론트엔드), CloakBrowser(브라우저 엔진)를 사용하여 구축되었습니다.
고유한 지문(fingerprint)을 가진 격리된 브라우저 프로필을 생성, 관리 및 실행합니다.
Multilogin, GoLogin, AdsPower의 무료 자체 호스팅 대안입니다.
각 프로필은 고유한 지문, 프록시, 쿠키 및 세션 데이터를 가진 독립적인 CloakBrowser 인스턴스입니다. 프로필은 재시작에도 유지됩니다. 모든 것이 단일 Docker 컨테이너에서 실행됩니다.
docker run -p 8080:8080 -v cloakprofiles:/data cloakhq/cloakbrowser-manager
또는 소스에서 빌드합니다:
git clone https://github.com/CloakHQ/CloakBrowser-Manager.git
cd CloakBrowser-Manager
docker compose up --build
브라우저에서 http://localhost:8080을 엽니다. 프로필을 생성합니다. 실행(Launch)을 클릭합니다. 끝입니다.
초기 알파 버전이므로 이 프로젝트는 활발하게 개발 중입니다. 버그가 있을 수 있습니다. 발견하면 이슈를 열어주십시오.
VPN은 IP 주소만 변경합니다. 시크릿 모드(Incognito)는 쿠키만 지웁니다. Chrome 프로필은 그 아래에 동일한 하드웨어 지문을 공유합니다. 플랫폼은 계정을 연결하기 위해 50가지 이상의 신호(signal)를 사용합니다 — canvas, WebGL, 오디오, GPU, 글꼴(fonts), 화면 크기, 시간대(timezone).
각 CloakBrowser 프로필은 완전히 다른 장치 식별자(device identity)를 생성합니다. 웹사이트에게 각 프로필은 다른 컴퓨터처럼 보입니다.
| 솔루션 | 변경하는 것 | 계정 연결 여부? |
|---|---|---|
| VPN | IP 주소만 | 예 — 동일한 지문 |
| ... | CloakBrowser | 모든 것 — 프로필별 전체 장치 식별자 |
| 아니오 |
프로필 관리 (Profile management) — 고유한 지문으로 브라우저 프로필 생성, 편집, 삭제개별 프로필 설정 (Per-profile settings) — 지문 시드(fingerprint seed), 프록시, 시간대(timezone), 로케일(locale), 사용자 에이전트(user agent), 화면 크기, 플랫폼원클릭 실행/중지 (One-click launch/stop) — 각 프로필은 격리된 CloakBrowser 인스턴스로 실행세션 지속성 (Session persistence) — 쿠키, localStorage, 캐시가 브라우저 재시작 후에도 유지됨인브라우저 보기 (In-browser viewing) — noVNC를 통해 실행 중인 브라우저와 웹 GUI에서 직접 상호 작용 가능Playwright/Puppeteer API — CDP(Chrome DevTools Protocol)를 통해 실행 중인 모든 프로필에 프로그램적으로 연결할 수 있으며, 동시에 브라우저에서 실시간으로 관찰 가능선택적 인증 (Optional authentication) — 단일 토큰으로 웹 UI 및 API 보호 또는 로컬에서 개방적으로 실행 가능CloakBrowser 기반 (Powered by CloakBrowser) — 32개의 소스 레벨 C++ 패치로 Cloudflare Turnstile, 0.9 reCAPTCHA v3 점수 통과
백엔드 (Backend): FastAPI (Python)
프론트엔드 (Frontend): React + Tailwind CSS
브라우저 뷰어 (Browser viewer): noVNC (WebSocket 기반 VNC 클라이언트)
데이터베이스 (Database): SQLite
브라우저 엔진 (Browser engine): CloakBrowser (stealth Chromium 바이너리)
cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
...
cd frontend
npm install
npm run dev
docker compose up --build
- Docker (20.10+)
- 디스크 약 2 GB (이미지 + 바이너리)
- 실행 중인 프로필당 RAM 약 512 MB
최신 이미지 풀 및 재시작:
docker pull cloakhq/cloakbrowser-manager
docker stop <container-id>
docker run -p 8080:8080 -v cloakprofiles:/data cloakhq/cloakbrowser-manager
프로필 및 세션 데이터는 cloakprofiles 볼륨에 저장되며 업데이트를 거쳐도 유지됩니다.
실행 중인 모든 프로필은 CDP(Chrome DevTools Protocol) 엔드포인트를 노출합니다. Playwright 또는 Puppeteer를 연결하여 프로필을 자동화하는 동시에 브라우저에서 실시간으로 관찰할 수 있습니다.
from playwright.async_api import async_playwright
async with async_playwright() as pw:
browser = await pw.chromium.connect_over_cdp(
...
CDP URL은 프로필이 실행 중일 때 툴바(코드 아이콘)에서 확인할 수 있습니다. 동일한 브라우저 세션은 VNC를 통해 시각적으로 접근할 수도 있고, API를 통해 프로그램적으로도 접근 가능합니다.
컨테이너는 localhost에만 바인딩됩니다. 원격 서버에서 액세스하려면 다음 명령어를 사용하세요:
ssh -L 8080:localhost:8080 your-server
그런 다음 http://localhost:8080을 열면 됩니다.
기본적으로 인증(authentication)이 없으므로 (로컬 사용에 이상적입니다), 네트워크에서 호스팅할 때 웹 UI와 API를 보호하려면 AUTH_TOKEN 환경 변수를 설정하세요:
docker run -p 8080:8080 -v cloakprofiles:/data -e AUTH_TOKEN=your-secret-token cloakhq/cloakbrowser-manager
또는 docker-compose.yml에서 다음과 같이 설정합니다.
environment:
- AUTH_TOKEN=your-secret-token
AUTH_TOKEN이 설정되면:
- 웹 UI에 로그인 페이지가 표시됩니다. 토큰을 입력하여 잠금을 해제하세요.
- API 소비자들은
Authorization: Bearer <token>헤더를 통해 토큰을 전달합니다. - VNC WebSocket 연결은 로그인 쿠키(login cookie)를 통해 인증됩니다. /api/status엔드포인트는 여전히 인증 없이 사용 가능합니다 (Docker 헬스체크용).
참고: 인증 토큰은 HTTP를 통해 평문(cleartext)으로 전송됩니다. Manager를 인터넷에 노출하는 경우, HTTPS가 적용된 리버스 프록시(Caddy, nginx, Traefik 등) 뒤에 배치하세요.
이 애플리케이션(GUI 소스 코드) — MIT 라이선스입니다. LICENSE를 참조하세요.CloakBrowser 바이너리(컴파일된 Chromium) — 사용은 자유로우나 재배포는 불가합니다. BINARY-LICENSE.md를 참조하세요.
GUI 애플리케이션은 작동하는 데 CloakBrowser Chromium 바이너리가 필요합니다. 해당 바이너리는 첫 실행 시 자동으로 다운로드되며 자체 라이선스 약관을 따릅니다. 이 애플리케이션을 포크(fork)하거나 재배포하는 경우, 사용자들은 CloakBrowser Binary License를 준수해야 합니다.
기여는 환영합니다. 변경하고 싶은 내용에 대해서는 먼저 이슈(issue)를 열어 논의해 주시기 바랍니다.
CloakBrowser— github.com/CloakHQ/CloakBrowser 웹사이트— cloakbrowser.dev 버그 보고— GitHub Issues 문의— cloakhq@pm.me
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기