Plasma GitLab Archive
Projects Blog Knowledge

Class Uq_socks5.proxy_client

class proxy_client : Uq_engines.connect_address -> object .. end

The object created by new proxy_client addr can be passed as proxy to the Uq_engines.connector, Uq_engines.listener, and Uq_engines.datagram_provider functions to use the SOCKS proxy for connections, servers, and datagram socket, respectively.

The SOCKS client supports the following methods:

  • connect: Only TCP connections are supported (UDP could be made working - TODO)
  • listen: This works (only) for TCP sockets, too
  • create_datagram_socket: Creates unconnected datagram sockets that can be sent and received with object methods

Note that socket addresses are resolved by the proxy host; this applies to both `Sock_inet and `Sock_inet_byname. For the latter this means that name resolution is done by the proxy.

The nature of SOCKS restricts the functionality:

  • `Sock_unix addresses are not supported (i.e. you cannot connect to a Unix domain socket on the proxy host)
  • Listening server sockets can only accept one connection; after that they are "dead" and must be shut down first. The method multiple_connections is false because of this.
  • Further restrictions can be enforced by the SOCKS proxy and its configuration.
Inherits
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml