83 lines
1.9 KiB
Markdown
83 lines
1.9 KiB
Markdown
## Requirements
|
|
|
|
- Rust 1.75+ ([rustup.rs](https://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
|
|
|
|
```bash
|
|
git clone https://github.com/h4ckf0r0day/obscura.git
|
|
cd obscura
|
|
cargo build --release
|
|
```
|
|
|
|
Binary is at `./target/release/obscura`.
|
|
|
|
## With stealth
|
|
|
|
```bash
|
|
cargo build --release --features stealth
|
|
```
|
|
|
|
Adds TLS fingerprint randomization and the tracker blocklist. See [Configure stealth and proxies](Configure-stealth-and-proxies.md).
|
|
|
|
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:
|
|
|
|
```bash
|
|
sudo apt-get install build-essential cmake clang libclang-dev llvm-dev
|
|
```
|
|
|
|
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:
|
|
|
|
```bash
|
|
SDK_PATH="$(xcrun --show-sdk-path)"
|
|
SDKROOT="$SDK_PATH" CXXFLAGS="-isystem $SDK_PATH/usr/include/c++/v1" \
|
|
cargo build --release --features stealth
|
|
```
|
|
|
|
## OpenSSL on older systems
|
|
|
|
If the build fails on the vendored OpenSSL with an AVX-512 assembler error (common on older VPS hosts):
|
|
|
|
```bash
|
|
OPENSSL_NO_VENDOR=1 cargo build --release
|
|
```
|
|
|
|
Uses the system OpenSSL instead.
|
|
|
|
## Run from the build
|
|
|
|
```bash
|
|
./target/release/obscura --version
|
|
./target/release/obscura fetch https://example.com --eval "document.title"
|
|
```
|
|
|
|
Install system-wide:
|
|
|
|
```bash
|
|
cargo install --path crates/obscura-cli
|
|
```
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
cargo test --release
|
|
```
|
|
|
|
Integration suite:
|
|
|
|
```bash
|
|
python3 tests/test_all.py
|
|
```
|