Crates.io | reacher-fast-socks5 |
lib.rs | reacher-fast-socks5 |
version | 0.8.1 |
source | src |
created_at | 2022-08-10 21:19:45.513994 |
updated_at | 2022-08-10 21:19:45.513994 |
description | Fast SOCKS5 client/server implementation written in Rust async/.await (tokio) |
homepage | |
repository | https://github.com/amaurym/fast-socks5 |
max_upload_size | |
id | 642901 |
size | 118,611 |
An async
/.await
SOCKS5 implementation.
An async
/.await
SOCKS4 Client implementation.
An async
/.await
SOCKS4a Client implementation.
No unsafe code
Built on-top of tokio
library
Ultra lightweight and scalable
No system dependencies
Cross-platform
Authentication methods:
All SOCKS5 RFC errors (replies) should be mapped
AsyncRead + AsyncWrite
traits are implemented on Socks5Stream & Socks5Socket
IPv4
, IPv6
, and Domains
types are supported
Config helper for Socks5Server
Helpers to run a Socks5Server à la "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 a current authenticated environment)
Can disable command execution (useful if you just want to forward the request to a different server)
Open in crates.io.
Please check examples
directory.
# Run client
RUST_LOG=debug cargo run --example client -- --socks-server 127.0.0.1:1337 --username admin --password password -a perdu.com -p 80
# Run server
RUST_LOG=debug cargo run --example server -- --listen-addr 127.0.0.1:1337 password -u admin -p password
# Test it with cURL
curl -v --proxy socks5://admin:password@127.0.0.1:1337 https://ipapi.co/json/
Thanks to all these SOCKS5 projects