docs.rs failed to build fast-socks5-0.4.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
fast-socks5-1.0.0
SOCKS5 client/server library using async/.await
🚸 Currently it’s in heavy development and may frequently change.
Features
- An
async/.awaitSOCKS5 implementation. - No unsafe code
- Built on-top of
async-stdlibrary - Ultra lightweight and scalable
- No system dependencies
- Cross-platform
- Authentication methods:
- No-Auth method
- Username/Password auth method
- Custom auth methods can be implemented via the Authentication Trait
- All SOCKS5 RFC errors (replies) should be mapped
AsyncRead + AsyncWritetraits are implemented on Socks5Stream & Socks5SocketIPv4,IPv6, andDomainstypes are supported- Config helper for Socks5Server
- Helpers to run a Socks5Server à la "async-std's TcpStream" via
incoming.next().await - Examples come with real cases commands scenarios
- Can disable
DNS resolving - Can skip the authentication/handshake process, which will directly handle command's request (useful to save useless round-trips in an already authenticated environment)
- Can disable command execution (useful if you just want to forward the request to an another server)
Install
Open in crates.io.
Examples
Please check examples directory.
# Run client
RUST_LOG=debug
# Run server
RUST_LOG=debug
# Test it with cURL
TODO
- Tests have to be implemented
- Better Rust doc
- Bind command not implemented
- UDP command not implemented
Inspired by
Thanks to all these SOCKS5 projects
- https://github.com/sfackler/rust-socks/blob/master/src/v5.rs
- https://github.com/shadowsocks/shadowsocks-rust/blob/master/src/relay/socks5.rs
- https://github.com/ylxdzsw/v2socks/blob/master/src/socks.rs
Further consideration
- Implementation made with Tokio-codec https://github.com/yfaming/yimu-rs/blob/master/src/socks5.rs