[package]
edition = "2021"
rust-version = "1.88.0"
name = "malwaredb-server"
version = "0.3.0"
authors = ["Richard Zak <richard.j.zak@gmail.com>"]
build = "build.rs"
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Server data storage logic for MalwareDB."
homepage = "https://malwaredb.net/"
readme = "README.md"
keywords = [
"cybersecurity",
"malware",
"malware-research",
"forensics",
]
categories = [
"database",
"data-structures",
]
license = "Apache-2.0"
repository = "https://github.com/malwaredb/malwaredb-rs"
[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "a0f974c"
dependencies = ["libmagic"]
[package.metadata.vcpkg.target.aarch64-pc-windows-msvc]
triplet = "arm64-windows-static-release"
dependencies = ["libmagic"]
[package.metadata.vcpkg.target.x86_64-pc-windows-msvc]
triplet = "x64-windows-static-static-release"
dependencies = ["libmagic"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
admin = []
default = []
sqlite = ["dep:rusqlite"]
vt = [
"dep:malwaredb-virustotal",
"postgres/with-serde_json-1",
]
yara = ["dep:yara-x"]
[lib]
name = "malwaredb_server"
path = "src/lib.rs"
[dependencies.aes-gcm]
version = "0.10.3"
features = [
"aes",
"alloc",
"getrandom",
"std",
]
default-features = false
[dependencies.anyhow]
version = "1.0"
features = ["std"]
default-features = false
[dependencies.app-memory-usage-fetcher]
version = "0.3.0"
default-features = false
[dependencies.argon2]
version = "0.5.3"
features = [
"alloc",
"password-hash",
"std",
]
default-features = false
[dependencies.axum]
version = "0.8.8"
features = [
"http1",
"http2",
"json",
"macros",
"tokio",
]
default-features = false
[dependencies.axum-cbor]
version = "0.1.1"
default-features = false
[dependencies.axum-server]
version = "0.8.0"
features = [
"tls-rustls",
"rustls",
]
default-features = false
[dependencies.base64]
version = "0.22.1"
default-features = false
[dependencies.cart_container]
version = "1.0.0"
features = [
"md5",
"sha1",
]
default-features = false
[dependencies.chrono]
version = "0.4.43"
default-features = false
[dependencies.chrono-humanize]
version = "0.2.3"
default-features = false
[dependencies.clap]
version = "4.5"
default-features = false
[dependencies.constcat]
version = "0.6.1"
default-features = false
[dependencies.deadpool-postgres]
version = "0.14.1"
features = ["rt_tokio_1"]
default-features = false
[dependencies.flate2]
version = "1.1.8"
features = ["rust_backend"]
default-features = false
[dependencies.fuzzyhash]
version = "0.2.2"
default-features = false
[dependencies.hex]
version = "0.4.3"
features = [
"alloc",
"std",
]
default-features = false
[dependencies.http]
version = "1.4.0"
default-features = false
[dependencies.human-hash]
version = "0.4.0"
default-features = false
[dependencies.humansize]
version = "2.1.3"
default-features = false
[dependencies.magic]
version = "0.16.7"
default-features = false
[dependencies.malwaredb-api]
version = "0.3.0"
default-features = false
[dependencies.malwaredb-lzjd]
version = "0.1.3"
default-features = false
[dependencies.malwaredb-types]
version = "0.3.0"
default-features = false
[dependencies.malwaredb-virustotal]
version = "0.5.4"
features = [
"chrono",
"tokio",
]
optional = true
default-features = false
[dependencies.md-5]
version = "0.10.6"
default-features = false
[dependencies.mdns-sd]
version = "0.17.2"
default-features = false
[dependencies.num_cpus]
version = "1"
default-features = false
[dependencies.postgres]
version = "0.19.12"
features = [
"array-impls",
"with-chrono-0_4",
"with-uuid-1",
]
default-features = false
[dependencies.postgres-types]
version = "0.2.12"
features = ["derive"]
default-features = false
[dependencies.rc4]
version = "0.1.0"
features = ["std"]
default-features = false
[dependencies.rusqlite]
version = "0.38.0"
features = [
"bundled",
"chrono",
"fallible_uint",
"functions",
"uuid",
]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23.36"
features = ["aws-lc-rs"]
default-features = false
[dependencies.rustls-platform-verifier]
version = "0.6.2"
default-features = false
[dependencies.semver]
version = "1.0"
features = [
"serde",
"std",
]
default-features = false
[dependencies.serde_json]
version = "1.0"
default-features = false
[dependencies.sha1]
version = "0.10.6"
default-features = false
[dependencies.sha2]
version = "0.10.9"
default-features = false
[dependencies.tlsh-fixed]
version = "0.1.1"
default-features = false
[dependencies.tokio]
version = "1.49.0"
features = [
"macros",
"rt",
"signal",
]
default-features = false
[dependencies.tokio-postgres-rustls]
version = "0.13.0"
default-features = false
[dependencies.tower-http]
version = "0.6.8"
features = [
"compression-full",
"decompression-full",
"limit",
"sensitive-headers",
]
default-features = false
[dependencies.tracing]
version = "0.1.44"
features = ["attributes"]
default-features = false
[dependencies.uuid]
version = "1.20.0"
features = [
"v4",
"v7",
]
default-features = false
[dependencies.xor-utils]
version = "0.6.0"
default-features = false
[dependencies.zeroize]
version = "1.8.2"
features = ["aarch64"]
default-features = false
[dependencies.zstd]
version = "0.13.3"
default-features = false
[dev-dependencies.http-body-util]
version = "0.1.3"
default-features = false
[dev-dependencies.malwaredb-client]
version = "0.3.0"
features = ["blocking"]
default-features = false
[dev-dependencies.rstest]
version = "0.26.1"
default-features = false
[dev-dependencies.rusqlite]
version = "0.38.0"
features = ["uuid"]
default-features = false
[dev-dependencies.tempfile]
version = "3.24.0"
default-features = false
[dev-dependencies.tokio]
version = "1.49.0"
default-features = false
[dev-dependencies.tower]
version = "0.5.3"
features = ["util"]
default-features = false
[dev-dependencies.tracing-subscriber]
version = "0.3.22"
default-features = false
[target.'cfg(any(target_arch = "aarch64", target_arch = "riscv64", target_arch = "s390x", target_arch = "x86_64"))'.dependencies.yara-x]
version = "1.12.0"
features = [
"constant-folding",
"crypto",
"dex-module",
"dotnet-module",
"elf-module",
"fast-regexp",
"hash-module",
"linkme",
"macho-module",
"math-module",
"pe-module",
"string-module",
"time-module",
"vt-module",
]
optional = true
default-features = false
[target.'cfg(not(target_os = "wasi"))'.dependencies.tokio]
version = "1.49.0"
features = ["rt-multi-thread"]
default-features = false
[target."cfg(not(windows))".dependencies.sha1]
version = "0.10.6"
features = [
"asm",
"sha1-asm",
]
default-features = false
[target."cfg(not(windows))".dependencies.sha2]
version = "0.10.9"
features = [
"asm-aarch64",
"sha2-asm",
]
default-features = false
[target.'cfg(target_env = "musl")'.dependencies.malwaredb-virustotal]
version = "0.5.4"
features = ["native-tls-vendored"]
optional = true
default-features = false
[target.'cfg(target_family = "windows")'.dependencies.tokio]
version = "1.49.0"
features = ["sync"]
default-features = false
[target.'cfg(target_os = "windows")'.build-dependencies.vcpkg]
version = "0.2.15"
default-features = false