From 918898558a3fe36abe97598ea39ab678d456b0ba Mon Sep 17 00:00:00 2001 From: Kleo Dev Date: Fri, 15 Aug 2025 20:15:49 +0200 Subject: [PATCH] ok --- src/lib.rs | 8 +++----- src/main.rs | 13 ++++++++++--- src/server.rs | 15 +++++++-------- src/tls.rs | 7 +++++-- 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2b19dfb..6c037c6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,15 +1,13 @@ use std::io::{Read, Write}; -use rustls::Stream; - pub mod server; pub mod tls; pub fn request(gateway: &str, addr: &str) -> String { - // Send a request to the gateway and provide the IP address and request let (mut conn, mut tcp) = tls::mask_tls(gateway).unwrap(); - let mut tls = Stream::new(&mut conn, &mut tcp); - tls.write_all(format!("ROUTE {addr}").as_bytes()).unwrap(); + let mut tls = rustls::Stream::new(&mut conn, &mut tcp); + tls.write_all(format!("ROUTE {addr}\nGET / HTTP/1.1").as_bytes()) + .unwrap(); let mut resp = Vec::new(); tls.read_to_end(&mut resp).unwrap(); String::from_utf8_lossy(&resp).to_string() diff --git a/src/main.rs b/src/main.rs index 2c967dc..7ce3b77 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,14 @@ fn main() { - ghostnet_rs::server::run().unwrap(); + ghostnet_rs::server::run(); // println!( - // "Result: {}", - // ghostnet_rs::request("0.0.0.0:3000", "github.com") + // "{}", + // ghostnet_rs::request("ghostnet-rs.onrender.com:443", "https://wikipedia.org") // ); + // println!( + // "{}", + // reqwest::blocking::get("https://ghostnet-rs.onrender.com/") + // .unwrap() + // .text() + // .unwrap() + // ) } diff --git a/src/server.rs b/src/server.rs index 6129a58..85a72be 100644 --- a/src/server.rs +++ b/src/server.rs @@ -6,7 +6,7 @@ use reqwest::Version; use reqwest::blocking::Client; use reqwest::header::{HeaderMap, HeaderName, HeaderValue}; -pub fn run() -> reqwest::Result<()> { +pub fn run() { let listener = TcpListener::bind(format!( "0.0.0.0:{}", std::env::var("PORT").unwrap_or_else(|_| "3000".into()) @@ -29,12 +29,12 @@ pub fn run() -> reqwest::Result<()> { .1; let http = buf_str.split_once("\n").unwrap().1; stream - .write_all(send_request(addr, http)?.as_bytes()) + .write_all(send_request(addr, http).as_bytes()) .unwrap(); stream.flush().unwrap(); } else { stream - .write_all(send_request("https://wikipedia.org", "GET / HTTP/1.1")?.as_bytes()) + .write_all(send_request("https://wikipedia.org", "GET / HTTP/1.1").as_bytes()) .unwrap(); stream.flush().unwrap(); } @@ -42,7 +42,7 @@ pub fn run() -> reqwest::Result<()> { } } -fn send_request(url: &str, request: &str) -> reqwest::Result { +fn send_request(url: &str, request: &str) -> String { let client = Client::new(); let mut lines = request.lines(); @@ -61,7 +61,6 @@ fn send_request(url: &str, request: &str) -> reqwest::Result { HeaderName::from_str(key.trim()).unwrap(), HeaderValue::from_str(value.trim()).unwrap(), )); - // headers.insert(, ); } } @@ -76,7 +75,7 @@ fn send_request(url: &str, request: &str) -> reqwest::Result { } .headers(HeaderMap::from_iter(headers.into_iter())); - let resp = builder.send()?; + let resp = builder.send().unwrap(); let mut http_string = String::new(); @@ -100,8 +99,8 @@ fn send_request(url: &str, request: &str) -> reqwest::Result { http_string.push_str("\r\n"); - let body = resp.text()?; + let body = resp.text().unwrap(); http_string.push_str(&body); - Ok(http_string) + http_string } diff --git a/src/tls.rs b/src/tls.rs index c4aba47..7b4ff67 100644 --- a/src/tls.rs +++ b/src/tls.rs @@ -18,7 +18,10 @@ pub fn mask_tls<'a>( .with_no_client_auth(); let arc_cfg = Arc::new(config); - let conn = ClientConnection::new(arc_cfg, addr.to_owned().try_into()?)?; - let tcp = TcpStream::connect(addr.to_owned() + ":443")?; + let conn = ClientConnection::new( + arc_cfg, + addr.split_once(":").unwrap().0.to_string().try_into()?, + )?; + let tcp = TcpStream::connect(addr)?; Ok((conn, tcp)) }