bitbottle 0.10.0

a modern archive file format
Documentation
[package]
name = "bitbottle"
version = "0.10.0"
edition = "2024"
description = "a modern archive file format"
readme = "README.md"
homepage = "https://code.lag.net/robey/bitbottle"
repository = "https://code.lag.net/robey/bitbottle.git"
license = "Apache-2.0"
categories = [ "command-line-utilities", "compression", "cryptography", "filesystem" ]

[features]
default = [ "lzma2" ]

# argon2 is not as fast as argonautica, but it can be built natively, so it's
# the default. argonautica requires a C compiler and "libclang" for whatever
# reason. if you have these things and password speed is very important to
# you, add `-F argonautica`
argonautica = [ "dep:argonautica" ]

# without lzma2 support, you won't be able to read or write bottles
# compressed with lzma2. unfortunately this module requires a C compiler
# and several dependencies (pkg-config and liblzma-dev).
lzma2 = [ "dep:rust-lzma" ]

[profile.release]
lto = "fat"

[lib]
name = "bitbottle"
path = "src/lib.rs"

[[bin]]
name = "buzscan"
path = "src/cli/buzscan.rs"

[[bin]]
name = "bitbottle"
path = "src/cli/bitbottle.rs"

[[bin]]
name = "unbottle"
path = "src/cli/unbottle.rs"

[dependencies]
aes = { version = "0.8.4" }
aes-gcm = "0.10.3"
argon2 = { version = "0.5.3", features = [ "std" ] }
argonautica = { version = "0.2.0", optional = true }
base64 = "0.22.1"
bcrypt-pbkdf = "0.10.0"
blake2 = "0.10.6"
blake3 = { version = "1.3.0" }
block-modes = "0.9.1"
cfg-if = "1.0.0"
chacha20 = "0.9.1"
chacha20poly1305 = "0.10.1"
chrono = "0.4.38"
cipher = "0.4.4"
clap = "4.5.20"
crc32c = "0.6.8"
ctr = "0.9.2"
digest = "0.10.7"
dryoc = "0.7.0"
getrandom = "0.2.15"
hex = "0.4.3"
hkdf = "0.12.4"
num_enum = "0.7.3"
rpassword = "7.3.1"
rust-lzma = { version = "0.5.1", optional = true }
sha2 = "0.10.8"
snap = "1.1.1"
term_size = "0.3.2"
thiserror = "2.0.0"
users = "0.11.0"