Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mhr-cfw — مرحل Domain-Fronting يقوم بتوجيه حركة المرور عبر GAS (Google Apps Script) ويُمررها إلى Cloudflare Workers. مصمم لتجاوز DPI. | Kitploit
أدوات/GitHubGitHub/denuitt1/mhr-cfw
بروكسيات الويب والاعتراضالتهرب من IDS/IPSأمن السحابةالفريق الأحمر
GitHubdenuitt1/mhr-cfw

mhr-cfw

مرحل Domain-Fronting يقوم بتوجيه حركة المرور عبر GAS (Google Apps Script) ويُمررها إلى Cloudflare Workers. مصمم لتجاوز DPI.

عرض المستودع
4.4k4162منذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

MHR-CFW

MITM Domain-Fronted HTTP Relay + مخرج Cloudflare Worker

GitHub

الإنجليزيةالفارسية

كيف يعمل

1 - GAS + مخرج Cloudflare Worker

root@kitploit:~
Client -> Local Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Exit
            |
            +-> Shows www.google.com to network DPI filter

2 - GAS + الوسيط Cloudflare Worker + مخرج المرحّل الأمامي المستضاف ذاتياً

root@kitploit:~
Client -> Local Relay -> Google/CDN Front -> GAS (Google Apps Script) Relay -> Cloudflare Worker -> Self-Hosted Upstream Forwarder -> Exit
            |
            +-> Shows www.google.com to network DPI filter

في الاستخدام العادي، يرسل المتصفح حركة المرور إلى البروكسي الذي يعمل على جهاز الكمبيوتر الخاص بك. يقوم البروكسي بإرسال تلك الحركة عبر البنية التحتية لـ Google بحيث لا ترى الشبكة سوى نطاق مسموح به مثل www.google.com. ثم يقوم المرحّل المنشور لديك بجلب الموقع الحقيقي عبر cloudflare worker وإعادة الرد عبر نفس المسار.

هذا يعني أن الفلتر يرى حركة مرور تبدو عادية لـ Google، بينما يظل الوجهة الحقيقية مخفية داخل طلب المرحّل.


كيفية الاستخدام

1 - تنزيل المشروع وفك الضغط

root@kitploit:~
git clone https://github.com/denuitt1/mhr-cfw.git
cd mhr-cfw
pip install -r requirements.txt

لا يمكن الوصول إلى PyPI مباشرة؟ استخدم هذا المرآة بدلاً من ذلك:

root@kitploit:~
pip install -r requirements.txt -i https://mirror-pypi.runflare.com/simple/ --trusted-host mirror-pypi.runflare.com

2 - إعداد Cloudflare Worker (worker.js)

  1. افتح لوحة تحكم Cloudflare وقم بتسجيل الدخول بحساب Cloudflare الخاص بك.
  2. من الشريط الجانبي، انتقل إلى Compute > Workers & Pages.
  3. انقر على Create Application، واختر Start with Hello World ثم انقر على Deploy.
  4. انقر على Edit code واحذف كل الكود الافتراضي في المحرر.
  5. افتح ملف worker.js من هذا المشروع (داخل deploy/)، انسخ كل شيء، وألصقه في محرر Apps Script.
  6. هام: غيّر الـ worker في هذا السطر ليتوافق مع الـ worker الذي أنشأته:
    root@kitploit:~
    const WORKER_URL = "myworker.workers.dev";
    
  7. انقر على Deploy.

3 - إعداد المرحّل Google (Code.gs)

  1. افتح Google Apps Script وقم بتسجيل الدخول بحساب Google الخاص بك.
  2. انقر على New project.
  3. احذف كل الكود الافتراضي في المحرر.
  4. افتح ملف Code.gs من هذا المشروع (داخل deploy/)، انسخ كل شيء، وألصقه في محرر Apps Script.
  5. هام: غيّر كلمة المرور في هذا السطر إلى شيء لا يعرفه إلا أنت، واستبدل رابط الـ worker بعنوان Cloudflare Worker الخاص بك:
    root@kitploit:~
    const AUTH_KEY = "your-secret-password-here";
    const WORKER_URL = "https://myworker.workers.dev";
    
  6. انقر على Deploy ← New deployment.
  7. اختر Web app كنوع.
  8. اضبط:
    • Execute as: Me
    • Who has access: Anyone
  9. انقر على Deploy.
  10. انسخ Deployment ID (يبدو كسلسلة عشوائية طويلة). ستحتاجه في الخطوة التالية.

