[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-75921":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":15,"compositeScore":17,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":8,"pushedAt":8,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":15,"lastSyncTime":25,"discoverSource":26},75921,"PsiphonOverMITM","B3hnamR\u002FPsiphonOverMITM","B3hnamR",null,"PowerShell",549,83,1,16,0,2,74,52.17,false,"main",true,[],"2026-06-12 04:01:19","# PsiphonOverMITM\n\n[![Windows](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FWindows-10%2F11-0078D4.svg?style=for-the-badge&logo=windows)]()\n[![Core](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCore-Xray_26.4.25-black.svg?style=for-the-badge)]()\n[![Mode](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMode-Psiphon_Upstream_Proxy-2ea44f.svg?style=for-the-badge)]()\n[![Author](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fby-%40b3hnamrjd-blue.svg?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002FB3hnamR\u002FPsiphonOverMITM)\n\n\u003Cp align=\"center\">\nیک لانچر ساده و آماده برای اجرای Psiphon over MITM روی ویندوز\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n📣 جهت دریافت اطلاعات و نکات بیشتر به کانال تلگرامی من مراجعه کنید: \u003Ca href=\"https:\u002F\u002Ft.me\u002FB3hnamR\">@B3hnamR\u003C\u002Fa>.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n⭐ اگر این پروژه براتون مفید بود، Star یادتون نره.\n\u003C\u002Fp>\n\n---\n\n## داستان این پروژه چیه؟\n\nاین پروژه برای وقتی ساخته شده که می‌خوای Psiphon را با یک upstream proxy محلی اجرا کنی، اما آن upstream خودش از تکنیک MITM-DomainFronting استفاده کند. خیلی ساده‌تر بگم: به جای اینکه Psiphon مستقیم تلاش کند وصل شود، اول درخواستش را به یک Xray محلی می‌دهد؛ Xray با کانفیگ مخصوص Patterniha مسیرهای لازم را باز می‌کند، بعد Psiphon از همان مسیر جلو می‌رود.\n\nاسم درست معماری این حالت:\n\n```text\nPsiphon over MITM\n```\n\nچون Psiphon روی MITM سوار می‌شود، نه برعکس.\n\nاین پروژه قرار نیست کل اینترنت را جادویی باز کند. هدفش این است که یک helper تمیز و قابل‌مدیریت برای اجرای کانفیگ `psiphon-helper@patterniha.json` روی ویندوز داشته باشی؛ با Start و Stop ساده، لاگ قابل‌فهم، certificate خودکار و خروجی واضح برای تنظیمات Psiphon.\n\n---\n\n## تشکر و اعتبار\n\nهسته اصلی ایده، کانفیگ‌ها و روش MITM-DomainFronting متعلق به **Patterniha** است.  \nلطفاً ریپوی اصلی را ببینید و از پروژه اصلی حمایت کنید:\n\n[https:\u002F\u002Fgithub.com\u002Fpatterniha\u002FMITM-DomainFronting](https:\u002F\u002Fgithub.com\u002Fpatterniha\u002FMITM-DomainFronting)\n\nاین ابزار فقط یک بسته‌بندی ویندوزی و لانچر ساده‌تر برای اجرای همان معماری در حالت مخصوص Psiphon است.\n\n---\n\n## تو این نسخه چه خبره؟\n\n- **اجرای یک‌کلیکی Psiphon helper:** فایل `psiphon-helper@patterniha.json` مستقیم با Xray داخلی اجرا می‌شود.\n- **Certificate خودکار طبق آموزش Patterniha:** اگر `mycert.crt` و `mycert.key` وجود نداشته باشند، با `certificate_generator.bat` نسخه v14 ساخته می‌شوند.\n- **نصب امن certificate روی Local Machine:** فقط `mycert.crt` به Trusted Root اضافه می‌شود؛ `mycert.key` خصوصی می‌ماند.\n- **پورت آماده برای Psiphon:** خروجی نهایی بهت می‌گوید در Psiphon چه upstream proxy بزنی.\n- **لاگ مرحله‌ای:** هر مرحله داخل کنسول و فایل `PsiphonOverMITM.log` نوشته می‌شود.\n- **بدون دست‌کاری Windows Proxy:** این پروژه برای upstream proxy سایفون است، نه set system proxy ویندوز.\n- **Stop تمیز:** PID ذخیره می‌شود و Stop فقط همان Xray مربوط به این پروژه را می‌بندد.\n\n---\n\n## معماری دقیق چطوری کار می‌کنه؟\n\nمسیر کلی این شکلیه:\n\n```text\nPsiphon\n  -> Upstream Proxy: 127.0.0.1:20808\n  -> Xray local mixed inbound\n  -> MITM tunnel \u002F TLS repack\n  -> Akamai \u002F Fastly fronting routes\n  -> Psiphon connection\n```\n\nیعنی Psiphon فکر می‌کند دارد از یک proxy محلی استفاده می‌کند. آن proxy محلی همان Xray است که با کانفیگ `psiphon-helper@patterniha.json` بالا آمده. Xray درخواست‌های TLS را می‌گیرد، با certificate شخصی شما MITM می‌کند، بعد طبق routeهای داخل کانفیگ، ترافیک را با SNI\u002FFront مناسب به مقصد قابل دسترس می‌فرستد.\n\nپس اگر بخوای خیلی کوتاه توضیح بدی:\n\n```text\nPsiphon first connects to local MITM, then MITM helps Psiphon reach its network.\n```\n\n---\n\n## فایل‌های مهم پروژه\n\n| فایل \u002F فولدر | توضیح |\n| :--- | :--- |\n| `Run-PsiphonOverMITM.bat` | فایل اصلی اجرای ویندوزی |\n| `PsiphonOverMITM.ps1` | اسکریپت اصلی مدیریت Start \u002F Stop \u002F Status |\n| `psiphon-helper@patterniha.json` | کانفیگ مخصوص Psiphon از Patterniha |\n| `xray\u002Fxray.exe` | هسته Xray داخلی پروژه |\n| `xray\u002Fmycert.crt` | certificate عمومی شخصی شما |\n| `xray\u002Fmycert.key` | private key شخصی شما، نباید به کسی داده شود |\n| `MITM-DomainFronting-14\u002FXray-config\u002Fcertificate_generator.bat` | generator رسمی مورد استفاده برای ساخت certificate |\n| `runtime\u002F` | فایل‌های runtime، pid، config موقت و لاگ‌های اجرای Xray |\n| `PsiphonOverMITM.log` | لاگ قابل خواندن مراحل اجرای اسکریپت |\n\n---\n\n## نصب و اجرای سریع روی ویندوز\n\nبرای رفقایی که نمی‌خوان با ترمینال درگیر بشن، مسیر استفاده اینه:\n\n1. پروژه را Extract کن.\n2. روی `Run-PsiphonOverMITM.bat` راست‌کلیک کن.\n3. گزینه **Run as administrator** را بزن.\n4. از منو گزینه `[1] Start` را انتخاب کن.\n5. صبر کن تا پیام نهایی را ببینی.\n\nاگر همه‌چیز درست باشد، خروجی شبیه این می‌شود:\n\n```text\nPsiphonOverMITM is active.\nSet Psiphon upstream proxy to: 127.0.0.1:20808\n```\n\nحالا داخل Psiphon در بخش upstream proxy بزن:\n\n```text\nHost: 127.0.0.1\nPort: 20808\n```\n\nنکته مهم: اگر ویندوز روی سیستم تو اجازه bind روی `20808` ندهد، اسکریپت خودش پورت جایگزین می‌دهد. در آن حالت حتماً همان پورتی را که اسکریپت چاپ کرده داخل Psiphon وارد کن.\n\n---\n\n## منوی برنامه\n\nبعد از اجرای فایل bat این منو را می‌بینی:\n\n```text\n[1] Start\n[2] Stop\n[3] Status\n[0] Exit\n```\n\n### `[1] Start`\n\nهمه‌چیز را آماده می‌کند:\n\n- Xray را چک می‌کند.\n- پورت local upstream را آماده می‌کند.\n- کانفیگ runtime را از `psiphon-helper@patterniha.json` می‌سازد.\n- certificate شخصی را می‌سازد یا اگر وجود دارد همان را نگه می‌دارد.\n- `mycert.crt` را در Local Machine Trusted Root نصب می‌کند.\n- Xray را با کانفیگ Psiphon helper اجرا می‌کند.\n- در آخر آدرس و پورت لازم برای Psiphon را چاپ می‌کند.\n\n### `[2] Stop`\n\nXray مربوط به همین پروژه را stop می‌کند و PID runtime را پاک می‌کند.\n\n### `[3] Status`\n\nوضعیت را نشان می‌دهد:\n\n```text\nPsiphonOverMITM: running\nProxy: 127.0.0.1:20808 reachable=True\nLog: ...\\PsiphonOverMITM.log\n```\n\nاگر `reachable=False` بود، یعنی Psiphon هنوز نمی‌تواند به helper وصل شود. اول Stop بزن، بعد دوباره Start کن و پورت چاپ‌شده را دقیق وارد کن.\n\n---\n\n## Certificate دقیقاً چه کاری می‌کند؟\n\nطبق آموزش Patterniha، برای MITM نیاز به یک certificate شخصی داری. این پروژه دقیقاً همان روند را خودکار می‌کند.\n\nوقتی Start می‌زنی:\n\n1. اگر `xray\u002Fmycert.crt` و `xray\u002Fmycert.key` وجود داشته باشند، همان‌ها استفاده می‌شوند.\n2. اگر وجود نداشته باشند، اسکریپت از این فایل استفاده می‌کند:\n\n```text\nMITM-DomainFronting-14\u002FXray-config\u002Fcertificate_generator.bat\n```\n\nو دو فایل می‌سازد:\n\n```text\nxray\u002Fmycert.crt\nxray\u002Fmycert.key\n```\n\nبعد فقط `mycert.crt` داخل ویندوز نصب می‌شود:\n\n```text\nLocal Machine -> Trusted Root Certification Authorities\n```\n\n`mycert.key` نصب نمی‌شود. این فایل private key توست و باید فقط روی سیستم خودت بماند.\n\n**هشدار خیلی مهم:**  \n`mycert.crt` را از کسی نگیر.  \n`mycert.key` را به هیچ‌کس نده.  \nاگر certificate\u002Fkey را از جای نامطمئن بگیری، عملاً به آن شخص اجازه دادی ترافیک TLS تو را جعل و inspect کند.\n\n---\n\n## آیا certificate برای یک کانفیگ خاصه؟\n\nنه. این certificate به یک کانفیگ خاص مثل Netlify یا Psiphon قفل نشده. این یک Root CA شخصی برای MITM است. هر کانفیگی که داخل Xray از این دو فایل استفاده کند:\n\n```text\nmycert.crt\nmycert.key\n```\n\nمی‌تواند certificateهای جعلی لازم را برای MITM تولید کند. برای همین نصب چند certificate مختلف بدون دلیل خوب نیست. این پروژه اگر certificate قبلی وجود داشته باشد، دوباره certificate جدید نمی‌سازد؛ همان را نگه می‌دارد و فقط trusted بودنش را چک می‌کند.\n\n---\n\n## چرا Administrator لازم است؟\n\nدو دلیل اصلی دارد:\n\n- نصب `mycert.crt` داخل `Local Machine Trusted Root` نیاز به دسترسی Administrator دارد.\n- اجرای تمیز و قابل‌اعتماد Xray و مدیریت PID روی ویندوز بهتر است با دسترسی کامل انجام شود.\n\nاگر بدون Administrator اجرا کنی، برنامه بهت هشدار می‌دهد و ادامه نمی‌دهد.\n\n---\n\n## چرا Windows Proxy تنظیم نمی‌شود؟\n\nچون این پروژه مخصوص Psiphon است. ما نمی‌خواهیم کل سیستم را proxy کنیم. فقط می‌خواهیم Psiphon در تنظیمات خودش از این upstream استفاده کند.\n\nتنظیم درست داخل Psiphon:\n\n```text\nUpstream proxy host: 127.0.0.1\nUpstream proxy port: 20808\n```\n\nیا هر پورتی که برنامه بعد از Start چاپ کرد.\n\n---\n\n## لاگ‌ها کجا هستند؟\n\nلاگ اصلی:\n\n```text\nPsiphonOverMITM.log\n```\n\nلاگ‌های runtime Xray:\n\n```text\nruntime\u002FPsiphonOverMITM.out.log\nruntime\u002FPsiphonOverMITM.err.log\n```\n\nاگر اتصال Psiphon fail شد، اول Status را بزن. بعد فایل‌های log را چک کن. معمولاً مشکل یکی از این‌هاست:\n\n- پورت را داخل Psiphon اشتباه وارد کردی.\n- به جای `127.0.0.1` چیز دیگری زدی.\n- helper خاموش است.\n- ویندوز اجازه استفاده از `20808` نداده و برنامه پورت جایگزین داده.\n- certificate نصب نشده یا با دستکاری دستی خراب شده.\n- Psiphon هنوز روی upstream proxy قبلی مانده.\n\n---\n\n## خطاهای رایج\n\n| خطا | معنی ساده | راه‌حل |\n| :--- | :--- | :--- |\n| `reachable=False` | helper روی آن پورت گوش نمی‌دهد | Start بزن و پورت چاپ‌شده را وارد کن |\n| `Administrator access is required` | فایل را عادی اجرا کردی | Run as administrator بزن |\n| `Certificate generation failed` | generator نتوانسته cert بسازد | وجود `xray\u002Fxray.exe` و فایل generator را چک کن |\n| `Xray config validation failed` | JSON یا نسخه Xray مشکل دارد | Xray 26.4.25 و فایل helper درست را استفاده کن |\n| `Upstream Proxy Error` در Psiphon | Psiphon به helper وصل شده ولی مسیر جواب نداده یا پورت غلط است | Status بزن، پورت را چک کن، Psiphon را restart کن |\n\n---\n\n## ساختار تمیز اجرای خام\n\nاگر می‌خوای از صفر تست بگیری:\n\n1. Stop بزن.\n2. اگر لازم بود فقط فایل‌های runtime را پاک کن.\n3. فایل‌های `mycert.crt` و `mycert.key` را فقط وقتی پاک کن که واقعاً می‌خوای certificate جدید بسازی.\n4. دوباره `Run-PsiphonOverMITM.bat` را با Administrator اجرا کن.\n5. Start بزن.\n6. پورت چاپ‌شده را داخل Psiphon وارد کن.\n\nبرای استفاده معمولی لازم نیست هر بار certificate را پاک کنی. یک بار ساخت و نصب کافی است.\n\n---\n\n## نکته امنیتی خیلی مهم\n\nMITM یعنی یک Root CA شخصی روی سیستم نصب می‌شود. این کار برای این روش لازم است، ولی باید دقیق و تمیز انجام شود. این پروژه تلاش می‌کند فقط certificate شخصی خودت را بسازد و نصب کند. با این حال مسئولیت نگهداری فایل‌های certificate با خودت است.\n\nفایل زیر را خصوصی نگه دار:\n\n```text\nxray\u002Fmycert.key\n```\n\nاگر این فایل دست کسی بیفتد، دیگر آن certificate امن نیست.\n\n---\n\n## Credits\n\n- MITM-DomainFronting method and configs: [Patterniha](https:\u002F\u002Fgithub.com\u002Fpatterniha\u002FMITM-DomainFronting)\n- Windows helper and packaging: [@b3hnamrjd](https:\u002F\u002Fgithub.com\u002FB3hnamR\u002FPsiphonOverMITM)\n- Telegram Channel: [B3hnamR](https:\u002F\u002Ft.me\u002FB3hnamR)\n\n---\n\n## جمع‌بندی\n\nاگر بخوام خیلی ساده بگم:\n\n```text\nRun-PsiphonOverMITM.bat را با Administrator اجرا کن.\nStart بزن.\nدر Psiphon بزن 127.0.0.1 و پورتی که برنامه چاپ کرده.\nوصل شو.\n```\n\nهمین.\n","PsiphonOverMITM 是一个用于在 Windows 上通过 MITM-DomainFronting 技术运行 Psiphon 的简易启动器。其核心功能是将 Psiphon 的请求首先发送到本地的 Xray 代理，后者再通过预设的 Patterniha 配置进行路由处理，从而实现更安全稳定的网络连接。项目使用 PowerShell 编写，支持一键启动和停止、自动生成证书、详细日志记录等功能，确保了操作的简便性和安全性。它特别适用于需要绕过特定网络限制访问互联网的场景，但并不旨在全面解锁整个互联网。","2026-06-11 03:53:56","CREATED_QUERY"]