Skip to content

SOCKS5 proxy options are parsed, persisted, then silently ignored — wallet traffic goes direct despite --proxy #328

Description

@tvpeter

Describe the bug

The application accepts SOCKS5 proxy settings for its blockchain backends, saves them to config.toml, reloads them while running but never applies them. A user who sets --proxy 127.0.0.1:9050 expecting wallet sync to go over Tor is connecting directly to the electrum/esplora server, with no warning and no error.

To Reproduce

  • Configure a wallet to point at 127.0.0.1:50100 server and a proxy 127.0.0.1:50200
bdk-cli --network testnet wallet --wallet tor config  --ext-descriptor "<desc>" --int-descriptor "<desc>" \
  --client-type electrum --database-type sqlite  --url "tcp://127.0.0.1:50100"  --proxy "127.0.0.1:50200"

it saves in config.toml.

  • Run a sync: bdk-cli --network testnet wallet --wallet tor sync and the proxy was not used.

Expected behavior

  • With --proxy set, electrum and esplora connection goes through the SOCKS5 proxy, and none is made directly.
  • If the proxy is unreachable or does not speak SOCKS5, the sync fails with an error rather than falling back to a direct connection.
  • If a backend cannot honour the setting, the app should say so explicitly, either rejecting the option at config time or warning instead of accepting and discarding it.

Build environment

  • BDK-CLI tag/commit: v4.0.0 20d69a1 (originally reported against 5b3cb00, v4.0.0)
  • OS+version: macOS 26.6.2
  • Rust/Cargo version: 1.98.1
  • Rust/Cargo target: aarch64-apple-darwin

Additional context

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

  • Status
    No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions