Skip to content

Commit 685dca0

Browse files
committed
v1.2.7: SNI cert fix mirrored to Android + tunnel-node scaffold (via #92 + #93)
- Android DEFAULT_SNI_POOL: mirror the Rust-side fix from #92 — accounts.googl.com replaced by accounts.google.com. Same cert-SAN mismatch that was failing every Nth rotation in the Rust client affected the Android user's sniHosts population; both pools need to stay in sync by design. - Release rolls up PR #92 (cert fix) and PR #93 (tunnel-node + CodeFull.gs scaffolding). PR #93 adds a standalone binary under tunnel-node/ plus an Apps Script companion; no main-crate changes, so this is a zero-risk merge. Users who want to deploy a tunnel node can start today. The dispatch that activates `mode: full` is still in review in PR #94.
1 parent 4818143 commit 685dca0

5 files changed

Lines changed: 15 additions & 8 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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mhrv-rs"
3-
version = "1.2.6"
3+
version = "1.2.7"
44
edition = "2021"
55
description = "Rust port of MasterHttpRelayVPN -- DPI bypass via Google Apps Script relay with domain fronting"
66
license = "MIT"

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 = 126
18-
versionName = "1.2.6"
17+
versionCode = 127
18+
versionName = "1.2.7"
1919

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

android/app/src/main/java/com/therealaleph/mhrv/ConfigStore.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,10 +285,11 @@ val DEFAULT_SNI_POOL: List<String> = listOf(
285285
"drive.google.com",
286286
"docs.google.com",
287287
"calendar.google.com",
288-
// Issue #42: passes DPI on Samantel / MCI where the longer google.com
289-
// subdomains are selectively SNI-blocked. Must mirror the Rust list
290-
// in src/domain_fronter.rs exactly.
291-
"accounts.googl.com",
288+
// accounts.google.com — originally listed as accounts.googl.com per
289+
// issue #42, but googl.com is NOT in Google's GFE cert SAN so TLS
290+
// validation fails with verify_ssl=true (PR #92). Replaced with
291+
// accounts.google.com which is covered by the *.google.com wildcard.
292+
"accounts.google.com",
292293
// Issue #47: same DPI-passing behaviour on MCI / Samantel.
293294
"scholar.google.com",
294295
// Ported from upstream Python FRONT_SNI_POOL_GOOGLE (commit 57738ec);

docs/changelog/v1.2.7.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
2+
• رفع اعتبارسنجی گواهی ‫SNI rotation‬: ‫`accounts.googl.com`‬ در لیست گواهی ‫GFE‬ گوگل نبود و هر اتصال N-ام که rotation روش میفتاد با ‫verify_ssl=true‬ fail می‌شد. جایگزین شد با ‫`accounts.google.com`‬ که توسط ‫*.google.com‬ wildcard پوشش داده می‌شه (PR #92)
3+
• زیرساخت ‫tunnel-node‬: سرور مستقل ‫Rust/axum‬ + ‫CodeFull.gs‬ برای کاربرانی که می‌خوان یه ‫tunnel node‬ راه‌اندازی کنن. این قسمت ۱ از ۳ ویژگی ‫Full Tunnel Mode‬ است — فایل‌های جدید، بدون تغییر در کد موجود. استفاده از حالت ‫full‬ در ‫PR #94‬ فعال می‌شه (PR #93)
4+
---
5+
• SNI rotation cert fix: `accounts.googl.com` was not in Google's GFE certificate SAN list, causing every Nth connection where rotation landed on it to fail validation with `verify_ssl=true`. Replaced with `accounts.google.com` which is covered by the `*.google.com` wildcard (PR #92)
6+
• tunnel-node scaffolding: standalone Rust/axum server + CodeFull.gs for users who want to deploy a remote tunnel node. This is part 1 of 3 of the Full Tunnel Mode feature — all new files, no changes to existing code. The `mode: full` dispatch that activates it will land via PR #94 (PR #93)

0 commit comments

Comments
 (0)