[package] name = "adblock" version = "0.9.4" authors = ["Anton Lazarev ", "Andrius Aucinas"] edition = "2021" description = "Native Rust module for Adblock Plus syntax (e.g. EasyList, EasyPrivacy) filter parsing and matching." repository = "https://github.com/brave/adblock-rust/" license = "MPL-2.0" readme = "README.md" exclude = [ "*.md", ".github/", ".gitignore", ".npmignore", "data/", "examples/", "js/", "package-lock.json", "package.json", "tests/", ] [dependencies] addr = { version = "0.15", default-features = false, features = ["psl"], optional = true } url = "2.5" percent-encoding = "2.1" once_cell = "1.8" regex = "1.5" bitflags = "1.3" itertools = "0.13" idna = "1.0.3" serde = { version = "1.0", features = ["derive", "rc"] } seahash = "3" # seahash 4 introduces a breaking hash algorithm change memchr = "2.4" base64 = "0.13" rmp-serde = "0.15" lifeguard = { version = "^ 0.6.1", optional = true } cssparser = { version = "0.28", optional = true } selectors = { version = "0.23", optional = true } serde_json = "1.0" thiserror = "1.0" [dev-dependencies] criterion = "0.5" csv = "1" mock_instant = { version = "0.5" } # By default, reqwest builds openssl from source, which fails on missing/incompatible system dependencies reqwest = { version = "0.11", features = ["rustls-tls"], default-features = false } futures = "0.3" tokio = { version = "1.24", features = ["rt-multi-thread"] } sha2 = "0.9" [lib] bench = false [[bench]] name = "bench_regex" harness = false [[bench]] name = "bench_matching" harness = false [[bench]] name = "bench_url" harness = false [[bench]] name = "bench_rules" harness = false [[bench]] name = "bench_redirect_performance" harness = false # Currently disabled, as cosmetic filter internals # are no longer part of the crate's public API #[[bench]] #name = "bench_cosmetic_matching" #harness = false [features] # If disabling default features, consider explicitly re-enabling the # "embedded-domain-resolver" feature. default = ["embedded-domain-resolver", "full-regex-handling", "object-pooling", "unsync-regex-caching"] full-regex-handling = [] object-pooling = ["lifeguard"] # disables `Send` and `Sync` on `Engine`. unsync-regex-caching = [] # disables `Send` and `Sync` on `Engine`. regex-debug-info = [] css-validation = ["cssparser", "selectors"] content-blocking = [] embedded-domain-resolver = ["addr"] # Requires setting an external domain resolver if disabled. resource-assembler = []