patterniha/MITM-DomainFronting
patterniha/MITM-DomainFrontingReceiving unencrypted data with MITM, Then send it with DomainFronting
From the README
MITM-DomainFronting
اول اینکه این متد قرار نیست کانفیگ شما را زنده کند و دسترسی کامل به اینترنت را فراهم کند بلکه باعث میشود برخی سرویسهای خاص به طور مستقیم (بدون نیاز به سرور و یا حتی ورکر) در دسترس قرار گیرند
در حال حاضر (۱۴۰۵/۱/۳۱) اجرای این متد فقط امکان دسترسی به سرویسهای گوگل (meet, drive, ...) را فراهم میکند
بعضی سرویسها مانند فیلمهای یوتویوب سرویس مخصوص خود را دارند و بعضی از سرویسها مانند gemini نیز آیپیهای ایران را تحریم کردهاند بنابراین تمام سرویسهای گوگل در دسترس نیستند.
به محض اینکه هر سرویس دیگری با این متد در دسترس باشد اپدیت لازم را انجام خواهم داد.
این متد بر روی ویندوز، لینوکس، مک و اندروید (بدون نیاز به روت) قابل اجراست.
///
این پروژه را ابتدا من در اینجا نوشتم و سپس با تلاشهای انجام شده در اینجا به Xray-core اضافه کردیم و یعنی اکنون میتوانید با یک کانفیگ سادهی v2ray از این متد استفاده کنید.
نحوه کارکرد متد همانطور که از اسمش پیداست ابتدا هویت سرور اصلی را جعل میکند تا دیتای غیر رمز شده را از مرورگر دریافت کند سپس با یک sni جعلی آن را به سرور اصلی میفرستد.
تنظیم اولیه متد مراحل کمی طولانی دارد ولی بعد از انجام تنظیمات صرفا یک روشن/خاموش ساده برای فعال/غیرفعال کردن متد لازم است.
راه اندازی در ویندوز
۱. ابتدا آخرین ورژن برنامه v2rayN (v2rayN-windows-64.zip
را از
دانلود و اکسترکت کنید
۲. حال نیاز به یک سرتیفیکیت شخصی دارید برای این کار فایل certificate-generator.bat را به فولدر v2rayN-windows-64\bin منتقل و در همانجا اجرا کنید کمی صبر کنید سپس دو فایل mycert.crt و mycert.key ایجاد میشود
هشدار: حتما از سرتیفیکیت شخصی خود استفاده کنید و به هیچ عنوان از سرتیفیکیت (crt) دیگران استفاده نکنید و همچنین فایل پرایویتکی (key) خود را به هیچ شخصی ندهید
۳. حال باید سرتیفیکیت (crt) ایجاد شده را به عنوان trusted root certificate به سیستم عامل (برای تایید روی کل سیستم) و یا یک مرورگر خاص خود معرفی کنید
برای معرفی به سیستم عامل باید روی mycert.crt راست کلیک کنید و install certificate را انتخاب کنید سپس گزینه local machine را انتخاب کنید در صفحه بعد place all certificates in the following store را انتخاب و
فولدر Trusted Root Certification Authorities را انتخاب کنید و تایید کنید
برای مرورگر نیز به طور مثال کروم باید مراحل زیر را طی کنید
Settings -> Privacy and security -> Security -> Manage certificates -> Manage imported certificates from Windows -> Trusted Root Certification Authorities -> Import -> Select mycert.crt file -> Place all certificates in the following store -> Select "Trusted Root Certification Authorities"
۴. نرم افزار v2rayN را اجرا کنید و از قسمت configuration بر روی add a custom configuration کلیک کنید حال یک نام دلخواه انتخاب کنید و فایل کانفیگ MITM-DomainFronting.json را وارد کنید core type را بر روی xray و socks port را حتما خالی بزارید
۵. کانفیگ را انتخاب کرده و set system proxy را انتخاب کنید کار تمام است اکنون میتوانید بر روی مرورگری که سرتیفیکیت را در آن وارد کردید (و یا کل سیستم در صورتی که سرتیفیکیت را به سیستم عامل معرفی کردید) از این متد استفاده کنید.
راه اندازی در اندروید
۱. ابتدا آخرین ورژن برنامه v2rayNG را از
دانلود و نصب کنید
۲. حال نیاز به یک سرتیفیک