For the complete documentation index, see llms.txt. This page is also available as Markdown.

Build from source

Requirements

  • Rust 1.75+ (rustup.rs)

  • C compiler (gcc or clang)

  • ~5 GB free disk space (V8 compiles from source on first build)

First build takes about 5 minutes. Incremental builds are seconds.

Build

git clone https://github.com/h4ckf0r0day/obscura.git
cd obscura
cargo build --release -p obscura-cli --bins --features render

Binary is at ./target/release/obscura.

This produces the release binary with geometry, screenshots, screencasting, and PDF export.

Rendering and stealth

cargo build --release -p obscura-cli --bins --features render,stealth

This is the complete rendering build with the stealth wreq/BoringSSL transport, TLS fingerprint randomization, browser-identity protections, and tracker blocklist. See Configure stealth and proxies.

Without rendering

The second command keeps stealth while excluding layout, screenshots, screencasting, and PDF export.

The stealth feature builds BoringSSL and generates Rust bindings. In addition to the default requirements, install CMake, Clang, and the libclang/LLVM development libraries. On Ubuntu/Debian:

On macOS, install the Xcode Command Line Tools and CMake. On Windows, install the Visual Studio C++ Build Tools, CMake, and LLVM/Clang. Ensure the directory containing libclang is available through LIBCLANG_PATH if bindgen cannot locate it automatically.

On macOS 26 with the standalone Command Line Tools, Apple Clang may not find libc++ while compiling BoringSSL. Use the active SDK for that build:

OpenSSL on older systems

If the build fails on the vendored OpenSSL with an AVX-512 assembler error (common on older VPS hosts):

Uses the system OpenSSL instead.

Run from the build

Install system-wide:

Tests

Integration suite:

Use cargo nextest, not cargo test: runtime tests require process isolation because the engine owns a single V8 isolate per process.

Last updated

Was this helpful?