Skip to content

Commit 7548a8a

Browse files
committed
chore: v1.9.36 release
Ship quota hard-stop tracking, the iOS full-tunnel app scaffold, and tunnel-node backpressure/OOM protection. Bump Cargo, Android, and iOS version metadata and add the v1.9.36 changelog.
1 parent 96237d1 commit 7548a8a

5 files changed

Lines changed: 13 additions & 6 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mhrv-rs"
3-
version = "1.9.35"
3+
version = "1.9.36"
44
edition = "2021"
55
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
66
license = "MIT"
@@ -146,4 +146,3 @@ strip = true
146146
inherits = "release"
147147
panic = "unwind"
148148
strip = false
149-

android/app/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ android {
1414
applicationId = "com.therealaleph.mhrv"
1515
minSdk = 24 // Android 7.0 — covers 99%+ of live devices.
1616
targetSdk = 34
17-
versionCode = 166
18-
versionName = "1.9.35"
17+
versionCode = 167
18+
versionName = "1.9.36"
1919

2020
// Ship all four mainstream Android ABIs:
2121
// - arm64-v8a — 95%+ of real-world Android phones since 2019

docs/changelog/v1.9.36.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
2+
**کنترل مصرف quota برای حساب‌های Apps Script** (PR [#1396](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1396) از @CaptainMirage): هر Deployment/حساب حالا داخل یک پنجره rolling 24h شمرده می‌شود، قبل از رسیدن به سقف با `quota_safety_buffer` از چرخش خارج می‌شود، و اگر همه حساب‌ها خالی شوند کل relay به‌جای fail شدن وسط session سریع 503 برمی‌گرداند. وضعیت در `quota_state.json` ذخیره می‌شود، بعد از restart باقی می‌ماند، و UI دسکتاپ بخش Usage Today را با شمارنده fetchها، reset بعدی، حساب‌های فعال، تخمین حجم، و بنر QUOTA HARD STOP نشان می‌دهد.
3+
**iOS full-tunnel app scaffold** (PR [#1398](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1398) از @yyoyoian-pixel): سورس اپ iOS/NetworkExtension اضافه شد: leaf + FakeIP → SOCKS5 → mhrv-rs، ساخت staticlib با `cargo rustc --crate-type staticlib`، UI با چند Deployment ID، auth key show/hide، SNI pool editor و probe، import/share کانفیگ سازگار با Android، signing از `Local.xcconfig`، آیکن، و README مخصوص TestFlight. هنوز IPA رسمی داخل release CI منتشر نمی‌شود؛ این release سورس و مسیر build را وارد main می‌کند.
4+
**جلوگیری از OOM در tunnel-node Full mode** (PR [#1401](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1401) از @yyoyoian-pixel): بافر downstream هر TCP session به 32 MiB محدود شد و reader وقتی client دیر drain می‌کند backpressure می‌گیرد. empty pollها دیگر session idle را زنده نگه نمی‌دارند، cleanup حالا همه taskهای session را abort می‌کند، و log دوره‌ای تعداد sessionها و حجم `read_buf` را نشان می‌دهد. این همان مسیر OOM روی VPSهای کوچک هنگام ویدیو/download سریع و polling کند Apps Script بود.
5+
---
6+
**Apps Script account quota tracking** (PR [#1396](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1396) by @CaptainMirage): each Deployment/account is now tracked in a rolling 24h window, removed from rotation before the hard limit via `quota_safety_buffer`, and when every account is exhausted the relay returns a fast 503 instead of failing mid-session. State is persisted in `quota_state.json` across restarts, and the desktop UI now shows Usage Today with fetch counts, next reset, active accounts, data estimate, and a QUOTA HARD STOP banner.
7+
**iOS full-tunnel app scaffold** (PR [#1398](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1398) by @yyoyoian-pixel): added the iOS/NetworkExtension app source: leaf + FakeIP → SOCKS5 → mhrv-rs, staticlib builds via `cargo rustc --crate-type staticlib`, multi-Deployment UI, auth-key show/hide, SNI pool editor and probe, Android-compatible config import/share, signing through `Local.xcconfig`, app icon, and a TestFlight-oriented README. The release CI does not publish an IPA yet; this release lands the source and build path on main.
8+
**Prevent tunnel-node Full mode OOMs** (PR [#1401](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/1401) by @yyoyoian-pixel): each TCP session's downstream buffer is capped at 32 MiB, and the reader applies backpressure when Apps Script polling drains slowly. Empty polls no longer keep idle sessions alive, cleanup aborts every task in a session, and periodic logs now expose session count plus total `read_buf` memory. This targets the VPS OOM path seen with fast upstream video/downloads and slow Apps Script polling.

ios/project.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ settings:
1414
DEBUG_INFORMATION_FORMAT: dwarf-with-dsym
1515
# Keep in sync with the crate version in Cargo.toml. The toolbar reads
1616
# CFBundleShortVersionString, which Info.plist maps to $(MARKETING_VERSION).
17-
MARKETING_VERSION: "1.9.34"
17+
MARKETING_VERSION: "1.9.36"
1818
CURRENT_PROJECT_VERSION: "1"
1919

2020
packages: {}

0 commit comments

Comments
 (0)