mirror of
https://mirror.suhoan.cn/https://github.com/EasyTier/EasyTier.git
synced 2025-12-16 06:37:23 +08:00
@@ -6,6 +6,7 @@ use std::{
|
||||
use crate::{
|
||||
common::{error::Error, global_ctx::ArcGlobalCtx, network::IPCollector},
|
||||
tunnel::{
|
||||
quic::QUICTunnelConnector,
|
||||
ring::RingTunnelConnector,
|
||||
tcp::TcpTunnelConnector,
|
||||
udp::UdpTunnelConnector,
|
||||
@@ -77,6 +78,18 @@ pub async fn create_connector_by_url(
|
||||
let connector = RingTunnelConnector::new(url);
|
||||
return Ok(Box::new(connector));
|
||||
}
|
||||
"quic" => {
|
||||
let dst_addr =
|
||||
crate::tunnels::check_scheme_and_get_socket_addr::<SocketAddr>(&url, "quic")?;
|
||||
let mut connector = QUICTunnelConnector::new(url);
|
||||
set_bind_addr_for_peer_connector(
|
||||
&mut connector,
|
||||
dst_addr.is_ipv4(),
|
||||
&global_ctx.get_ip_collector(),
|
||||
)
|
||||
.await;
|
||||
return Ok(Box::new(connector));
|
||||
}
|
||||
"wg" => {
|
||||
let dst_addr =
|
||||
crate::tunnels::check_scheme_and_get_socket_addr::<SocketAddr>(&url, "wg")?;
|
||||
|
||||
@@ -15,7 +15,6 @@ use crate::{
|
||||
rpc::NatType,
|
||||
tunnel::{
|
||||
common::setup_sokcet2,
|
||||
packet_def::ZCPacketType,
|
||||
udp::{new_hole_punch_packet, UdpTunnelConnector, UdpTunnelListener},
|
||||
Tunnel, TunnelConnCounter, TunnelListener,
|
||||
},
|
||||
@@ -153,7 +152,7 @@ impl UdpHolePunchService for UdpHolePunchRpcServer {
|
||||
|
||||
let udp_packet = new_hole_punch_packet();
|
||||
let _ = socket
|
||||
.send_to(&udp_packet.into_bytes(ZCPacketType::UDP), local_mapped_addr)
|
||||
.send_to(&udp_packet.into_bytes(), local_mapped_addr)
|
||||
.await;
|
||||
tokio::time::sleep(std::time::Duration::from_millis(300)).await;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user