Skip to content

Integrated Tor arti Client#750

Merged
wiesche89 merged 35 commits into
mimblewimble:stagingfrom
ardocrat:arti
Jun 21, 2026
Merged

Integrated Tor arti Client#750
wiesche89 merged 35 commits into
mimblewimble:stagingfrom
ardocrat:arti

Conversation

@ardocrat

@ardocrat ardocrat commented May 22, 2026

Copy link
Copy Markdown
Contributor
  • Integrated Arti client for listener (https://gitlab.torproject.org/tpo/core/arti/)
  • Bridges support
  • Added bridge_bin_path and use_integrated options at config
  • Update tokio to last version
  • Use Arti client to send requests
  • Do not try to send if skip_send_attempt presents at config

Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs
Comment thread controller/src/controller.rs Outdated
Comment thread controller/src/controller.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
@ardocrat ardocrat mentioned this pull request Jun 17, 2026
Comment thread impls/src/adapters/tor.rs Outdated
Comment thread impls/src/tor/arti.rs Outdated
Comment thread controller/src/controller.rs
Comment thread impls/src/adapters/tor.rs
path
};
let tor = if config.use_integrated.unwrap_or(true) {
start_tor_client(tor_dir.to_str().unwrap(), config.clone())?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Arti sender seems to bootstrap a fresh client for each send workflow. In long-running or batch use this can add repeated delays of up to 60s. Could we reuse a bootstrapped client?

@ardocrat ardocrat Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can keep tor client as global state, currently at CLI there is no such case, there is on request per command

@wiesche89 wiesche89 Jun 20, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, for one shot CLI commands this is less visible. I was mainly thinking about Owner API, GUI or long running wallet usage, where multiple sends can happen in the same process.

Comment thread controller/src/controller.rs
Comment thread impls/src/tor/arti.rs
Comment thread impls/src/tor/arti.rs Outdated
Comment thread impls/src/tor/arti.rs
Comment thread impls/src/tor/arti.rs
Comment thread impls/src/tor/arti.rs
@mimblewimble mimblewimble deleted a comment from ardocrat Jun 21, 2026
@wiesche89 wiesche89 merged commit 411bcff into mimblewimble:staging Jun 21, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants