diff --git a/Cargo.lock b/Cargo.lock index aa6dd9f..9046503 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2186,7 +2186,7 @@ dependencies = [ [[package]] name = "mhrv-rs" -version = "1.2.8" +version = "1.2.10" dependencies = [ "base64 0.22.1", "bytes", diff --git a/Cargo.toml b/Cargo.toml index e2cd516..e517f6d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mhrv-rs" -version = "1.2.9" +version = "1.2.10" edition = "2021" description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting" license = "MIT" diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index 5bca342..71da238 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -14,8 +14,8 @@ android { applicationId = "com.therealaleph.mhrv" minSdk = 24 // Android 7.0 — covers 99%+ of live devices. targetSdk = 34 - versionCode = 129 - versionName = "1.2.9" + versionCode = 130 + versionName = "1.2.10" // Ship all four mainstream Android ABIs: // - arm64-v8a — 95%+ of real-world Android phones since 2019 diff --git a/docs/changelog/v1.2.10.md b/docs/changelog/v1.2.10.md new file mode 100644 index 0000000..caa4ed5 --- /dev/null +++ b/docs/changelog/v1.2.10.md @@ -0,0 +1,4 @@ + +• رفع مهم ‫Stop‬ که واقعاً متوقف نمی‌کرد (issue #99): قبلاً وقتی در ‫UI‬ ‫Stop‬ می‌زدید، فقط ‫accept loop‬ متوقف می‌شد ولی کلاینت‌های در حال اجرا با ‫DomainFronter‬ قدیمی ادامه می‌دادن. نتیجه: ۱) صفحه‌ها همچنان بارگذاری می‌شدن، ۲) تغییر ‫auth_key‬ و ‫Start‬ مجدد برای دامنه‌هایی که ‫keep-alive‬ فعال داشتن بی‌تأثیر بود، ۳) ‫quota‬ ‫Apps Script‬ بعد از ‫Stop‬ همچنان مصرف می‌شد. حالا تک‌تک تسک‌های کلاینت در یک ‫JoinSet‬ ردیابی می‌شن که روی ‫shutdown‬ همشون abort می‌شن — ‫DomainFronter‬ drop می‌شه، ‫socket‬ها بسته می‌شن، ‫pool‬ ‫TLS‬ پاک می‌شه +--- +• Important fix for "Stop didn't actually stop" (issue #99): previously hitting Stop in the UI only aborted the accept loops, while per-client tasks kept running with their captured Arc of the old DomainFronter. User-visible effects: (1) requests kept succeeding after Stop, (2) changing auth_key + Start had no effect on domains with a live keep-alive to the proxy, (3) Apps Script quota could still be consumed after Stop. Per-client tasks are now tracked in a JoinSet that's dropped on shutdown, aborting every in-flight request — sockets close, the old fronter's TLS pool is dropped, and a subsequent Start picks up the fresh config cleanly.