[package]
edition = "2021"
rust-version = "1.70"
name = "chromey"
version = "2.37.270"
authors = ["j-mendez <jeff@spider.cloud>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Concurrent chrome devtools protocol automation library for Rust"
homepage = "https://github.com/spider-rs/chromey"
readme = "README.md"
keywords = [
"chrome",
"cdp",
"puppeteer",
"automation",
"playwright",
]
categories = [
"web-programming",
"api-bindings",
"development-tools::testing",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/spider-rs/chromey"
[features]
_cache = [
"dep:http-global-cache",
"dep:http-cache",
"dep:http-cache-semantics",
"dep:lol_html",
"dep:tokio-stream",
"dep:http-cache-reqwest",
"dep:auto_encoder",
"dep:blake3",
"dep:hex",
"dep:dashmap",
]
_fetcher-native-tokio = [
"fetcher",
"spider_chromiumoxide_fetcher/_native-tokio",
]
_fetcher-rusttls-tokio = [
"fetcher",
"spider_chromiumoxide_fetcher/_rustls-tokio",
]
adblock = ["dep:adblock"]
auto-detect-executable = ["dep:which"]
bytes = []
cache = [
"_cache",
"http-global-cache/cache",
]
cache_mem = [
"_cache",
"http-global-cache/cache_mem",
]
chrome_tls_connection = ["tokio-tungstenite/native-tls"]
collect_metrics = []
default = [
"bytes",
"simd",
"default-tls",
"serde0",
"auto-detect-executable",
]
default-tls = ["reqwest/default-tls"]
dynamic-versions = ["spider_fingerprint/dynamic-versions"]
fetcher = []
firewall = ["dep:spider_firewall"]
firewall-default = [
"firewall",
"spider_firewall/default",
]
firewall-rustls = [
"firewall",
"spider_firewall/rustls",
]
rust-tls = ["reqwest/rustls-tls"]
serde0 = ["spider_chromiumoxide_cdp/serde0"]
serde_stacker = [
"dep:serde_stacker",
"serde_json/unbounded_depth",
]
simd = ["dep:sonic-rs"]
stream = ["tokio-tungstenite/stream"]
[lib]
name = "chromiumoxide"
path = "src/lib.rs"
[[example]]
name = "block-navigation"
path = "examples/block-navigation.rs"
[[example]]
name = "bytes-control"
path = "examples/bytes-control.rs"
[[example]]
name = "connect"
path = "examples/connect.rs"
[[example]]
name = "console-logs"
path = "examples/console-logs.rs"
[[example]]
name = "evaluate"
path = "examples/evaluate.rs"
[[example]]
name = "fetcher-tokio"
path = "examples/fetcher-tokio.rs"
required-features = ["_fetcher-native-tokio"]
[[example]]
name = "http_cache"
path = "examples/http_cache.rs"
required-features = ["cache"]
[[example]]
name = "httpfuture"
path = "examples/httpfuture.rs"
[[example]]
name = "iframe-workaround"
path = "examples/iframe-workaround.rs"
[[example]]
name = "incognito"
path = "examples/incognito.rs"
[[example]]
name = "interception"
path = "examples/interception.rs"
[[example]]
name = "js-binding-listener"
path = "examples/js-binding-listener.rs"
[[example]]
name = "pdf"
path = "examples/pdf.rs"
[[example]]
name = "screenshot"
path = "examples/screenshot.rs"
[[example]]
name = "simple-google"
path = "examples/simple-google.rs"
[[example]]
name = "storage-cookie"
path = "examples/storage-cookie.rs"
[[example]]
name = "wiki"
path = "examples/wiki.rs"
[[example]]
name = "wiki-tokio"
path = "examples/wiki-tokio.rs"
[dependencies.adblock]
version = "0.12"
features = [
"embedded-domain-resolver",
"full-regex-handling",
]
optional = true
default-features = false
[dependencies.aho-corasick]
version = "1"
[dependencies.auto_encoder]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.blake3]
version = "1"
optional = true
[dependencies.case_insensitive_string]
version = "0.2"
features = [
"compact",
"serde",
]
[dependencies.dashmap]
version = "6"
optional = true
[dependencies.dunce]
version = "1"
[dependencies.fnv]
version = "1"
[dependencies.futures]
version = "0.3"
[dependencies.futures-timer]
version = "3"
[dependencies.hashbrown]
version = "0.15"
default-features = true
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.http-cache]
version = "0.20"
optional = true
default-features = false
[dependencies.http-cache-reqwest]
version = "0.15"
optional = true
default-features = false
[dependencies.http-cache-semantics]
version = "2"
optional = true
[dependencies.http-global-cache]
version = "0.1.0"
features = ["cache_request"]
optional = true
default-features = false
[dependencies.lazy_static]
version = "1"
[dependencies.lol_html]
version = "2"
optional = true
[dependencies.phf]
version = "0.11"
features = ["macros"]
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.rand]
version = "0.9"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_stacker]
version = "0.1"
optional = true
[dependencies.sonic-rs]
version = "0.5"
features = ["utf8_lossy"]
optional = true
[dependencies.spider_chromiumoxide_cdp]
version = "0.7"
[dependencies.spider_chromiumoxide_fetcher]
version = "0.7"
optional = true
default-features = false
[dependencies.spider_chromiumoxide_types]
version = "0.7"
[dependencies.spider_fingerprint]
version = "2"
features = [
"serde",
"headers",
"std",
]
default-features = false
[dependencies.spider_firewall]
version = "2"
optional = true
default-features = false
[dependencies.spider_network_blocker]
version = "0"
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"time",
"fs",
"macros",
"process",
]
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.tokio-tungstenite]
version = "0.28"
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2"
[dependencies.which]
version = "8"
optional = true
[dev-dependencies.anyhow]
version = "1"
[dev-dependencies.chrono]
version = "0.4"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.proc-macro2]
version = "1"
[dev-dependencies.quote]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"time",
"macros",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
[target."cfg(windows)".dependencies.winreg]
version = "0.52"