TopGit
Đánh giá repo GitHub

Obscura: Trình duyệt headless nhẹ cho tác tử AI

h4ckf0r0day/obscura
OTopGit review image for h4ckf0r0day/obscura
Review by Topgit.dev for h4ckf0r0day/obscura, with GitHub repository stats and README context.
Nhận định nhanh

Obscura là lựa chọn đáng giá cho các team chạy automation trình duyệt ở quy mô lớn: engine Rust nhẹ hơn, khởi động nhanh hơn, và lớp chống bị phát hiện có sẵn. Tương thích CDP đảm bảo hầu hết script Puppeteer và Playwright chuyển qua được. Nó giải quyết các vấn đề thường gặp như tốn bộ nhớ, tốc độ load trang, và bị phát hiện là bot.

Sao
★ 29.0k
Fork
⑂ 2.2k
Người đóng góp
👥 65
Ngôn ngữ
Rust
Giấy phép
Apache-2.0
Chủ đề
AI Tools
Cập nhật
Oct 2026
Trang chủ
GitHub

Obscura là gì?

Obscura là trình duyệt headless tự chứa viết bằng Rust, chạy JavaScript qua V8 và giao tiếp bằng Chrome DevTools Protocol. Nó chụp ảnh, quét web, và serve một CDP WebSocket endpoint — từ binary có sẵn hoặc Docker container — mà không cần cài Chromium hay Node.js. Dự án nhắm vào quét web và tự động hóa cho tác tử AI, với bản stealth build random fingerprint trình duyệt và chặn tracker ở tầng mạng.

Tính năng cốt lõi cho tự động hóa và quét web

  • ✓CDP server tương thích Puppeteer và Playwright mà không cần cài Chromium
  • ✓Engine rendering riêng: CSS layout, chụp ảnh, chụp toàn trang, xuất PDF raster — không cần tiến trình Chromium
  • ✓Chế độ stealth: random fingerprint mỗi phiên cho canvas, audio, GPU, màn hình; chặn 3.520 domain tracker đã biết
  • ✓MCP server cho tác tử AI: expose công cụ có cấu trúc (navigate, snapshot, click, fill, screenshot, PDF) qua stdio hoặc HTTP
  • ✓Thực thi JavaScript V8 với deadline có thể điều chỉnh (`OBSCURA_SCRIPT_DEADLINE_MS`) cho SPA nặng
  • ✓Quét song song với concurrency cấu hình được, proxy kế thừa, và output JSON/text
  • ✓Hỗ trợ proxy SOCKS5 và HTTP cho từng lệnh và toàn cục
  • ✓Docker image trên distroless/cc: ~57 MB nén, không shell, không package manager
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao ↗

Bắt đầu với Obscura

Binary có sẵn cho Linux x86_64, Linux ARM64, macOS (Apple Silicon và Intel), và Windows — tải archive phù hợp từ trang Releases và giải nén. Có bốn biến thể archive: rendering thường, rendering-plus-stealth, no-render, và no-render-plus-stealth — chọn biến thể phù hợp với nhu cầu chụp ảnh/PDF và có muốn bật anti-detection không. Người dùng Arch Linux cài qua AUR bằng `yay -S obscura-browser`, và NixOS với `nix-env -iA nixpkgs.obscura`. Docker chỉ một dòng: `docker run -d --name obscura -p 127.0.0.1:9222:9222 h4ckf0r0day/obscura`. Build từ source cần Rust 1.75+; bản stealth+rendering cần thêm CMake, Clang, và thư viện phát triển libclang/LLVM, mất khoảng năm phút trên bản build đầu tiên do biên dịch V8 từ source.

Chạy Obscura từ dòng lệnh

Hai subcommand chính là `obscura fetch` và `obscura serve`. Dùng `fetch` cho thao tác trang một lần: `obscura fetch https://example.com --eval "document.title"` chạy JS và in kết quả, `--dump html` dump DOM đã render, `--dump text` cho text thuần, `--dump links` trích xuất tất cả anchor href, và `--screenshot page.png` chụp PNG. Flag `--wait-until networkidle0` đợi nội dung động load xong. Cho script Puppeteer hoặc Playwright, khởi server trước với `obscura serve --port 9222` (thêm `--stealth` cho anti-detection), rồi kết nối qua WebSocket tại `ws://127.0.0.1:9222/devtools/browser`. Quét song song nhiều URL dùng `obscura scrape url1 url2 url3 --concurrency 25 --format json`. MCP server chạy với `obscura mcp` cho stdio client như Claude Desktop, hoặc `obscura mcp --http --port 8080` cho agent dựa trên HTTP.

Tích hợp với Puppeteer và Playwright

  • •Chạy script Puppeteer hoặc Playwright đến CDP endpoint (`obscura serve --port 9222`) thay vì spawn headless Chrome — hầu hết script hiện có chỉ cần đổi WebSocket URL một chỗ
  • •Pipeline tác tử AI cần điều khiển trình duyệt có cấu trúc: MCP server expose công cụ như `browser_navigate`, `browser_snapshot`, `browser_click` mà model gọi được mà không cần viết CDP JSON-RPC thô
  • •Quét hàng loạt với `obscura scrape url1 url2 ... --concurrency 25` — worker song song kế thừa proxy toàn cục, output JSON hoặc text thuần, và tắt progress cho scripting
  • •Chụp ảnh hoặc PDF các trang mà nếu không sẽ bị phát hiện hoặc chặn headless Chrome — bật mặc định trong chế độ stealth
  • •Fetch trang qua proxy SOCKS5 với `obscura --proxy socks5://... fetch ...` cho request geo-targeted hoặc xoay IP
  • •Quét SPA nặng JavaScript cần đợi `networkidle0` hoặc selector CSS cụ thể trước khi evaluate hoặc dump content

