Files
MasterHttpRelayVPN-RUST/docs/changelog/v1.9.28.md
T
therealaleph 875dd4ba48 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.
2026-05-16 17:50:41 +03:00

3.4 KiB

پایپ‌لاین شدن pollهای Full mode و سریع‌تر شدن تونل (PR #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). پورت‌های 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). Android یک overlay تشخیصی برای وضعیت pipeline اضافه کرده و اسکریپت scripts/bench-pipeline.sh برای benchmark مسیر جدید آمده است. قبل از merge یک fix کوچک maintainer هم اضافه شد تا تست‌های tunnel-node با فیلدهای جدید SessionInner کامپایل شوند و drain بزرگ TCP بعد از رسیدن به سقف ۱۶MiB همان poll، tail را برای poll بعدی نگه دارد.

--- • **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). 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). 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.