Add fake tcp tunnel (experimental) (#1673)

support faketcp to avoid tcp-over-tcp problem.
linux/macos/windows are supported.

better to be used in internet env, the maximum 
performance is majorly limited by windivert/raw socket.
This commit is contained in:
KKRainbow
2025-12-25 00:10:32 +08:00
committed by GitHub
parent 0712ef762d
commit 28cd6da502
27 changed files with 3744 additions and 19 deletions
+5
View File
@@ -534,6 +534,11 @@ pub mod tests {
let tunnel = c_netns.run_async(|| connector.connect()).await.unwrap();
println!("connect: {:?}", tunnel.info());
if connector.remote_url().scheme() == "faketcp" {
// listener need some time to start capturing packet
tokio::time::sleep(std::time::Duration::from_millis(100)).await;
}
assert_eq!(
url::Url::from(tunnel.info().unwrap().remote_addr.unwrap()),
connector.remote_url(),