magic-wormhole 0.6.1

Get things from one computer to another, safely
Documentation
[package]
name = "magic-wormhole"
version = "0.6.1"
authors = ["piegames <info@piegames.de>", "Brian Warner <warner@lothar.com>"]
description = "Get things from one computer to another, safely"
keywords = ["magic-wormhole", "wormhole", "file-transfer", "transfer"]
categories = ["network-programming", "command-line-utilities"]
readme = "README.md"
homepage = "http://magic-wormhole.io/"
repository = "https://github.com/magic-wormhole/magic-wormhole.rs"
documentation = "https://docs.rs/magic-wormhole/latest/"
license = "EUPL-1.2"
edition = "2021"
rust-version = "1.70"                                                         # MSRV (also change in CI)

[dependencies]
serde = { version = "1.0.120", features = ["rc"] }
serde_json = "1.0.61"
serde_derive = "1.0.120"
crypto_secretbox = "0.1.1"
spake2 = "0.4.0"
sha-1 = "0.10.0"
sha2 = "0.10.0"
hkdf = "0.12.2"
hex = { version = "0.4.2", features = ["serde"] }
rand = "0.8.3"
log = "0.4.13"
# zeroize = { version = "1.2.0", features = ["zeroize_derive"] }
base64 = "0.21.5"
futures_ringbuf = "0.4.0"
time = { version = "0.3.7", features = ["formatting"] }

derive_more = { version = "0.99.0", default-features = false, features = [
    "display",
    "deref",
    "from",
] }
thiserror = "1.0.24"

futures = "0.3.12"
async-std = { version = "1.12.0", features = ["attributes", "unstable"] }
async-tungstenite = { version = "0.23.0", features = [
    "async-std-runtime",
    "async-tls",
] }
async-io = "2.2.0"
libc = "0.2.101"
url = { version = "2.2.2", features = ["serde"] }
percent-encoding = { version = "2.1.0" }

# Transit dependencies

socket2 = { version = "0.5.5", optional = true, features = ["all"] }
stun_codec = { version = "0.3.4", optional = true }
if-addrs = { version = "0.10.2", optional = true }
bytecodec = { version = "0.4.15", optional = true }
async-trait = { version = "0.1.57", optional = true }
noise-protocol = { version = "0.2.0", optional = true }
noise-rust-crypto = { version = "0.6.2", optional = true }

# Transfer dependencies

async-tar = { version = "0.4.2", optional = true }
rmp-serde = { version = "1.0.0", optional = true }

# Forwarding dependencies

# rmp-serde = … # defined above

# for some tests
[dev-dependencies]
env_logger = "0.10.0"
eyre = "0.6.5"

[features]
transit = [
    "socket2",
    "stun_codec",
    "if-addrs",
    "bytecodec",
    "async-trait",
    "noise-protocol",
    "noise-rust-crypto",
]
transfer = ["transit", "async-tar", "rmp-serde"]
forwarding = ["transit", "rmp-serde"]
default = ["transit", "transfer"]
all = ["default", "forwarding"]

[profile.release]
overflow-checks = true
strip = "debuginfo"
lto = "thin"

[workspace]
members = [".", "cli"]
default-members = ["cli"]