chore: v1.9.28 — pipelined Full-mode tunnel

Ship PR #1115 from @yyoyoian-pixel: adaptive pipelined Full-mode polls, wseq-ordered tunnel-node writes, default STUN/TURN UDP blocking for faster WebRTC TCP fallback, and Android/desktop config support for the new block_stun path.

Local release gates passed on macOS: cargo test --lib, tunnel-node tests, cargo build --release, tunnel-node release build, desktop UI release build, and Android compileDebugKotlin with Android Studio JBR and the local SDK.
This commit is contained in:
therealaleph
2026-05-16 17:50:41 +03:00
parent 919b13b166
commit 875dd4ba48
4 changed files with 20 additions and 4 deletions
Generated
+1 -1
View File
@@ -2624,7 +2624,7 @@ dependencies = [
[[package]] [[package]]
name = "mhrv-rs" name = "mhrv-rs"
version = "1.9.27" version = "1.9.28"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"bytes", "bytes",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "mhrv-rs" name = "mhrv-rs"
version = "1.9.27" version = "1.9.28"
edition = "2021" edition = "2021"
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting" description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
license = "MIT" license = "MIT"
+2 -2
View File
@@ -14,8 +14,8 @@ android {
applicationId = "com.therealaleph.mhrv" applicationId = "com.therealaleph.mhrv"
minSdk = 24 // Android 7.0 — covers 99%+ of live devices. minSdk = 24 // Android 7.0 — covers 99%+ of live devices.
targetSdk = 34 targetSdk = 34
versionCode = 159 versionCode = 160
versionName = "1.9.25" versionName = "1.9.28"
// Ship all four mainstream Android ABIs: // Ship all four mainstream Android ABIs:
// - arm64-v8a — 95%+ of real-world Android phones since 2019 // - arm64-v8a — 95%+ of real-world Android phones since 2019
+16
View File
@@ -0,0 +1,16 @@
<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
<div dir="rtl">
**پایپ‌لاین شدن pollهای Full mode و سریع‌تر شدن تونل** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115) از @yyoyoian-pixel). کلاینت Full-mode حالا چند poll هم‌زمان و adaptive نگه می‌دارد تا وقتی یک پاسخ Apps Script یا tunnel-node دیر می‌رسد، بقیه مسیر معطل نماند. برای جلوگیری از به‌هم‌ریختن uploadها، هر write شمارهٔ ترتیبی (`wseq`) می‌گیرد و tunnel-node writeهای خارج از ترتیب را buffer می‌کند تا دقیقاً به همان ترتیب به upstream برسند.
**بهبود WebRTC با بلاک کردن STUN/TURN UDP** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). پورت‌های UDP مربوط به STUN/TURN (`3478`، `5349`، `19302`) به‌صورت پیش‌فرض در SOCKS5 block می‌شوند تا Google Meet، Discord، WhatsApp و برنامه‌های مشابه به‌جای ۱۰ تا ۳۰ ثانیه تلاش ناموفق ICE روی UDP، سریع‌تر سراغ TCP TURN روی پورت ۴۴۳ بروند. Android و desktop هر دو تنظیم `block_stun` را نگه می‌دارند؛ در UI دسکتاپ هم کنار گزینهٔ Block QUIC قابل تغییر است.
**ابزارهای تشخیص و تست برای pipeline** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). Android یک overlay تشخیصی برای وضعیت pipeline اضافه کرده و اسکریپت `scripts/bench-pipeline.sh` برای benchmark مسیر جدید آمده است. قبل از merge یک fix کوچک maintainer هم اضافه شد تا تست‌های tunnel-node با فیلدهای جدید `SessionInner` کامپایل شوند و drain بزرگ TCP بعد از رسیدن به سقف ۱۶MiB همان poll، tail را برای poll بعدی نگه دارد.
</div>
---
**Pipeline Full-mode polls for a faster tunnel** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115) by @yyoyoian-pixel). The Full-mode client now keeps multiple adaptive polls in flight so one slow Apps Script / tunnel-node response no longer stalls the whole path. To keep uploads correct, each write carries a `wseq` sequence number and tunnel-node buffers out-of-order writes until it can flush them upstream in order.
**Improve WebRTC fallback by blocking STUN/TURN UDP** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). SOCKS5 now blocks STUN/TURN UDP ports (`3478`, `5349`, `19302`) by default so Google Meet, Discord, WhatsApp, and similar apps move to TCP TURN on port 443 instead of waiting through 10-30 seconds of failed UDP ICE attempts. Android and desktop both preserve the `block_stun` setting; the desktop UI exposes it next to Block QUIC.
**Add pipeline diagnostics and benchmark tooling** ([PR #1115](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1115)). Android gains a pipeline debug overlay, and `scripts/bench-pipeline.sh` gives maintainers a repeatable benchmark path. Before merge, a small maintainer fix also made the tunnel-node tests compile with the new `SessionInner` fields and kept capped TCP drains from consuming the over-16MiB tail in the same poll.