modified: src/client.rs

This commit is contained in:
Michael Wain 2024-10-19 22:26:29 +03:00
parent 642015fb60
commit 18a43c9208

View File

@ -103,16 +103,12 @@ pub mod general {
} }
impl<T: ReadWrapper + std::marker::Sync, R: WriteWrapper + std::marker::Sync> CoreVpnClient<T, R> { impl<T: ReadWrapper + std::marker::Sync, R: WriteWrapper + std::marker::Sync> CoreVpnClient<T, R> {
pub async fn start(&mut self) { pub async fn start(&mut self, sock: UdpSocket) {
info!("Starting client..."); info!("Starting client...");
let dr_cancel: CancellationToken = CancellationToken::new(); let dr_cancel: CancellationToken = CancellationToken::new();
let sr_cancel: CancellationToken = CancellationToken::new(); let sr_cancel: CancellationToken = CancellationToken::new();
info!("SSS: {:?}", &self.client_config.server.endpoint);
let sock = UdpSocket::bind("0.0.0.0:25565").await.unwrap();
sock.connect(&self.client_config.server.endpoint).await.unwrap();
let sock_rec = Arc::new(sock); let sock_rec = Arc::new(sock);
let sock_snd = sock_rec.clone(); let sock_snd = sock_rec.clone();
@ -332,7 +328,10 @@ pub mod android {
let mut dev_reader = BufReader::new(dev); let mut dev_reader = BufReader::new(dev);
let mut dev_writer = BufWriter::new(dev1); let mut dev_writer = BufWriter::new(dev1);
let client = CoreVpnClient{client_config: self.client_config, dev_reader, dev_writer, close_token: self.close_token}; let client = CoreVpnClient{client_config: self.client_config, dev_reader, dev_writer, close_token: self.close_token};
client.start().await; info!("SSS: {:?}", &self.client_config.server.endpoint);
let sock = UdpSocket::bind("0.0.0.0:25565").await.unwrap();
sock.connect(&self.client_config.server.endpoint).await.unwrap();
client.start(sock).await;
} }
} }
} }
@ -342,7 +341,7 @@ pub mod desktop {
use crate::config::ClientConfiguration; use crate::config::ClientConfiguration;
use log::{error, info, warn}; use log::{error, info, warn};
use network_interface::{NetworkInterface, NetworkInterfaceConfig}; use network_interface::{NetworkInterface, NetworkInterfaceConfig};
use tokio::io::BufReader; use tokio::{io::BufReader, net::UdpSocket};
use std::process::Command; use std::process::Command;
use std::{io::{Read, Write}, net::SocketAddr}; use std::{io::{Read, Write}, net::SocketAddr};
@ -417,6 +416,10 @@ pub mod desktop {
.tun_name("tun0") .tun_name("tun0")
.up(); .up();
info!("SSS: {:?}", &self.client_config.server.endpoint);
let sock = UdpSocket::bind("0.0.0.0:25565").await.unwrap();
sock.connect(&self.client_config.server.endpoint).await.unwrap();
let dev = tun2::create_as_async(&config).unwrap(); let dev = tun2::create_as_async(&config).unwrap();
let (mut dev_writer, mut dev_reader) = dev.split().unwrap(); let (mut dev_writer, mut dev_reader) = dev.split().unwrap();
let mut client = CoreVpnClient{ client_config: self.client_config.clone(), dev_reader: DevReader{ dr: dev_reader }, dev_writer: DevWriter{dr: dev_writer}, close_token: tokio_util::sync::CancellationToken::new()}; let mut client = CoreVpnClient{ client_config: self.client_config.clone(), dev_reader: DevReader{ dr: dev_reader }, dev_writer: DevWriter{dr: dev_writer}, close_token: tokio_util::sync::CancellationToken::new()};
@ -425,7 +428,8 @@ pub mod desktop {
#[cfg(target_os = "linux")] #[cfg(target_os = "linux")]
configure_routes(&s_a.ip().to_string(), s_interface); configure_routes(&s_a.ip().to_string(), s_interface);
client.start().await;
client.start(sock).await;
} }
} }
} }