remove asymetric ecryption

This commit is contained in:
2025-07-25 22:14:48 +02:00
parent 13223b5417
commit fb0a1644b7
8 changed files with 69 additions and 311 deletions
+62 -2
View File
@@ -1,8 +1,42 @@
use std::net::UdpSocket;
use pea_2_pea::SERVER_PORT;
use std::{
io::{Read, Write},
net::UdpSocket,
process::exit,
};
#[derive(clap::Parser)]
#[command(name = "pea_2_pea")]
#[command(about = "A CLI tool for pea_2_pea P2P vpn client")]
struct Cli {
#[arg(short = 'r', long = "registrar")]
#[arg(help = "registrar ip address or hostname")]
registrar: String,
#[arg(short = 'v', long = "verbose")]
verbose: bool,
#[arg(short = 'V', long = "version")]
version: bool,
#[arg(short = 'p', long = "registrar-port")]
#[arg(help = format!("Port number for the registrar service (1-65535) Default: {}", SERVER_PORT))]
registrar_port: Option<u16>,
#[arg(short = 'P', long = "bind-port")]
bind_port: Option<u16>,
}
fn main() -> std::io::Result<()> {
let cli = <Cli as clap::Parser>::parse();
{
let socket: UdpSocket = (|| -> std::io::Result<UdpSocket> {
let mut port: u16 = 59999;
let mut port: u16;
match cli.bind_port {
Some(port_proveded) => port = port_proveded,
None => port = 59999, // Magic number
}
loop {
port += 1;
match UdpSocket::bind(format!("0.0.0.0:{}", port)) {
@@ -12,6 +46,32 @@ fn main() -> std::io::Result<()> {
}
})()
.expect("Failed to bind to any available port");
// send query request to get server public key
let server_port: u16 = (|| -> u16 {
match cli.bind_port {
Some(port_proveded) => return port_proveded,
None => return pea_2_pea::SERVER_PORT,
}
})();
let server_SocketAddr: core::net::SocketAddr = format!("{}:{}", cli.registrar, server_port)
.parse()
.unwrap();
let mut buf: [u8; pea_2_pea::BUFFER_SIZE] = [0; pea_2_pea::BUFFER_SIZE];
loop {
match socket.recv_from(&mut buf) {
Ok((data_length, src)) => {}
Err(e) => {
eprintln!("Error receiving data: {}", e);
std::process::exit(-4);
}
}
let mut out = std::io::stdout();
out.write_all(&buf)?;
out.flush()?;
}
}
Ok(())
}