first commit

This commit is contained in:
aprilthepink 2025-03-10 11:02:02 +01:00
parent 17fb7ed120
commit 58c3ec763a
3 changed files with 269 additions and 12 deletions

View file

@ -21,6 +21,8 @@ use pman::{init_process_manager, ProcessCommand, ProcessManager};
use shadow_rs::shadow;
use std::sync::{Arc, Mutex, OnceLock};
use tokio::{signal, sync::mpsc::Sender};
use trust_dns_resolver::config::{ResolverConfig, ResolverOpts};
use trust_dns_resolver::{Resolver, TokioAsyncResolver};
shadow!(build);
@ -84,14 +86,23 @@ async fn main() -> anyhow::Result<()> {
args.config
});
rustls::crypto::aws_lc_rs::default_provider().install_default().expect("Couldnt install rustls crypto into process");
let _ = init_process_manager();
match args.command {
Commands::CliClient => {
let ip_addr_str = config().get_string("remote_endpoint")?;
let ip_sock = SocketAddr::from_str(&ip_addr_str)?;
let client_endpoint = quic::client::make_client_endpoint(ip_sock.clone(), None)?;
let client = client_endpoint.connect(ip_sock, "localhost")?.await?;
let host = config().get_string("remote_host")?;
let port = config().get::<u16>("remote_port")?;
let resolver = TokioAsyncResolver::tokio(
ResolverConfig::quad9_tls(),
ResolverOpts::default(),
);
let response = resolver.lookup_ip(&host).await?;
let ip_addr = response.iter().next().expect("no addresses returned!");
let ip_sock = SocketAddr::new(ip_addr, port);
let client_endpoint = quic::client::make_client_endpoint(ip_sock.clone(), None).unwrap();
let client = client_endpoint.connect(ip_sock, &host)?.await?;
println!("[client] connected: addr={}", client.remote_address());
}