[package]
edition = "2024"
rust-version = "1.85"
name = "mara"
version = "0.2.0"
authors = ["Daniel Ã…kerud <daniel.akerud@fossid.com>"]
build = false
exclude = [
"/test_data",
"/ui.png",
"/*.log",
"/CLAUDE.md",
"/docs",
"/.github",
"/cli",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance scraper that clears challenges over a rotating pool of egress IPs."
homepage = "https://github.com/apanloco/mara"
documentation = "https://docs.rs/mara"
readme = "README.md"
keywords = [
"scraper",
"scraping",
"proxy",
"browser",
]
categories = [
"web-programming",
"web-programming::http-client",
]
license = "MIT"
repository = "https://github.com/apanloco/mara"
[lib]
name = "mara"
path = "src/lib.rs"
[[example]]
name = "scrape_fragrantica"
path = "examples/scrape_fragrantica/main.rs"
[[test]]
name = "live"
path = "tests/live.rs"
[dependencies.anyhow]
version = "1"
[dependencies.async-channel]
version = "2"
[dependencies.axum]
version = "0.8"
features = ["ws"]
[dependencies.base64]
version = "0.22"
[dependencies.chromiumoxide]
version = "0.9"
[dependencies.futures]
version = "0.3"
[dependencies.image]
version = "0.25"
features = ["png"]
default-features = false
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
"socks",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"time",
"process",
"fs",
"sync",
"net",
]
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
[dependencies.wreq]
version = "=6.0.0-rc.29"
features = [
"tokio-rt",
"webpki-roots",
"json",
"socks",
"cookies",
"gzip",
"brotli",
"deflate",
]
default-features = false
[dependencies.wreq-util]
version = "=3.0.0-rc.12"
features = ["emulation"]
default-features = false
[dependencies.x11rb]
version = "0.13"
features = [
"xfixes",
"xtest",
]
[dev-dependencies.aes]
version = "0.8"
[dev-dependencies.cbc]
version = "0.1"
features = ["alloc"]
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.md-5]
version = "0.10"
[dev-dependencies.scraper]
version = "0.24"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[profile.dev.package."*"]
opt-level = 3