7个版本

0.0.6 2024年6月26日
0.0.5 2021年1月6日
0.0.4 2020年9月9日
0.0.2 2020年7月27日
0.0.1 2020年5月26日

#1725异步

Download history 3/week @ 2024-06-16 143/week @ 2024-06-23 11/week @ 2024-06-30 13/week @ 2024-07-07 52/week @ 2024-07-28 4/week @ 2024-08-11

56 每月下载量
5 个crate中使用了(通过 koibumi-node

GPL-3.0-or-later

38KB
772 代码行

此crate是一个最小的SOCKS5客户端库。

库可以在异步环境中使用。库的目的是与本地Tor SOCKS5代理一起使用。


lib.rs:

此crate是一个最小的SOCKS5客户端库。

库可以在异步环境中使用。库的目的是与本地Tor SOCKS5代理一起使用。

示例

通过本地Tor SOCKS5代理(127.0.0.1:9050)连接到example.org:80的Web服务器,发出GET命令,读取并打印响应

#
use async_std::{
    io::{prelude::WriteExt, ReadExt},
    net::TcpStream,
};
use koibumi_net::{
    domain::{Domain, SocketDomain},
    socks::SocketAddr as SocksSocketAddr,
};
use koibumi_socks as socks;

let mut stream = TcpStream::connect("127.0.0.1:9050").await?;

let destination = SocksSocketAddr::Domain(
    SocketDomain::new(
        Domain::new("example.org").unwrap(), 80.into()));

let _dest = socks::connect(&mut stream, destination).await?;

stream.write_all(b"GET /\n").await?;

let mut bytes = Vec::new();
stream.read_to_end(&mut bytes).await?;
print!("{}", String::from_utf8_lossy(&bytes));
#

依赖项

~1MB
~15K SLoC