http redirector

This commit is contained in:
sijie.sun
2025-02-19 23:30:10 +08:00
committed by Sijie.Sun
parent 2050ed78d0
commit 673c34cf5a
5 changed files with 379 additions and 112 deletions
+7 -1
View File
@@ -3,6 +3,8 @@ use std::{
sync::Arc,
};
use http_connector::HttpTunnelConnector;
#[cfg(feature = "quic")]
use crate::tunnel::quic::QUICTunnelConnector;
#[cfg(feature = "wireguard")]
@@ -19,7 +21,7 @@ pub mod direct;
pub mod manual;
pub mod udp_hole_punch;
mod http_connector;
pub mod http_connector;
async fn set_bind_addr_for_peer_connector(
connector: &mut (impl TunnelConnector + ?Sized),
@@ -81,6 +83,10 @@ pub async fn create_connector_by_url(
}
return Ok(Box::new(connector));
}
"http" | "https" => {
let connector = HttpTunnelConnector::new(url, global_ctx.clone());
return Ok(Box::new(connector));
}
"ring" => {
check_scheme_and_get_socket_addr::<uuid::Uuid>(&url, "ring")?;
let connector = RingTunnelConnector::new(url);