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.
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 بعدی نگه دارد.
• 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.