⚠️ تذكر كلمة المرور التي قمت بتعيينها في الخطوة 3. ستستخدم نفس كلمة المرور في ملف الإعدادات أدناه.

4 - التشغيل

انقر على ملف run.bat (على ويندوز) أو ملف run.sh (على لينكس) لبدء المرحّل.

إذا كنت تشغّله لأول مرة، سيظهر لك معالج إعداد حيث يجب إدخال AUTH_KEY و Google Apps Script Deployment ID. يجب أن ترى رسالة تفيد بأن الـ HTTP proxy يعمل على 127.0.0.1:8085.

5 - الاستخدام

نوصي باستخدام عميل v2rayN وتكوين بروكسي socks5.

يمكنك أيضاً استخدام إضافة FoxyProxy لـ Chrome أو لـ Firefox لاستخدام هذا البروكسي في متصفحك.

6 - اختبار الاتصال

افتح ipleak.net في متصفحك، يجب أن ترى عنوان IP الخاص بك معروضاً كعنوان لـ Cloudflare.

صورة

7 - دلائل استخدام إضافية

استخدام البروكسي داخل جهاز افتراضي

عند تشغيل جهاز افتراضي (VM)، يعمل في بيئة شبكية معزولة منفصلة عن الجهاز المضيف. بشكل افتراضي، لا يستطيع VM الوصول مباشرة إلى الخدمات التي تعمل على localhost للمضيف — بما في ذلك هذا البروكسي.

لإصلاح ذلك، تحتاج إلى العثور على عنوان IP الخاص بالبوابة الذي يخصصه الـ hypervisor للمضيف، ثم استخدامه بدلاً من localhost عند تكوين البروكسي داخل VM.

مثال: VirtualBox (وضع NAT)

يمكن الوصول إلى المضيف من داخل VM دائماً عبر 10.0.2.2. قم بتعيين البروكسي:

root@kitploit:~
export http_proxy="http://10.0.2.2:8085"
export https_proxy="http://10.0.2.2:8085"
export all_proxy="socks5://10.0.2.2:8085"

لجعل هذا دائماً، أضف الأسطر أعلاه إلى ~/.bashrc وشغّل source ~/.bashrc.

نظراً لأن هذا البروكسي يقوم بفحص SSL، قد ترى أخطاء في الشهادة. قم بتثبيت ca.crt المرفق لإصلاحها:

root@kitploit:~
sudo cp ca.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates

مشاركة البروكسي عبر الشبكة المحلية (مثل الأجهزة المحمولة)

يمكنك استخدام هذا البروكسي على هاتفك أو أي جهاز آخر على نفس الشبكة — بدون حاجة لبرامج إضافية.

1. ابحث عن عنوان IP لمضيفك

root@kitploit:~
# ويندوز
ipconfig

# لينكس / macOS
ip addr

ابحث عن عنوان IP للمحول المتصل بجهاز التوجيه (مثل 192.168.1.8).

2. قم بتوجيه المنفذ (ويندوز فقط، إذا كانت الخدمة مرتبطة بـ localhost)

قم بتشغيل CMD كمسؤول:

root@kitploit:~
netsh interface portproxy add v4tov4 listenaddress=192.168.1.8 listenport=8085 connectaddress=127.0.0.1 connectport=8085
netsh advfirewall firewall add rule name="Proxy 8085" dir=in action=allow protocol=TCP localport=8085

3. قم بتكوين البروكسي على هاتفك

