mirror of
https://github.com/ThisIsDara/mhr-cfw-go.git
synced 2026-05-17 21:24:36 +03:00
Fix PR #8: Add Windows support back
This commit is contained in:
+1
-3
@@ -21,6 +21,4 @@ build_hook.go
|
||||
*.md
|
||||
!LICENSE
|
||||
!README_FA.md
|
||||
!README.md
|
||||
!Linux/
|
||||
!Linux/*.sh
|
||||
!README.md
|
||||
@@ -4,6 +4,7 @@
|
||||
**[فارسی](README_FA.md)**
|
||||
|
||||
|
||||
<img width="654" height="362" alt="image" src="https://github.com/user-attachments/assets/bdf8ffd8-f1cd-47b4-87fd-5bc6e2ce1937" />
|
||||
|
||||
|
||||
## 🚀 Improvements Over Python Version
|
||||
@@ -42,6 +43,14 @@ The program runs on your PC and sends your requests through Google's infrastruct
|
||||
|
||||
## Quick Start
|
||||
|
||||
## 📦 Requirements:
|
||||
- [Go 1.22+](https://go.dev/dl/)
|
||||
|
||||
**💡 Tip:** If you have trouble downloading Go dependencies, use the Runflare Iranian mirror:
|
||||
```bash
|
||||
GOPROXY=https://mirror-go.runflare.com go mod download
|
||||
```
|
||||
|
||||
### 1 - Clone and Build
|
||||
|
||||
```bash
|
||||
@@ -49,7 +58,7 @@ git clone https://github.com/ThisIsDara/mhr-cfw-go.git
|
||||
cd mhr-cfw-go
|
||||
```
|
||||
|
||||
Or download the latest release from [GitHub Releases](https://github.com/ThisIsDara/mhr-cfw-go/releases)
|
||||
Or download the latest release from [ 📥 GitHub Releases](https://github.com/ThisIsDara/mhr-cfw-go/releases)
|
||||
|
||||
### 2 - Run build.bat
|
||||
|
||||
@@ -94,8 +103,8 @@ This installs the local Certificate Authority so the proxy can intercept HTTPs t
|
||||
|
||||
# 🛠️ How to Setup
|
||||
|
||||
1. Open [mhr-cfw README File](https://github.com/denuitt1/mhr-cfw/blob/main/README.md#how-to-use) and follow the steps provided by [denuitt1](https://github.com/denuitt1)
|
||||
|
||||
1. Open [mhr-cfw README File](https://github.com/denuitt1/mhr-cfw/blob/main/README.md#how-to-use) provided by [denuitt1](https://github.com/denuitt1)
|
||||
and follow the steps 1 to 3 until you have the Deployment ID
|
||||
|
||||
---
|
||||
## Building from Source
|
||||
|
||||
+160
-1
@@ -1 +1,160 @@
|
||||
Soon...
|
||||
# [MHR-CFW](https://github.com/denuitt1/mhr-cfw) Rewritten in Go with YouTube Support Fix and Speed Improvements
|
||||
|
||||
[](https://github.com/ThisIsDara/mhr-cfw-go)
|
||||
|
||||
**[English](README.md)**
|
||||
|
||||
## 🚀 بهبودها نسبت به نسخه Python
|
||||
|
||||
## **✅ 1. رفع مشکل پشتیبانی YouTube**
|
||||
|
||||
* مدیریت درست CORS — اضافه شدن هندل کردن preflight OPTIONS و تزریق هدرهای CORS برای درخواستهای cross-origin
|
||||
* رفع مشکل Content-Encoding — دیکود بهتر برای پاسخهای brotli/gzip
|
||||
* پشتیبانی از Range request — استریم ویدیو نیاز به مدیریت درست هدر Range دارد
|
||||
|
||||
## **✅ 2. بهبود سرعت**
|
||||
|
||||
* استفاده از HTTP/2 به جای HTTP/1.1 (multiplexing سریعتر)
|
||||
* Connection pooling — استفاده مجدد از اتصالهای TLS به جای ساختن اتصال جدید
|
||||
* Request coalescing — چند درخواست GET برای یک URL مشترک، یک تماس relay را به اشتراک میگذارند
|
||||
* Response caching — کش LRU با TTL مناسب برای assetهای استاتیک
|
||||
|
||||
## **✅ 3. امنیت**
|
||||
|
||||
* ارتقا از 2048 بیت به کلید های RSA با طول 4096 بیت برای گواهیهای MITM
|
||||
|
||||
## **✅ 4. کیفیت کد**
|
||||
|
||||
* بازنویسی با Go — تایپ استاتیک، مدیریت حافظه بهتر
|
||||
* بدون وابستگی خارجی — استفاده از کتابخانه استاندارد در صورت امکان
|
||||
|
||||
---
|
||||
|
||||
## نحوه کار
|
||||
|
||||
این برنامه روی سیستم شما اجرا میشود و درخواستهای شما را از طریق زیرساخت Google ارسال میکند. فیلترهای شبکه این ترافیک را به عنوان ترافیک عادی Google میبینند و اجازه عبور میدهند. در همین حین، Apps Script رایگان Google سایت واقعی مورد نظر شما را دریافت میکند.
|
||||
|
||||
---
|
||||
|
||||
## شروع سریع
|
||||
|
||||
### 1 - کلون و بیلد
|
||||
|
||||
```bash
|
||||
git clone https://github.com/ThisIsDara/mhr-cfw-go.git
|
||||
cd mhr-cfw-go
|
||||
```
|
||||
|
||||
یا آخرین نسخه را از [GitHub Releases](https://github.com/ThisIsDara/mhr-cfw-go/releases) دانلود کنید
|
||||
|
||||
**💡 نکته:** اگر در نصب وابستگیهای Go مشکل دارید، از میرور ایرانی رانفلر استفاده کنید:
|
||||
```bash
|
||||
GOPROXY=https://mirror-go.runflare.com go mod download
|
||||
```
|
||||
|
||||
### 2 - اجرای build.bat
|
||||
|
||||
روی `build.bat` دوبار کلیک کنید یا اجرا کنید:
|
||||
|
||||
```powershell
|
||||
.\build.bat
|
||||
```
|
||||
|
||||
این کار فایل `mhr-cfw-go.exe` را میسازد
|
||||
|
||||
### 3 - تنظیمات
|
||||
|
||||
فایل `config.json` را با تنظیمات خود ویرایش کنید یا ترجیحاً Setup Wizard را در TUI اجرا کنید:
|
||||
|
||||
```json
|
||||
{
|
||||
"auth_key": "your-secret-password-here",
|
||||
"script_id": "YOUR_DEPLOYMENT_ID"
|
||||
}
|
||||
```
|
||||
|
||||
### 4 - اجرا
|
||||
|
||||
روی `mhr-cfw-go.exe` دوبار کلیک کنید یا اجرا کنید:
|
||||
|
||||
```powershell
|
||||
.\mhr-cfw-go.exe
|
||||
```
|
||||
|
||||
برنامه یک منو باز میکند. گزینه `1) Start proxy` را انتخاب کنید تا پراکسی شروع شود.
|
||||
|
||||
---
|
||||
|
||||
### 5 - نصب CA Certificate (برای HTTPS)
|
||||
|
||||
برنامه را اجرا کنید، سپس از منو گزینه `3) Install CA certificate` را انتخاب کنید.
|
||||
|
||||
این کار Certificate Authority محلی را نصب میکند تا پراکسی بتواند ترافیک HTTPs را رهگیری کند.
|
||||
|
||||
---
|
||||
|
||||
# 🛠️ نحوه راهاندازی
|
||||
|
||||
1. فایل [mhr-cfw README](https://github.com/denuitt1/mhr-cfw/blob/main/README.md#how-to-use) را باز کنید و مراحل ارائهشده توسط [denuitt1](https://github.com/denuitt1) را دنبال کنید تا Deployment ID رو بگیرید.
|
||||
|
||||
---
|
||||
|
||||
## ساخت از سورس
|
||||
|
||||
پیشنیازها:
|
||||
|
||||
* [Go 1.22+](https://go.dev/dl/)
|
||||
|
||||
```bash
|
||||
go build -ldflags "-s -w" -o mhr-cfw-go.exe ./cmd/mhr-cfw
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## در حال توسعه...
|
||||
|
||||
### `📊 آمار`
|
||||
|
||||
* شمارنده درخواست — مجموع درخواستهای پردازششده
|
||||
* میزان مصرف پهنای باند — بایتهای ارسال/دریافتشده
|
||||
|
||||
### `🖥️ مانیتورینگ`
|
||||
|
||||
* وضعیت اتصال
|
||||
|
||||
### `✏️ تجربه کاربری`
|
||||
|
||||
* تعویض پروفایل — پروفایلهای مختلف تنظیمات
|
||||
* خروجی/ورودی گرفتن از config — بکاپ تنظیمات
|
||||
|
||||
---
|
||||
|
||||
## گزینههای خط فرمان
|
||||
|
||||
| Option | Description |
|
||||
| ------------------ | ---------------------------------------- |
|
||||
| `--no-menu` | اجرا بدون منوی TUI |
|
||||
| `--port` | تغییر پورت پراکسی |
|
||||
| `--host` | تغییر هاست listen |
|
||||
| `--socks5-port` | تغییر پورت SOCKS5 |
|
||||
| `--disable-socks5` | غیرفعال کردن پراکسی SOCKS5 |
|
||||
| `--log-level` | تنظیم سطح لاگ (DEBUG, INFO, WARN, ERROR) |
|
||||
| `--install-cert` | نصب CA certificate |
|
||||
| `--uninstall-cert` | حذف CA certificate |
|
||||
| `--scan` | اسکن IPهای Google |
|
||||
| `--setup` | اجرای setup wizard |
|
||||
| `--version` | نمایش نسخه |
|
||||
|
||||
#### سلب مسئولیت
|
||||
|
||||
* **رعایت قوانین سرویسهای Google:** اگر از Google Apps Script یا سایر سرویسهای Google با این پروژه استفاده میکنید، مسئول رعایت Terms of Service، قوانین استفاده مجاز، quotaها و سیاستهای پلتفرم هستید. استفاده نادرست ممکن است باعث تعلیق یا حذف اکانت Google یا deploymentهای شما شود.
|
||||
|
||||
---
|
||||
|
||||
## پروژههای اصلی
|
||||
|
||||
### بر پایه [mhr-cfw](https://github.com/denuitt1/mhr-cfw)، پیادهسازی Python که این پروژه از روی آن بازنویسی شده است.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"auth_key": "m97791182k",
|
||||
"auth_key": "changeme",
|
||||
"chunked_download_chunk_size": 524288,
|
||||
"chunked_download_max_chunks": 256,
|
||||
"chunked_download_max_parallel": 8,
|
||||
@@ -14,7 +14,7 @@
|
||||
"max_response_body_bytes": 209715200,
|
||||
"mode": "apps_script",
|
||||
"relay_timeout": 25,
|
||||
"script_id": "AKfycbyhilRCuPtX9UtaLGK55m4HcoGPUQA7sB7OQdJoeLWPNU0ifZKmy6cWas7x2NHnF3_bQw",
|
||||
"script_id": "changeme",
|
||||
"socks5_enabled": false,
|
||||
"socks5_port": 1080,
|
||||
"tcp_connect_timeout": 10,
|
||||
|
||||
Reference in New Issue
Block a user