Điểm mạnh

  • ✓Hiệu năng vượt trội: chỉ tốn 30 MB bộ nhớ, binary 70 MB, thời gian load trang trung bình 85 ms, khởi động tức thì — nhanh hơn rõ rệt so với headless Chrome thông thường.
  • ✓Tính năng stealth và chống bị phát hiện tích hợp sẵn: random fingerprint mỗi phiên, dữ liệu user agent thực tế, che giấu hàm native, và chặn hơn 3.520 domain tracker để tránh bị phát hiện khi quét web.
  • ✓Engine rendering riêng viết bằng Rust, không phụ thuộc Chromium, vẫn hỗ trợ render toàn trang, chụp ảnh, screencasting, và xuất PDF đầy đủ.
  • ✓Tương thích rộng với công cụ automation hiện có: implement Chrome DevTools Protocol để dùng với Puppeteer và Playwright, đồng thời cung cấp MCP server để tích hợp trực tiếp với tác tử AI.
  • ✓Mô hình mã nguồn mở đầy đủ tính năng theo giấy phép Apache-2.0, cam kết không có feature gating, đảm bảo mọi khả năng luôn sẵn có cho cộng đồng.

Khả năng rendering hiện tại và những lưu ý

  • △Là engine độc lập, rendering các CSS property và value ít phổ biến có thể khác với hành vi của Chromium.
  • △Hỗ trợ một số Web API có thể khác hoặc chưa đầy đủ so với môi trường Chromium đầy đủ.
  • △Media playback và hiệu ứng compositor có thể không render giống hệt như trong trình duyệt dựa trên Chromium.
  • △Font rasterization theo platform có thể tạo kết quả hình ảnh khác với những gì người dùng thấy trong Chromium.

Các lựa chọn headless browser khác

Playwright — thư viện automation trình duyệt đã được establish lâu đời với chế độ headless riêng, bindings đa ngôn ngữ, và tích hợp Chromium sâu hơn, nhưng chạy như Node.js dependency chứ không phải binary độc lập ↗Puppeteer — thư viện do Google duy trì để điều khiển headless Chrome qua CDP, được dùng rộng rãi trong production scraping, nhưng vẫn cần Chromium ↗Selenium — automation trình duyệt đa ngôn ngữ hỗ trợ nhiều backend, cộng đồng và hệ sinh thái lớn hơn nhiều, nhưng nặng và chậm hơn cho tác vụ quét thuần túy ↗Playwright Rust — bindings Playwright native cho Rust cho team đã đầu tư vào API Playwright muốn giữ Chromium để fidelity rendering tối đafetch-headless — lựa chọn nhẹ cho team chỉ cần fetch trang mà không cần bề mặt automation trình duyệt đầy đủ

Câu hỏi thường gặp

Obscura có mã nguồn mở không?

Có. Obscura được phát hành theo giấy phép Apache 2.0, và dự án cam kết engine mã nguồn mở sẽ luôn như vậy, không có feature gating.

Obscura có hỗ trợ Puppeteer và Playwright không?

Obscura expose CDP WebSocket server mà Puppeteer-core và Playwright-core điều khiển y hệt như headless Chrome — kết nối đến ws://127.0.0.1:9222/devtools/browser và dùng script hiện có.

Obscura Cloud là gì?

Obscura Cloud là dịch vụ hosted và managed mà team đang xây dựng: hạ tầng, residential proxy, và hỗ trợ chuyên dụng cho người dùng thích không vận hành engine. Build mã nguồn mở vẫn có đầy đủ tính năng và được cấp phép Apache-2.0.

Chế độ stealth của Obscura hoạt động thế nào?

Stealth mode random fingerprint mỗi phiên cho canvas, audio, GPU, màn hình, và pin; đặt navigator.webdriver thành undefined; và chặn 3.520 domain tracker đã biết ở tầng mạng. Bật bằng flag --stealth khi serve hoặc fetch.

Yêu cầu hệ thống để build Obscura từ source là gì?

Cần Rust 1.75 trở lên cho mọi bản build. Bản rendering-plus-stealth cần thêm CMake, Clang, và thư viện phát triển libclang/LLVM. Dự kiến khoảng năm phút cho bản build đầu tiên vì V8 biên dịch từ source.

Obscura có xử lý được SPA nặng JavaScript không?

Có. Obscura chạy JavaScript thực sự qua V8 và mặc định cho phép 30 giây thực thi script mỗi trang, có thể tăng qua OBSCURA_SCRIPT_DEADLINE_MS. Dùng --wait-until networkidle0 hoặc --selector để đợi nội dung SPA trước khi evaluate.

Ai nên thử — và ai nên bỏ qua

Dùng Obscura nếu bạn chạy scraping hoặc tác vụ tác tử AI ở khối lượng lớn và bộ nhớ hay độ trễ khởi động của Chrome là bottleneck. Chế độ stealth đáng giá khi thực sự đang đánh vào các site fingerprint headless browser và muốn anti-detection tích hợp sẵn vào quy trình trình duyệt thay vì xếp lớp bên trên. Bỏ qua nếu cần rendering khớp chính xác với những gì người dùng thấy trong Chrome — engine độc lập vẫn còn khoảng trống mà README ghi rõ — hoặc nếu team đã đầu tư vào Playwright và việc đánh đổi tài nguyên chưa phải vấn đề.

Repo liên quan

Nguồn & ghi công

Repository: h4ckf0r0day/obscura — https://github.com/h4ckf0r0day/obscura

Dữ liệu GitHub · đồng bộ lần cuối 3 thg 9, 2026Đánh giá bởi Henry
← Về TopGit

Chưa chắc obscura có hợp với bạn?

Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về obscura.

GitHub