From 6ce25c6600280226e43bf85f6c832d92f9c09f29 Mon Sep 17 00:00:00 2001 From: ivulit Date: Sat, 21 Feb 2026 10:22:51 +0300 Subject: [PATCH 1/4] Use mask_host for TLS emulation fetcher --- src/main.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 0e635de..8118a60 100644 --- a/src/main.rs +++ b/src/main.rs @@ -461,10 +461,12 @@ match crate::transport::middle_proxy::fetch_proxy_secret(proxy_secret_path).awai cache.load_from_disk().await; let port = config.censorship.mask_port; + let mask_host = config.censorship.mask_host.clone() + .unwrap_or_else(|| config.censorship.tls_domain.clone()); // Initial synchronous fetch to warm cache before serving clients. for domain in tls_domains.clone() { match crate::tls_front::fetcher::fetch_real_tls( - &domain, + &mask_host, port, &domain, Duration::from_secs(5), @@ -488,7 +490,7 @@ match crate::transport::middle_proxy::fetch_proxy_secret(proxy_secret_path).awai tokio::time::sleep(Duration::from_secs(base_secs + jitter_secs)).await; for domain in &domains { match crate::tls_front::fetcher::fetch_real_tls( - domain, + &mask_host, port, domain, Duration::from_secs(5), From 40711fda09a7d4ce2265f73c22a268070adb938d Mon Sep 17 00:00:00 2001 From: Alexey <247128645+axkurcom@users.noreply.github.com> Date: Sat, 21 Feb 2026 13:20:44 +0300 Subject: [PATCH 2/4] Update Cargo.toml --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 5d0578d..3ca0882 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "telemt" -version = "3.0.6" +version = "3.0.7" edition = "2024" [dependencies] From c3ebb4212085ba6a78debc1da3f9ad4310aea9c9 Mon Sep 17 00:00:00 2001 From: Alexey <247128645+axkurcom@users.noreply.github.com> Date: Sat, 21 Feb 2026 13:56:24 +0300 Subject: [PATCH 3/4] Peer - Connection closed fixes --- src/main.rs | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index 0e635de..4bd165d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -938,7 +938,43 @@ match crate::transport::middle_proxy::fetch_proxy_secret(proxy_secret_path).awai .run() .await { - warn!(peer = %peer_addr, error = %e, "Connection closed with error"); + let peer_closed = match &e { + crate::error::ProxyError::Io(ioe) => { + matches!( + ioe.kind(), + std::io::ErrorKind::ConnectionReset + | std::io::ErrorKind::ConnectionAborted + | std::io::ErrorKind::BrokenPipe + | std::io::ErrorKind::NotConnected + ) + } + crate::error::ProxyError::Stream( + crate::error::StreamError::Io(ioe), + ) => { + matches!( + ioe.kind(), + std::io::ErrorKind::ConnectionReset + | std::io::ErrorKind::ConnectionAborted + | std::io::ErrorKind::BrokenPipe + | std::io::ErrorKind::NotConnected + ) + } + _ => false, + }; + + if peer_closed { + debug!( + peer = %peer_addr, + error = %e, + "Connection closed by peer" + ); + } else { + warn!( + peer = %peer_addr, + error = %e, + "Connection closed with error" + ); + } } }); } From 3d3428ad4d25ba3fa2e938499a345a3f49f4de3b Mon Sep 17 00:00:00 2001 From: Alexey <247128645+axkurcom@users.noreply.github.com> Date: Sat, 21 Feb 2026 14:11:12 +0300 Subject: [PATCH 4/4] Update Cargo.toml --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 3ca0882..f8ee25f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "telemt" -version = "3.0.7" +version = "3.0.8" edition = "2024" [dependencies]