このプロジェクトについて

Obscuraは、WebスクレイピングとAIエージェントの自動化を目的とした、Rustで書かれたオープンソースのヘッドレスブラウザエンジンです。Chromiumをラップするのではなく、独自のレンダリングエンジンを実装し、組み込みのV8を通じて実際のJavaScriptを実行し、Chrome DevTools Protocolを公開することで、既存のPuppeteerやPlaywrightのスクリプトが接続できるようになっています。 READMEに記載されている主な機能: - Chromiumなしでのレンダリング: CSSレイアウトとペイント、ビューポートおよびフルページのスクリーンショット、スクロールを考慮したfixed/stickyジオメトリ、CDPスクリーンキャスティング、ラスターPDFエクスポート。READMEでは、進化中の独立したエンジンであるため、ロングテールCSS、一部のWeb API、メディア再生、コンポジターエフェクト、プラットフォームフォントのラスタライズがChromiumと異なる場合があると述べられています。 - CDP互換性: Target、Page、Runtime、DOM、Network、Fetch、IO、Storage、Inputドメインに加え、DOM-to-Markdownヘルパー。PuppeteerはbrowserWSEndpoint経由で、PlaywrightはconnectOverCDP経由で接続します。 - CLIワークフロー: 単一ページ向けの`fetch`(html/text/links/markdown/assets/originalのダンプ、JS eval、待機条件、スクリーンショット、出力ファイル)、並列マルチURLスクレイピング向けの`scrape`(並行性とJSON/テキスト出力)、CDP WebSocketサーバーを起動する`serve`。 - ステルスモード: セッションごとのフィンガープリントランダム化(GPU、画面、キャンバス、オーディオ、バッテリー)、現実的なuserAgentData、isTrustedイベント、ネイティブ関数のマスキング、webdriverのundefined化、大規模なトラッカードメインリストのブロック。 - MCPサーバー: stdioまたはHTTP経由で、Claude DesktopやCursorなどのAIエージェントにブラウザ自動化ツールを公開します。 - デプロイ: Linux x86_64/ARM64、macOS Intel/Apple Silicon、Windows、NixOS向けのプリビルドバイナリに加え、distroless Dockerイメージ。ビルドバリアントでレンダリングとステルスを切り替え可能。ステルスビルドはBoringSSLをコンパイルし、CMake/Clang/libclangが必要です。 - 運用制御: HTTP/SOCKS5プロキシサポート、robots.txtオプション、明示的なプライベートネットワーク上書きを伴うSSRF保護、V8フラグのパススルー、設定可能なスクリプト/モジュールのタイムアウトとネットワーク本文バッファ制限。 READMEには、ヘッドレスChromeとのベンチマーク比較や、ホスト型のObscura Cloudの提供についても記載されており、オープンソースエンジンはApache-2.0のままで完全な機能を備えていると述べられています。スポンサーシップのセクションではプロキシプロバイダーについて言及されています。