Changes to be committed:
modified: src/main.rs modified: src/tcp_client.rs modified: src/tcp_server.rs new file: src/util.rs
This commit is contained in:
parent
5bc50b0e29
commit
9530aa43c0
@ -12,6 +12,7 @@ use serde_derive::Deserialize;
|
||||
//mod server;
|
||||
mod tcp_client;
|
||||
mod tcp_server;
|
||||
mod util;
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct VpnPacket {
|
||||
|
@ -11,6 +11,8 @@ use std::collections::HashMap;
|
||||
use std::process::Command;
|
||||
use tokio::io::AsyncReadExt;
|
||||
|
||||
use crate::VpnPacket;
|
||||
|
||||
fn configure_routes() {
|
||||
let ip_output = Command::new("ip")
|
||||
.arg("addr")
|
||||
@ -101,14 +103,17 @@ pub async fn client_mode(remote_addr: String) {
|
||||
let mut buf = vec![0; 2048];
|
||||
loop {
|
||||
if let Ok(n) = sock_reader.read(&mut buf).await {
|
||||
tx.send(buf[..n].to_vec()).unwrap();
|
||||
let vpn_packet: VpnPacket = bincode::deserialize(&buf[..n]).unwrap();
|
||||
tx.send(vpn_packet.data).unwrap();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
loop {
|
||||
if let Ok(bytes) = mx.recv() {
|
||||
sock_writer.write(&bytes).await.unwrap();
|
||||
let vpn_packet = VpnPacket{ data: bytes };
|
||||
let serialized_data = bincode::serialize(&vpn_packet).unwrap();
|
||||
sock_writer.write(&serialized_data).await.unwrap();
|
||||
info!("Wrote to sock");
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,8 @@ use std::net::SocketAddr;
|
||||
use std::collections::HashMap;
|
||||
use tokio::io::AsyncReadExt;
|
||||
|
||||
use crate::VpnPacket;
|
||||
|
||||
pub async fn server_mode() {
|
||||
info!("Starting server...");
|
||||
|
||||
@ -54,7 +56,9 @@ pub async fn server_mode() {
|
||||
tokio::spawn(async move {
|
||||
loop {
|
||||
if let Ok(bytes) = thread_mx.recv() {
|
||||
sock_writer.write(&bytes).await.unwrap();
|
||||
let vpn_packet = VpnPacket{ data: bytes };
|
||||
let serialized_data = bincode::serialize(&vpn_packet).unwrap();
|
||||
sock_writer.write_all(&serialized_data).await.unwrap();
|
||||
info!("Wrote to sock");
|
||||
}
|
||||
}
|
||||
@ -64,7 +68,8 @@ pub async fn server_mode() {
|
||||
let mut buf = vec![0; 2048];
|
||||
loop {
|
||||
if let Ok(n) = sock_reader.read(&mut buf).await {
|
||||
thread_tx.send(buf[..n].to_vec()).unwrap();
|
||||
let vpn_packet: VpnPacket = bincode::deserialize(&buf[..n]).unwrap();
|
||||
thread_tx.send(vpn_packet.data).unwrap();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
7
src/util.rs
Normal file
7
src/util.rs
Normal file
@ -0,0 +1,7 @@
|
||||
use serde_derive::Serialize;
|
||||
use serde_derive::Deserialize;
|
||||
|
||||
#[derive(Serialize, Deserialize)]
|
||||
struct VpnPacket {
|
||||
data: Vec<u8>,
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user