[package]
edition = "2021"
name = "proofmode"
version = "0.8.2"
authors = ["Guardian Project <support@guardianproject.info>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Capture, share, and preserve verifiable photos and videos"
homepage = "https://proofmode.org"
readme = "README.md"
keywords = [
"proofmode",
"verification",
"cryptography",
"media",
"authentication",
]
categories = [
"command-line-utilities",
"cryptography",
"multimedia",
]
license = "Apache-2.0"
repository = "https://gitlab.com/guardianproject/proofmode/proofmode-rust"
[features]
default = [
"clap",
"reqwest",
"sequoia-openpgp",
"polars",
"c2pa",
"sign",
]
mobile = ["uniffi"]
python = ["uniffi"]
ruby = ["uniffi"]
sign = [
"p256",
"rand_core",
"base64",
"rcgen",
"openssl",
"x509-parser",
"ciborium",
"byteorder",
"jsonwebtoken",
"async-trait",
"log",
"der-parser",
"tokio",
"reqwest",
]
uniffi = ["dep:uniffi"]
wasm = [
"c2pa",
"polars",
"js-sys",
"serde-wasm-bindgen",
"wasm-bindgen",
"wasm-bindgen-file-reader",
"wasm-bindgen-futures",
"web-sys",
]
[lib]
name = "proofmode"
crate-type = [
"cdylib",
"staticlib",
"lib",
]
path = "src/lib.rs"
[[bin]]
name = "generate_bindings"
path = "src/bin/generate_bindings.rs"
required-features = ["uniffi"]
[[bin]]
name = "generate_makefile"
path = "src/bin/generate_makefile.rs"
[[bin]]
name = "proofmode"
path = "src/main.rs"
required-features = ["clap"]
[[bin]]
name = "uniffi-bindgen"
path = "src/bin/uniffi-bindgen.rs"
required-features = ["uniffi"]
[[test]]
name = "bench_tests"
path = "tests/bench_tests.rs"
[[test]]
name = "cli_tests"
path = "tests/cli_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "wasm_tests"
path = "tests/wasm_tests.rs"
[dependencies.anyhow]
version = "1"
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.byteorder]
version = "1.4"
optional = true
[dependencies.c2pa]
version = "0.75"
features = ["rust_native_crypto"]
optional = true
default-features = false
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.ciborium]
version = "0.2"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.der-parser]
version = "9"
optional = true
[dependencies.geo]
version = "0.32"
[dependencies.geojson]
version = "0.24"
[dependencies.hex]
version = "0.4"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.jsonwebtoken]
version = "9"
optional = true
[dependencies.kamadak-exif]
version = "0.6"
[dependencies.log]
version = "0.4"
optional = true
[dependencies.mime_guess]
version = "2"
[dependencies.openssl]
version = "0.10"
optional = true
[dependencies.opentimestamps]
version = "0.2"
[dependencies.p256]
version = "0.13"
features = ["ecdsa"]
optional = true
[dependencies.pgp]
version = "0.19"
features = ["wasm"]
[dependencies.polars]
version = "0.52"
features = [
"json",
"fmt_no_tty",
]
optional = true
default-features = false
[dependencies.rand_core]
version = "0.9"
features = ["os_rng"]
optional = true
[dependencies.rcgen]
version = "0.13"
features = ["x509-parser"]
optional = true
[dependencies.reqwest]
version = "0.13"
features = [
"blocking",
"json",
"form",
]
optional = true
[dependencies.sequoia-openpgp]
version = "2"
optional = true
[dependencies.serde]
version = "1"
[dependencies.serde-this-or-that]
version = "0.5"
[dependencies.serde-wasm-bindgen]
version = "0.6"
optional = true
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["rt"]
optional = true
[dependencies.toml]
version = "1"
[dependencies.uniffi]
version = "0.31"
features = ["cli"]
optional = true
[dependencies.uuid]
version = "1"
features = [
"v4",
"js",
]
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-file-reader]
version = "1"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.web-sys]
version = "0.3"
features = [
"File",
"Request",
"Headers",
"RequestInit",
"RequestMode",
"Response",
"Window",
"console",
"WorkerGlobalScope",
]
optional = true
[dependencies.x509-parser]
version = "0.16"
optional = true
[dependencies.zip]
version = "7"
features = ["deflate"]
default-features = false
[dev-dependencies.tempfile]
version = "3"