mirror of
https://github.com/therealaleph/MasterHttpRelayVPN-RUST.git
synced 2026-05-19 08:04:39 +03:00
1d2eb19295
v1.2.8 tagged cleanly but CI failed compiling mhrv-rs-ui with:
error[E0063]: missing field `youtube_via_relay` in initializer of
`mhrv_rs::config::Config`
When I added the youtube_via_relay field to the main Config struct
in 09f1f5f, I missed the struct-literal construction in src/bin/ui.rs
(FormState::save_to_config) and the ConfigWire serializer.
Fixed here:
- Added youtube_via_relay field to FormState (line 214), read path
(line 291), default path (line 316), and the save path (line 451)
- Added youtube_via_relay field to ConfigWire (line 493) with
skip_serializing_if on false, plus its From impl (line 544)
UI still doesn't expose a checkbox for the toggle — it's config-only
for now, same treatment as normalize_x_graphql. A future PR can add
the checkbox to the Advanced pane.
v1.2.8 tag exists but has no GitHub Release (release job skipped
on failure); v1.2.9 is the clean cut. Same payload as v1.2.8 plus
this fix.
13 lines
3.8 KiB
Markdown
13 lines
3.8 KiB
Markdown
<!-- see docs/changelog/v1.1.0.md for the file format: Persian, then `---`, then English. -->
|
||
• رفع نشت IP واقعی (issue #104): فیلتر هدرهای forwarded در مسیر Apps Script گسترش یافت تا همهٔ هدرهای هویتافشاگر (`X-Forwarded-For`, `X-Real-IP`, `Forwarded`, `Via`, `CF-Connecting-IP`, `True-Client-IP`, `Fastly-Client-IP`، و ۱۰ مورد دیگر) را قبل از ارسال به Apps Script حذف کند. اگر کاربر پشت یک پروکسی محلی (xray/v2rayNG) یا extension مرورگر باشد که این هدرها را اضافه میکند، IP واقعی از طریق مسیر relay به سرور مقصد نشت نمیکند
|
||
• گزینهٔ `youtube_via_relay` (issue #102): پورت شده از Python بالادست. وقتی فعال شود، ترافیک یوتیوب از مسیر SNI-rewrite خارج میشود و از طریق Apps Script میرود تا فیلتر SafeSearch-on-SNI گوگل دور زده شود. ترید-آف: User-Agent ثابت میشود روی Google-Apps-Script و سهمیهٔ روزانهٔ شما مصرف میشود. پیشفرض خاموش
|
||
• رفع دستور scan-sni (PR #97): پاسخهای dns.google با Transfer-Encoding: chunked برمیگردند و قبل از JSON decode باید unchunk شوند. بدون این پچ هیچ دامنهای کشف نمیشد
|
||
• اعتبارسنجی TLS در scan-sni (PR #98): درخواست DoH به dns.google از NoVerify به webpki roots سوئیچ شد تا یک on-path MITM نتواند PTRهای جعلی برگرداند و pool SNI را مسموم کند
|
||
• رفع کامپایل UI برای `youtube_via_relay`: اضافه کردن فیلد به `FormState` و `ConfigWire` در `src/bin/ui.rs` که v1.2.8 در CI سقوط کرده بود چون در mhrv-rs-ui فراموش شده بود
|
||
---
|
||
• Real-IP leak fix (issue #104): extended the forwarded-headers filter in the Apps Script relay path to strip every identity-revealing header (`X-Forwarded-For`, `X-Real-IP`, `Forwarded`, `Via`, `CF-Connecting-IP`, `True-Client-IP`, `Fastly-Client-IP` and 10 more) before we ship the request to Apps Script. If a user sits behind a local proxy (xray/v2rayNG) or a browser extension that inserts any of these, the real IP no longer leaks through the relay path to the origin
|
||
• `youtube_via_relay` config toggle (issue #102): ported from upstream Python. When enabled, YouTube traffic opts out of the SNI-rewrite tunnel and goes through Apps Script instead, bypassing Google's SafeSearch-on-SNI filter that sometimes marks normal videos as "restricted." Trade-off: adds the fixed `Google-Apps-Script` User-Agent and counts YouTube against your daily quota. Off by default
|
||
• scan-sni chunked-DoH fix (PR #97): `dns.google` replies with `Transfer-Encoding: chunked`; the raw payload was going to serde_json with chunk framing still embedded, so every PTR parse failed and scan-sni discovered nothing. Proper HTTP-body parsing now (chunked + Content-Length), plus unit tests
|
||
• scan-sni TLS verification (PR #98): the DoH client to `dns.google` was using `NoVerify` — an on-path MITM could forge PTR answers and poison the discovered SNI pool. Switched to the normal webpki root store; the rest of the scan flow is unchanged
|
||
• UI build fix for `youtube_via_relay`: the new config field was added to `Config` but not propagated to `FormState` / `ConfigWire` in `src/bin/ui.rs`, so v1.2.8's CI failed compiling `mhrv-rs-ui` with `missing field youtube_via_relay in initializer of Config`. v1.2.8 tag exists but no Release assets — v1.2.9 is the clean cut.
|