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.
Paylod 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
writer until we encounter an EOF or
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
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.