[package]
edition = "2024"
rust-version = "1.93.0"
name = "rust-ipfs"
version = "0.16.0"
authors = [
"Darius C",
"Rust-IPFS contributors",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "IPFS node implementation"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/dariusc93/rust-ipfs"
resolver = "2"
[features]
default = ["full"]
dns = [
"connexa/dns",
"dep:gloo-net",
]
ecdsa = [
"connexa/ecdsa",
"rust-ipns/ecdsa",
]
ed25519 = [
"connexa/ed25519",
"rust-ipns/ed25519",
]
full = [
"stream",
"dns",
"tls",
"noise",
"tcp",
"quic",
"rsa",
"ed25519",
"secp256k1",
"ecdsa",
"websocket",
"upnp",
"pinning",
"gateway",
"routing",
]
gateway = ["dep:reqwest"]
noise = ["connexa/noise"]
pinning = ["dep:reqwest"]
pnet = ["connexa/pnet"]
quic = ["connexa/quic"]
routing = ["dep:reqwest"]
rsa = [
"connexa/rsa",
"rust-ipns/rsa",
]
secp256k1 = [
"connexa/secp256k1",
"rust-ipns/secp256k1",
]
stream = ["connexa/stream"]
tcp = ["connexa/tcp"]
tls = ["connexa/tls"]
upnp = ["connexa/upnp"]
webrtc = ["connexa/webrtc"]
websocket = ["connexa/websocket"]
webtransport = ["connexa/webtransport"]
[lib]
name = "rust_ipfs"
path = "src/lib.rs"
[[example]]
name = "block_exchange"
path = "examples/block_exchange.rs"
[[example]]
name = "custom_behaviour"
path = "examples/custom_behaviour.rs"
[[example]]
name = "dag_creation"
path = "examples/dag_creation.rs"
[[example]]
name = "delegated_routing"
path = "examples/delegated_routing.rs"
required-features = ["routing"]
[[example]]
name = "echo-stream"
path = "examples/echo-stream.rs"
[[example]]
name = "fetch_and_cat"
path = "examples/fetch_and_cat.rs"
[[example]]
name = "files"
path = "examples/files.rs"
[[example]]
name = "gateway_retrieval"
path = "examples/gateway_retrieval.rs"
required-features = ["gateway"]
[[example]]
name = "ipfs-pnet"
path = "examples/ipfs-pnet.rs"
[[example]]
name = "ipns-publish"
path = "examples/ipns-publish.rs"
[[example]]
name = "ipns-resolve"
path = "examples/ipns-resolve.rs"
[[example]]
name = "local-node"
path = "examples/local-node.rs"
[[example]]
name = "pubsub"
path = "examples/pubsub.rs"
[[example]]
name = "relay-client"
path = "examples/relay-client.rs"
[[example]]
name = "remote_pinning"
path = "examples/remote_pinning.rs"
required-features = ["pinning"]
[[example]]
name = "rendezvous_client"
path = "examples/rendezvous_client.rs"
[[example]]
name = "repo_dag"
path = "examples/repo_dag.rs"
[[example]]
name = "request-response"
path = "examples/request-response.rs"
[[example]]
name = "swarm_events"
path = "examples/swarm_events.rs"
[[example]]
name = "unixfs-add"
path = "examples/unixfs-add.rs"
[[example]]
name = "unixfs-cat-readme"
path = "examples/unixfs-cat-readme.rs"
[[example]]
name = "unixfs_get"
path = "examples/unixfs_get.rs"
[[test]]
name = "bitswap"
path = "tests/bitswap.rs"
[[test]]
name = "block_exchange"
path = "tests/block_exchange.rs"
[[test]]
name = "common_tests"
path = "tests/common_tests.rs"
[[test]]
name = "connectivity"
path = "tests/connectivity.rs"
[[test]]
name = "gc"
path = "tests/gc.rs"
[[test]]
name = "kademlia"
path = "tests/kademlia.rs"
[[test]]
name = "listening_addresses"
path = "tests/listening_addresses.rs"
[[test]]
name = "pubsub"
path = "tests/pubsub.rs"
[[test]]
name = "request_response"
path = "tests/request_response.rs"
[[test]]
name = "unixfs_roundtrip"
path = "tests/unixfs_roundtrip.rs"
[[test]]
name = "wantlist_and_cancellation"
path = "tests/wantlist_and_cancellation.rs"
[dependencies.anyhow]
version = "1.0.100"
[dependencies.async-rt]
version = "0.1.8"
[dependencies.async-stream]
version = "0.3.6"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.asynchronous-codec]
version = "0.7.0"
[dependencies.base64]
version = "0.22.1"
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4.42"
[dependencies.connexa]
version = "0.5.3"
features = [
"identify",
"dcutr",
"gossipsub",
"autonat",
"relay",
"kad",
"keypair_base64_encoding",
"ping",
"request-response",
"request-response-misc",
"rendezvous",
"mdns",
"fs",
"indexeddb",
"cid",
]
[dependencies.either]
version = "1.15.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.futures-timeout]
version = "0.1.3"
[dependencies.indexmap]
version = "2.13.0"
[dependencies.ipld-core]
version = "0.4.1"
features = ["serde"]
[dependencies.ipld-dagpb]
version = "0.2.2"
[dependencies.multibase]
version = "0.9.2"
[dependencies.multihash]
version = "0.19.3"
[dependencies.multihash-codetable]
version = "0.2.1"
[dependencies.multihash-derive]
version = "0.9.1"
[dependencies.parking_lot]
version = "0.12.4"
[dependencies.pollable-map]
version = "0.1.7"
[dependencies.quick-protobuf]
version = "0.8.1"
[dependencies.quick-protobuf-codec]
version = "0.3.1"
[dependencies.rand]
version = "0.9.2"
[dependencies.rust-ipns]
version = "0.9.0"
default-features = false
[dependencies.rust-unixfs]
version = "0.6.0"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_ipld_dagcbor]
version = "0.6.3"
[dependencies.serde_ipld_dagjson]
version = "0.2.1"
[dependencies.serde_json]
version = "1.0.145"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-futures]
version = "0.2.5"
features = ["futures-03"]
[dependencies.unsigned-varint]
version = "0.8.0"
features = ["asynchronous_codec"]
[dependencies.web-time]
version = "1.1.0"
[dependencies.zeroize]
version = "1.8.1"
[dev-dependencies.clap]
version = "4.5.48"
features = ["derive"]
[dev-dependencies.hex-literal]
version = "1.0.0"
default-features = false
[dev-dependencies.rand]
version = "0.9.2"
[dev-dependencies.rustyline-async]
version = "0.4.6"
[dev-dependencies.tempfile]
version = "3.17.1"
[dev-dependencies.tokio]
version = "1.52.3"
features = ["full"]
default-features = false
[dev-dependencies.tracing-subscriber]
version = "0.3.19"
features = ["env-filter"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.fs2]
version = "0.4.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.futures-timer]
version = "3.0.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.hickory-resolver]
version = "0.25.2"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rcgen]
version = "0.13.2"
features = [
"pem",
"x509-parser",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rlimit]
version = "0.11.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.simple_x509]
version = "=1.1.0"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.52.3"
features = ["full"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio-stream]
version = "0.1.18"
features = ["fs"]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio-util]
version = "0.7.18"
features = ["full"]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.futures-timer]
version = "3.0.0"
features = ["wasm-bindgen"]
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.4.2"
features = ["wasm_js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-net]
version = "0.6"
features = [
"http",
"json",
]
optional = true
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.idb]
version = "0.6.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.send_wrapper]
version = "0.6.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.serde-wasm-bindgen]
version = "0.6.5"
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio]
version = "1.52.3"
features = [
"sync",
"macros",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio-stream]
version = "0.1.18"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio-util]
version = "0.7.18"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.50"
[profile.dev.build-override]
debug = 2