mirror of
https://github.com/therealaleph/MasterHttpRelayVPN-RUST.git
synced 2026-05-17 21:24:48 +03:00
chore: bump versions to 1.7.10 (Cargo + Android) + fix Win7 i686 lockfile
Patch release for the changes shipped via #337 (Apps Script range probe gzip-decoded body handling) and #344 (Android Paste button on 13+) plus a CI fix that restores the Win7 i686 binary missing from v1.7.9 (Cargo.lock format mismatch with Rust 1.77). The Cargo.lock version=4 (Rust 1.78+) wasn't readable by the pinned 1.77.2 toolchain on the i686 job. Workflow now regenerates the lockfile with the pinned toolchain on that job only, leaving every other target unaffected. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -165,6 +165,21 @@ jobs:
|
||||
toolchain: ${{ matrix.rust_toolchain || 'stable' }}
|
||||
targets: ${{ matrix.target }}
|
||||
|
||||
# Cargo.lock from main is generated by stable Rust (1.78+ writes
|
||||
# version=4 lockfiles). Rust 1.77 only understands version=3, so
|
||||
# the i686 build with the pinned 1.77.2 toolchain bails with
|
||||
# "failed to parse lock file at: Cargo.lock" before it ever
|
||||
# touches our code. Drop the committed lockfile only on the pinned
|
||||
# job — cargo will regenerate it with version=3 against the same
|
||||
# Cargo.toml. We don't ship a `Cargo.lock` for binary reproducibility
|
||||
# contracts, so regenerating per-build is safe.
|
||||
- name: Regenerate Cargo.lock for older toolchain (Win7 i686 only)
|
||||
if: matrix.rust_toolchain == '1.77.2'
|
||||
shell: bash
|
||||
run: |
|
||||
rm -f Cargo.lock
|
||||
cargo +${{ matrix.rust_toolchain }} generate-lockfile
|
||||
|
||||
# Cache target/ + cargo registry across runs — this is the big
|
||||
# self-hosted speedup. Without it, actions/checkout@v4's default
|
||||
# `git clean -ffdx` wipes target/ between runs and every build is
|
||||
|
||||
Generated
+1
-1
@@ -2222,7 +2222,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "mhrv-rs"
|
||||
version = "1.7.9"
|
||||
version = "1.7.10"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"bytes",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "mhrv-rs"
|
||||
version = "1.7.9"
|
||||
version = "1.7.10"
|
||||
edition = "2021"
|
||||
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
|
||||
license = "MIT"
|
||||
|
||||
@@ -14,8 +14,8 @@ android {
|
||||
applicationId = "com.therealaleph.mhrv"
|
||||
minSdk = 24 // Android 7.0 — covers 99%+ of live devices.
|
||||
targetSdk = 34
|
||||
versionCode = 154
|
||||
versionName = "1.7.9"
|
||||
versionCode = 155
|
||||
versionName = "1.7.10"
|
||||
|
||||
// Ship all four mainstream Android ABIs:
|
||||
// - arm64-v8a — 95%+ of real-world Android phones since 2019
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
|
||||
• رفع باگ "GET کامل غیرضروری وقتی Apps Script body gzip رو decode میکنه" ([#337](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/337)): وقتی Apps Script یه gzip body رو decode میکرد ولی Content-Range origin رو unchanged نگه میداشت، validation strict ما اون response رو reject میکرد + یک GET کامل دوباره میفرستادیم — quota Apps Script هدر میرفت. fix carve-out اضافه میکنه: اگر Content-Range proves entity کامل در probe اول گنجیده، 206 رو به 200 rewrite کنیم بدون refetch. validation strict برای real Range requestهای client + chunkهای بعدی حفظ شده. همچنین تشخیص quota error برای stringهای آلمانی (`bandbreitenkontingent`، `datenübertragungsrate`) و generic (`bandwidth`، `transfer rate`، `limit exceeded`) اضافه شد، تا deploymentهایی که رو quota accountهای Google غیرانگلیسی هستند بهدرستی blacklist بشن. ممنون از @freeinternet865
|
||||
• رفع UI Android "Config detected in clipboard" که روی Android 13+ سپس از resume کار نمیکرد ([#344](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/344)): Android 13+ دسترسی clipboard background-to-foreground رو محدود میکنه — auto-detect ساکت empty میگرفت + banner ظاهر نمیشد. fix: یک دکمهٔ permanent **Paste** که روی tap clipboard رو میخونه (user interaction permission میده در همه versionها). دکمهٔ Export بهصورت icon-only تا row بهینه باقی بمونه. ممنون از @yyoyoian-pixel
|
||||
• Fix CI workflow incompatibility for Win7 i686 build ([#318 follow-up](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/318)): job pinned-Rust-1.77.2 برای target Win7 i686 fail میکرد چون `Cargo.lock` (تولید شده توسط Rust ≥1.78) از lockfile version 4 استفاده میکرد + Rust 1.77 فقط version 3 رو میفهمه. regenerate Cargo.lock فقط روی job pinned اضافه شد — مهم: artifact `mhrv-rs-windows-i686.zip` که در v1.7.9 missing بود، در v1.7.10 reappear میکنه (Win7 SP1-loadable).
|
||||
---
|
||||
• Fix "unnecessary fallback full GET when Apps Script decodes a gzip body" ([#337](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/337)): when Apps Script decoded a gzip body but echoed the origin's compressed `Content-Range` unchanged, our strict validator rejected the response and we'd retry with a full GET — wasting Apps Script quota. The fix adds a carve-out: if `Content-Range` proves the entity already fits in the synthetic first probe, rewrite the 206 to a 200 and skip the refetch. Strict validation is still applied to real client `Range` requests and to later chunks. Also adds quota-error string matching for German (`bandbreitenkontingent`, `datenübertragungsrate`) and generic (`bandwidth`, `transfer rate`, `limit exceeded`) phrasings, so deployments hitting quota under non-English Google account locales now blacklist correctly. Thanks @freeinternet865.
|
||||
• Fix Android "Config detected in clipboard" banner that silently broke on Android 13+ after resume ([#344](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/pull/344)): Android 13+ restricts background-to-foreground clipboard access, so `getPrimaryClip()` during recomposition silently returned empty — the banner never showed. Fix: replace the auto-detect banner with a permanent **Paste** button that reads on tap (user interaction grants clipboard access on every Android version). Export button becomes icon-only to keep the row compact. Thanks @yyoyoian-pixel.
|
||||
• Fix the CI Win7 i686 build that silently regressed in v1.7.9 ([#318](https://github.com/therealaleph/MasterHttpRelayVPN-RUST/issues/318) follow-up): the pinned-Rust-1.77.2 job for the i686 target failed because `Cargo.lock` (generated by stable Rust ≥1.78) uses lockfile version 4, which Rust 1.77 doesn't understand. The job now regenerates the lockfile with the pinned toolchain before building. The `mhrv-rs-windows-i686.zip` artifact that disappeared from the v1.7.9 release page reappears in v1.7.10 (and now actually loads on Win7 SP1).
|
||||
Reference in New Issue
Block a user