قم بتوصيل هاتفك بنفس شبكة Wi-Fi، ثم قم بتعيين البروكسي يدوياً:

  • المضيف: عنوان IP لمضيفك (مثل 192.168.1.8)
  • المنفذ: 8085

على Android: الإعدادات ← Wi-Fi ← تعديل ← بروكسي ← يدوي
على iPhone: الإعدادات ← Wi-Fi ← (الشبكة) ← HTTP Proxy ← يدوي

4. قم بتثبيت شهادة CA

انقل ca.crt إلى هاتفك، ثم:

  • Android: الإعدادات ← الأمان ← تثبيت شهادة ← شهادة CA
  • iPhone: افتح الملف ← تثبيت الملف الشخصي ← الإعدادات ← عام ← حول ← إعدادات الثقة بالشهادة ← فعّلها

اختياري: عنوان IP مخرج ثابت عبر المرحّل الأمامي

ترتبط رموز CAPTCHA (Cloudflare Turnstile/تحدي البوت، reCAPTCHA، hCaptcha) بعنوان IP الذي قام بحل التحدي. يخرج Cloudflare Worker عبر عناوين IP مختلفة للحافة لكل طلب، لذلك يفشل التحقق في الموقع الهدف حتى عندما تقوم بحل التحدي. هذه الإضافة الاختيارية تسمح للـ Worker بتوجيه جميع استدعاءات fetch() عبر خادم Node صغير تشغله على VPS بعنوان IP ثابت — مما يعطي الموقع الهدف عنوان مخرج واحد ومتسق.

متى تحتاج هذا

  • المواقع التي تستخدم تحدي البوت من Cloudflare تستمر في إعادتك إلى صفحة التحدي.
  • نماذج تسجيل الدخول ترفضك بعد حل reCAPTCHA/hCaptcha.
  • تحتاج إلى استمرارية ملفات تعريف الارتباط عبر الطلبات (مثل cf_clearance).

إذا لم تواجه هذه المشاكل، اتركها بدون تكوين — سيعمل الـ Worker تماماً كما كان من قبل.

لماذا يلزم خادم منفصل

لا يوفر Cloudflare Worker عنوان IP صادر ثابت — يخرج fetch() عبر مجموعة متغيرة من عناوين IP لحافة Cloudflare، وهذا هو بالضبط ما يفسد رموز CAPTCHA المرتبطة بعنوان IP. خيارات الخروج الثابتة من Cloudflare (BYOIP, Egress Workers) مخصصة للشركات على مستوى Enterprise، لذا فإن VPS صغير بعنوان IP ثابت هو الحل العملي. المرحّل الأمامي هو مجرد بروكسي رقيق يعيد إصدار fetch() من عنوان ثابت.

1. نشر المرحّل الأمامي على VPS

التنفيذ المرجعي موجود في deploy/upstream-forwarder/upstream_forwarder.js. يتطلب Node 18+ ولا يحتاج إلى تبعيات. قم بتشغيله خلف Caddy أو nginx مع TLS — الـ Worker يرفض عناوين URL للمرحّل الأمامي غير HTTPS.

root@kitploit:~
# على VPS الخاص بك (مثال Ubuntu/Debian):
sudo apt install -y nodejs   # يجب أن يكون 18+
export AUTH_KEY="some-long-random-string-at-least-32-chars"
export PORT=8787
node deploy/upstream-forwarder/upstream_forwarder.js

قم بتحميله مع Caddy لـ TLS تلقائي:

root@kitploit:~
forwarder.example.com {
    reverse_proxy 127.0.0.1:8787
}

اختبار سريع:

root@kitploit:~
curl -X POST https://forwarder.example.com/fwd \
  -H "x-upstream-auth: $AUTH_KEY" \
  -H "content-type: application/json" \
  -d '{"u":"https://httpbin.org/ip","m":"GET","h":{}}'

يجب أن يظهر نص الرد المفكوك عنوان IP الخاص بـ VPS.

2. ربط الـ Worker بالمرحّل الأمامي

