[package]
edition = "2024"
rust-version = "1.97"
name = "rwh"
version = "0.11.3"
authors = [
"Fina Wilke <code@felinira.net>",
"piegames <info@piegames.de>",
"Brian Warner <warner@lothar.com>",
"github.com/pepa65",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Safe filetransfer through magic-wormhole"
homepage = "http://magic-wormhole.io/"
documentation = "https://docs.rs/rwh"
readme = "README.md"
keywords = [
"magic-wormhole",
"wormhole",
"file-transfer",
"transfer",
]
categories = [
"network-programming",
"asynchronous",
"command-line-utilities",
]
license = "EUPL-1.2"
repository = "https://github.com/pepa65/rwh"
[package.metadata.docs.rs]
all-features = true
[package.metadata.binstall]
pkg-url = "{repo}/releases/download/{version}/rwh.tgz"
pkg-fmt = "Tgz"
disabled-strategies = [
"quick-install",
"compile",
]
target-family = "Linux"
target-arch = "X86_64"
[features]
all = [
"default",
"clipboard",
"fuzzy-complete",
]
clipboard = ["dep:arboard"]
default = [
"transit",
"transfer",
"forwarding",
"futures-rustls-native-certs",
]
experimental = ["experimental-transfer-v2"]
experimental-transfer-v2 = []
forwarding = [
"transit",
"dep:rmp-serde",
"dep:async-process",
]
futures-rustls-manual-roots = ["async-tungstenite/futures-rustls-manual-roots"]
futures-rustls-native-certs = ["async-tungstenite/futures-rustls-native-certs"]
futures-rustls-platform-verifier = ["async-tungstenite/futures-rustls-platform-verifier"]
futures-rustls-webpki-roots = ["async-tungstenite/futures-rustls-webpki-roots"]
fuzzy-complete = ["fuzzt"]
transfer = [
"transit",
"dep:tar",
"dep:rmp-serde",
]
transit = [
"dep:noise-rust-crypto",
"dep:noise-protocol",
"dep:socket2",
"dep:stun_codec",
"dep:if-addrs",
"dep:bytecodec",
"dep:async-trait",
]
[lib]
name = "rwh"
path = "src/lib.rs"
[[bin]]
name = "rwh"
path = "src/bin/rwh/main.rs"
[dependencies.arboard]
version = "3"
optional = true
default-features = false
[dependencies.async-channel]
version = "2.5"
[dependencies.async-task]
version = "4.7"
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.base64]
version = "0.23.1"
[dependencies.bytecodec]
version = "0.5"
optional = true
[dependencies.clap]
version = "4"
features = [
"cargo",
"derive",
"help",
"env",
]
[dependencies.clap_complete]
version = "4"
[dependencies.color-eyre]
version = "0.6"
[dependencies.console]
version = "0.16"
[dependencies.crypto_secretbox]
version = "0.1.1"
[dependencies.ctrlc]
version = "3.2.1"
[dependencies.derive_more]
version = "2"
features = [
"display",
"deref",
"from",
]
default-features = false
[dependencies.dialoguer]
version = "0.12"
features = ["completion"]
[dependencies.env_logger]
version = "0.11"
[dependencies.futures]
version = "0.3.12"
[dependencies.futures-concurrency]
version = "7.7.1"
[dependencies.futures-lite]
version = "2.6"
[dependencies.fuzzt]
version = "0.3.1"
optional = true
[dependencies.hex]
version = "0.4.2"
features = ["serde"]
[dependencies.hkdf]
version = "0.13"
[dependencies.indicatif]
version = "0.18"
[dependencies.noise-protocol]
version = "0.2"
optional = true
[dependencies.noise-rust-crypto]
version = "0.6.0-rc.1"
optional = true
[dependencies.percent-encoding]
version = "2.1.0"
[dependencies.qr2term]
version = "0.3"
[dependencies.rand]
version = "0.10.2"
[dependencies.rmp-serde]
version = "1.0.0"
optional = true
[dependencies.serde]
version = "1.0.120"
features = ["rc"]
[dependencies.serde_derive]
version = "1.0.120"
[dependencies.serde_json]
version = "1.0.61"
[dependencies.sha1]
version = "0.11"
[dependencies.sha2]
version = "0.11"
[dependencies.smol]
version = "2.0"
[dependencies.spake2]
version = "0.4"
[dependencies.stun_codec]
version = "0.4.0"
optional = true
[dependencies.tar]
version = "0.4.33"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3.7"
features = ["formatting"]
[dependencies.tracing]
version = "0.1"
features = ["log"]
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.unit-prefix]
version = "0.5"
[dependencies.url]
version = "2.2.2"
features = ["serde"]
[dependencies.zxcvbn]
version = "3.1.0"
[dev-dependencies.async-process]
version = "2.5"
[dev-dependencies.eyre]
version = "0.6.5"
[dev-dependencies.macro_rules_attr]
version = "0.2"
[dev-dependencies.test-log]
version = "0.2"
features = ["trace"]
[dev-dependencies.trycmd]
version = "1.2"
[target.'cfg(not(target_family = "wasm"))'.dependencies.async-executor]
version = "1.13"
[target.'cfg(not(target_family = "wasm"))'.dependencies.async-fs]
version = "2.0"
[target.'cfg(not(target_family = "wasm"))'.dependencies.async-io]
version = "2.2"
[target.'cfg(not(target_family = "wasm"))'.dependencies.async-net]
version = "2.0"
[target.'cfg(not(target_family = "wasm"))'.dependencies.async-process]
version = "2.5.0"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.async-tungstenite]
version = "0.35"
features = ["smol-runtime"]
[target.'cfg(not(target_family = "wasm"))'.dependencies.if-addrs]
version = "0.15"
optional = true
[target.'cfg(not(target_family = "wasm"))'.dependencies.libc]
version = "0.2.101"
[target.'cfg(not(target_family = "wasm"))'.dependencies.socket2]
version = "0.6"
features = ["all"]
optional = true
[target.'cfg(target_family = "wasm")'.dependencies.getrandom]
version = "0.4"
[target.'cfg(target_family = "wasm")'.dependencies.wasmtimer]
version = "0.4"
[target.'cfg(target_family = "wasm")'.dependencies.ws_stream_wasm]
version = "0.7.3"
[target.'cfg(target_family = "wasm")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"
[profile.release]
opt-level = "z"
lto = true
codegen-units = 1
panic = "abort"
overflow-checks = true
strip = true