Problem
Currently the dial method of the transport converts the input Multiaddr into a string address that is in the form that Tor expects.
Onion v3 Multiaddr: /onion3/7gr3dngwhk74thi4vv6bm3v3bicaxe4apvcemoxo3hadpvsyfifjqnid:7
Tor address: 7gr3dngwhk74thi4vv6bm3v3bicaxe4apvcemoxo3hadpvsyfifjqnid.onion:7
Clearly this address conversion will not work for non-tor proxies.
Solution discussion
In order to support other SOCKS5 proxies we need to control how the multi address is converted into an address for the target SOCKS5 proxy. See the dial method, specifically:
let dest = tor_address_string(addr.clone())
.ok_or_else(|| TransportError::MultiaddrNotSupported(addr))?;
This functionality will somehow need to be made configurable.