في لوحة تحكم Cloudflare ← الـ Worker الخاص بك ← Settings ← Variables and Secrets:

احفظ وأعد نشر الـ Worker.

3. التحقق

تصفح https://httpbin.org/ip عبر البروكسي — يجب أن ترى عنوان IP الخاص بـ VPS، وليس عنوان Cloudflare. ثم عد لموقع محمي بـ CAPTCHA كان لا يعمل — يجب أن يصبح التحدي صالحاً الآن.

يجب أن يتطلب المرحّل الأمامي المصادقة. بدون AUTH_KEY يرفض البدء. أي شخص يملك الرابط والمفتاح يمكنه استخدامه كمرحّل، لذا احتفظ بها سرية.

4. حصر المرحّل الأمامي على مضيفين محددين (اختياري)

بشكل افتراضي، يوجه الـ Worker كل طلب عبر المرحّل الأمامي، مما يستهلك نطاقاً ترددياً لـ VPS حتى لحركة المرور غير المرتبطة. لإرسال المواقع التي تحتاج فقط إلى عنوان IP مخرج ثابت عبر VPS، قم بإدراجها في forwarder_hosts داخل config.json — نفس بناء bypass_hosts (اسم مضيف دقيق أو .suffix). أي شيء غير متطابق يعود إلى fetch() المباشر على الـ Worker.

root@kitploit:~
{
   ...
   "forwarder_hosts": [
       "example.com",
       ".cf-protected-suffix"
   ]
   ...
}

اترك القائمة فارغة (أو احذف المفتاح) للحفاظ على السلوك القديم "توجيه كل شيء".


إخلاء مسؤولية

MHR-CFW مُقدم لأغراض تعليمية واختبارية وبحثية فقط.

  • مُقدم بدون ضمان: هذا البرنامج مُقدم "كما هو"، دون أي ضمان صريح أو ضمني، بما في ذلك قابلية التسويق، الملاءمة لغرض معين، وعدم الانتهاك.
  • حدود المسؤولية: المطورون والمساهمون غير مسؤولين عن أي أضرار مباشرة، غير مباشرة، عرضية، تبعية، أو غيرها ناتجة عن استخدام هذا المشروع أو عدم القدرة على استخدامه.
  • مسؤولية المستخدم: تشغيل هذا المشروع خارج بيئات الاختبار الخاضعة للتحكم قد يؤثر على الشبكات، الحسابات، البروكسيات، الشهادات، أو الأنظمة المتصلة. أنت وحدك المسؤول عن التثبيت، التكوين، والاستخدام.
  • الامتثال القانوني: أنت مسؤول عن الامتثال لجميع القوانين واللوائح المحلية، الوطنية، والدولية قبل استخدام هذا البرنامج.
  • الامتثال لخدمات Google: إذا كنت تستخدم Google Apps Script أو خدمات Google الأخرى مع هذا المشروع، فأنت مسؤول عن الامتثال لشروط خدمة Google، قواعد الاستخدام المقبولة، الحصص، وسياسات المنصة. قد يؤدي سوء الاستخدام إلى تعليق أو إنهاء حساب Google الخاص بك أو النشرات.
  • شروط الترخيص: يخضع استخدام هذا البرنامج ونسخه وتوزيعه وتعديله لترخيص المستودع. أي استخدام خارج تلك الشروط محظور.

المساهمون

  • شكر خاص لـ onlymaj

المصادر

  • يعتمد هذا المشروع على MasterHttpRelayVPN

الترخيص

MIT

تنزيل الأداة
الاسمالنوعالقيمة
UPSTREAM_FORWARDER_URLSecrethttps://forwarder.example.com/fwd
UPSTREAM_AUTH_KEYSecretنفس AUTH_KEY الذي قمت بتعيينه على VPS
UPSTREAM_FAIL_MODEVariableclosed (افتراضي) — إرجاع 502 عند فشل المرحّل الأمامي. استخدم open للرجوع إلى fetch المباشر.
UPSTREAM_TIMEOUT_MSVariable (اختياري)الافتراضي 25000