Available on crate feature experimental-api only.
Expand description

Implement a simple SOCKS proxy that relays connections over Tor.

A proxy is launched with run_socks_proxy(), which listens for new connections and then runs


A Key used to isolate connections.


Payload to return when an HTTP connection arrive on a Socks port


Return true if a given IoError, when received from accept, is a fatal error.

Copy all the data from reader into writer until we encounter an EOF or an error.

Given a just-received TCP connection S on a SOCKS port, handle the SOCKS handshake and relay the connection over the Tor network.

Reply a Socks error based on an arti-client Error and close the stream. Returns the error provided in parameter

Launch a SOCKS proxy to listen on a given localhost port, and run indefinitely.

Find out which kind of address family we can/should use for a given SocksRequest.

write_all the data to the writer & close the writer if write_all is successful.

write_all the data to the writer & flush the writer if write_all is successful.