| Crates.io | dlzht-socks5 |
| lib.rs | dlzht-socks5 |
| version | 0.1.0 |
| created_at | 2024-08-19 06:19:13.914892+00 |
| updated_at | 2024-08-19 06:19:13.914892+00 |
| description | library for SOCKS5, RFC 1928 |
| homepage | |
| repository | https://github.com/dlzht/dlzht-socks5 |
| max_upload_size | |
| id | 1343520 |
| size | 98,883 |
This library is an implement of SOCKS5, RFC1928. So far, auth method of NO AUTHENTICATION REQUIRED and USERNAME/PASSWORD is supported, command CONNECT is supported.
use dlzht_socks5::server::SocksServerBuilder;
#[tokio::main]
async fn main() {
let server = SocksServerBuilder::new()
.allow_auth_skip(true)
.build().unwrap();
let _ = server.start().await;
}
use dlzht_socks5::server::SocksServerBuilder;
#[tokio::main]
async fn main() {
let server = SocksServerBuilder::new()
.credential(b"username", b"password")
.build().unwrap();
let _ = server.start().await;
}
Will support soon
use dlzht_socks5::client::SocksClientBuilder;
use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4};
#[tokio::main]
async fn main() {
let address = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080));
let mut client = SocksClientBuilder::new()
.server_address(address)
.allow_auth_skip(true)
.build()
.unwrap();
let mut stream = client
.connect(("127.0.0.1".to_string(), 9000))
.await
.unwrap();
}
use dlzht_socks5::client::SocksClientBuilder;
use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4};
#[tokio::main]
async fn main() {
let address = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 8080));
let mut client = SocksClientBuilder::new()
.server_address(address)
.credential(b"username", b"password")
.build()
.unwrap();
let mut stream = client
.connect(("127.0.0.1".to_string(), 9000))
.await
.unwrap();
}