smp-socks/src/main.rs

37 lines
789 B
Rust
Raw Normal View History

2024-10-18 17:40:04 +03:00
mod config;
mod error;
mod handler;
// mod host;
mod serde_addr;
use std::sync::Arc;
use error::AppResult;
use handler::handler;
use socks5_server as socks;
use tokio::net::TcpListener;
#[tokio::main]
async fn main() -> AppResult<()> {
let config = Arc::new(config::parse()?);
let auth = Arc::new(socks::auth::NoAuth);
let listener = TcpListener::bind((config.host.as_str(), config.port)).await?;
let server = socks::Server::new(listener, auth);
while let Ok((conn, _addr)) = server.accept().await {
let config = config.clone();
tokio::spawn(async move {
match handler(conn, config).await {
Ok(()) => {}
Err(e) => {
//
}
}
});
}
Ok(())
}