libp2p-community-tor

Crates.iolibp2p-community-tor
lib.rslibp2p-community-tor
version
sourcesrc
created_at2022-11-24 13:30:51.350638
updated_at2024-11-20 10:45:10.476932
descriptionTor transport for libp2p.
homepage
repositoryhttps://github.com/umgefahren/libp2p-tor
max_upload_size
id722209
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Hannes (umgefahren)

documentation

README

Continuous integration docs.rs Crates.io

libp2p Tor

Tor based transport for libp2p. Connect through the Tor network to TCP listeners.

Build on top of Arti.

⚠️ Misuse warning ⚠️ - read carefully before using

Although the sound of "Tor" might convey a sense of security it is very easy to misuse this crate and leaking private information while using. Study libp2p carefully and try to make sure you fully understand it's current limits regarding privacy. I.e. using identify might already render this transport obsolete.

This transport explicitly doesn't provide any enhanced privacy if it's just used like a regular transport. Use with caution and at your own risk. Don't just blindly advertise Tor without fully understanding what you are dealing with.

Add to your dependencies

cargo add libp2p-community-tor

This crate uses tokio with rustls for its runtime and TLS implementation. No other combinations are supported.

Example

let address = "/dns/www.torproject.org/tcp/1000".parse()?;
let mut transport = libp2p_community_tor::TorTransport::bootstrapped().await?;
// we have achieved tor connection
let _conn = transport.dial(address)?.await?;

About

This crate originates in a PR to bring Tor support too rust-libp2p. Read more about it here: libp2p/rust-libp2p#2899

License: MIT

Commit count: 50

cargo fmt