Crate socks5

Expand description

SOCKS5 support for Rama.

§Rama

Crate used by the end-user rama crate and rama crate authors alike.

Learn more about rama:

§Socks5

  • If you need a socks5 server your best starting point is probably the Socks5Acceptor;
  • The Socks5Client is a low level connector that can be used to build client-side socks5-ready connectors;

Feel free to use the proto module directly if you wish to implement your own socks5 client/server logic using these protocol building blocks.

§Socks4

This library explicitly offers no support for the pre-RFC socks4. Reasons being that socks4 is only used in what is now considered legacy software, and that it offers certain security risks for the little it offers.

All proxy vendors have by now also moved to socks5.

That said, in case you have a particular need for socks4, know that we do have a rough idea how we could offer backwards-compatible support for socks4 (and socks4a), backed by the fact that socks5 is a superset of socks4.

Open a feature request at https://github.com/plabayo/rama/issues in case you want this support with sufficient motivation on why you have a strong need for this feature. Ideally this request also comes with the ability to contribute it yourself, be it with free and constructive mentorship from our end.

Modules§

client
proto
Implementation of the SOCKS5 Protocol RFC 1928
server
Socks5 Server Implementation for Rama.

Structs§

Socks5Acceptor
Socks5 server implementation of RFC 1928
Socks5Client
Socks5 client implementation of RFC 1928
Socks5ProxyConnector
A connector which can be used to establish a connection over a SOCKS5 Proxy.
Socks5ProxyConnectorLayer
A Layer which wraps the given service with a Socks5ProxyConnector.

Enums§

Socks5Auth