Struct tokio_socks::tcp::Socks5Listener
source · [−]pub struct Socks5Listener<S> { /* private fields */ }
Expand description
A SOCKS5 BIND client.
Once you get an instance of Socks5Listener
, you should send the
bind_addr
to the remote process via the primary connection. Then, call the
accept
function and wait for the other end connecting to the rendezvous
address.
Implementations
sourceimpl Socks5Listener<TcpStream>
impl Socks5Listener<TcpStream>
sourcepub async fn bind<'t, P, T>(
proxy: P,
target: T
) -> Result<Socks5Listener<TcpStream>> where
P: ToProxyAddrs,
T: IntoTargetAddr<'t>,
pub async fn bind<'t, P, T>(
proxy: P,
target: T
) -> Result<Socks5Listener<TcpStream>> where
P: ToProxyAddrs,
T: IntoTargetAddr<'t>,
Initiates a BIND request to the specified proxy.
The proxy will filter incoming connections based on the value of
target
.
Error
It propagates the error that occurs in the conversion from T
to
TargetAddr
.
sourcepub async fn bind_with_password<'a, 't, P, T>(
proxy: P,
target: T,
username: &'a str,
password: &'a str
) -> Result<Socks5Listener<TcpStream>> where
P: ToProxyAddrs,
T: IntoTargetAddr<'t>,
pub async fn bind_with_password<'a, 't, P, T>(
proxy: P,
target: T,
username: &'a str,
password: &'a str
) -> Result<Socks5Listener<TcpStream>> where
P: ToProxyAddrs,
T: IntoTargetAddr<'t>,
Initiates a BIND request to the specified proxy using given username and password.
The proxy will filter incoming connections based on the value of
target
.
Error
It propagates the error that occurs in the conversion from T
to
TargetAddr
.
sourceimpl<S> Socks5Listener<S> where
S: AsyncRead + AsyncWrite + Unpin,
impl<S> Socks5Listener<S> where
S: AsyncRead + AsyncWrite + Unpin,
sourcepub async fn bind_with_socket<'t, T>(
socket: S,
target: T
) -> Result<Socks5Listener<S>> where
T: IntoTargetAddr<'t>,
pub async fn bind_with_socket<'t, T>(
socket: S,
target: T
) -> Result<Socks5Listener<S>> where
T: IntoTargetAddr<'t>,
Initiates a BIND request to the specified proxy using the given socket to it.
The proxy will filter incoming connections based on the value of
target
.
Error
It propagates the error that occurs in the conversion from T
to
TargetAddr
.
sourcepub async fn bind_with_password_and_socket<'a, 't, T>(
socket: S,
target: T,
username: &'a str,
password: &'a str
) -> Result<Socks5Listener<S>> where
T: IntoTargetAddr<'t>,
pub async fn bind_with_password_and_socket<'a, 't, T>(
socket: S,
target: T,
username: &'a str,
password: &'a str
) -> Result<Socks5Listener<S>> where
T: IntoTargetAddr<'t>,
Initiates a BIND request to the specified proxy using given username, password and socket to the proxy.
The proxy will filter incoming connections based on the value of
target
.
Error
It propagates the error that occurs in the conversion from T
to
TargetAddr
.
sourcepub fn bind_addr(&self) -> TargetAddr<'_>
pub fn bind_addr(&self) -> TargetAddr<'_>
Returns the address of the proxy-side TCP listener.
This should be forwarded to the remote process, which should open a connection to it.
sourcepub async fn accept(self) -> Result<Socks5Stream<S>>
pub async fn accept(self) -> Result<Socks5Stream<S>>
Consumes this listener, returning a Future
which resolves to the
Socks5Stream
connected to the target server through the proxy.
The value of bind_addr
should be forwarded to the remote process
before this method is called.
Auto Trait Implementations
impl<S> RefUnwindSafe for Socks5Listener<S> where
S: RefUnwindSafe,
impl<S> Send for Socks5Listener<S> where
S: Send,
impl<S> Sync for Socks5Listener<S> where
S: Sync,
impl<S> Unpin for Socks5Listener<S> where
S: Unpin,
impl<S> UnwindSafe for Socks5Listener<S> where
S: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more