pub struct SocksStream { /* private fields */ }
Expand description
A SOCKS5 Stream
Implementations§
Source§impl SocksStream
impl SocksStream
Sourcepub async fn connect(
proxy_addr: SocketAddr,
target_addr: impl ToTargetAddr,
user_pass: Option<(String, String)>,
) -> Result<TcpStream, Box<dyn Error>>
pub async fn connect( proxy_addr: SocketAddr, target_addr: impl ToTargetAddr, user_pass: Option<(String, String)>, ) -> Result<TcpStream, Box<dyn Error>>
Connects to proxy_addr
and returns a TcpStream
which
is authenticated via provided methods and ready to transfer data.
§Example
use socks5_async::SocksStream;
// SOCKS5 proxy server address
let proxy: SocketAddr = "127.0.0.1:1080".parse().unwrap();
// Target address
let target: SocketAddrV4 = "127.0.0.1:3033".parse().unwrap();
// Connect to server
let stream = SocksStream::connect(
proxy,
target,
// Pass None if you want to use NoAuth method
Some(("user1".to_string(), "123456".to_string())),
).await?;
// Use tcp stream ...
§Note
This methods uses connect_with_stream()
under the hood.
Auto Trait Implementations§
impl !Freeze for SocksStream
impl !RefUnwindSafe for SocksStream
impl Send for SocksStream
impl Sync for SocksStream
impl Unpin for SocksStream
impl !UnwindSafe for SocksStream
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more