
وكيل MITM لبروتوكولي HTTP/HTTPS مبني بلغة Go، مع اعتراض لحركة المرور عبر HTTP/2 وHTTP/1.1، وتوليد شهادات CA محلية/خاصة بكل مضيف، ونفق CONNECT/WebSocket، وتخزين مؤقت على القرص، ولوحة تحكم إدارية، والتقاط حركة المرور، وسياسات حظر، وفحص تهديدات اختياري مدعوم بالذكاء الاصطناعي مع التنقيح والعزل وتسجيل التدقيق.
وكيل HTTP/HTTPS خفيف وسهل الاستخدام للمطورين، يعمل وفق تقنية رجل في المنتصف (MITM)، مكتوب بلغة Go. يدعم HTTP/1.1 و HTTP/2، وتوجيه CONNECT، ونفق WebSocket (ws/wss)، والتخزين المؤقت للاستجابات على القرص مع فلاتر مرنة، وإعادة تحميل الإعدادات أثناء التشغيل.

Go MITM Proxy هو بروكسي اعتراض مخصص لتصحيح الأخطاء والاختبار والتعلم والاعتراض المتحكم به لحركة مرور HTTP(S). عند تمكين MITM، يقوم ديناميكيًا بتوليد شهادات طرفية لكل مضيف موقعة من مرجع تصديق محلي (CA)، مما يسمح للبروكسي بفك تشفير حركة HTTPS وفحصها. يمكنه أيضًا العمل كنفق TCP شفاف عند تعطيل MITM أو للنطاقات/المنافذ المستثناة.
مهم: يقوم هذا التطبيق باعتراض من نوع رجل في المنتصف (MITM) فعّال، بما في ذلك توليد واستخدام شهادات TLS لفك تشفير حركة مرور HTTPS. اعتمادًا على ولايتك القضائية وبيئة الشبكة، قد يكون اعتراض حركة المرور دون موافقة مسبقة وواضحة من جميع المستخدمين المتأثرين غير قانوني وقد ينتهك الخصوصية أو سياسات مكان العمل أو المتطلبات التنظيمية.
قبل استخدام هذا البرنامج في أي بيئة غير جهازك المحلي:
يجب إعلام جميع مستخدمي أي شبكة قد يعترض فيها هذا البروكسي حركة المرور بوضوح بأن اعتراض HTTP(S) وفحصه سيحدثان. وينبغي أن تكون الموافقة صريحة وموثقة بشكل مثالي.
لا تشغّل هذا البرنامج على شبكات لا تملكها أو لا تديرها أو لا تملك إذنًا صريحًا لاختبارها أو مراقبتها.
لدى العديد من المناطق قوانين صارمة تحكم اعتراض بيانات المستخدمين وتسجيلها وتخزينها (على سبيل المثال: GDPR و CCPA وقوانين التنصت). أنت مسؤول عن ضمان امتثال استخدامك لجميع اللوائح المعمول بها.
مفتاح CA الخاص المُنشأ (عادةً ca-key.pem) يسمح لحامله بانتحال أي نطاق للمستخدمين الذين يثقون بالشهادة المقابلة.
صُمم هذا البروكسي لأغراض التطوير والتصحيح والاختبار الموجه أو التعليم — وليس للمراقبة الخفية أو التجسس غير المصرح به.
باستخدامك لهذا البرنامج، فأنت تقر وتتحمل المسؤولية الكاملة عن ضمان أن استخدامك قانوني وأخلاقي ومُبلَّغ به بشكل صحيح لجميع المستخدمين المتأثرين.
المتطلبات الأساسية:
استنساخ المستودع وبناؤه: ```bash git clone https://github.com/Welfordian/mitm-proxy.git cd mitm-proxy go build ./
ينتج هذا ملفًا ثنائيًا باسم mitm-proxy (أو mitm-proxy.exe على ويندوز) في جذر المشروع.
## بدء سريع
1) شغّل البروكسي بالإعدادات الافتراضية (يستمع على :8080): ```bash
./mitm-proxy
عند أول تشغيل، سيتم إنشاء مرجع تصديق محلي (CA) وحفظه في ca-cert.pem و ca-key.pem.
قم بتكوين متصفحك أو curl لاستخدام البروكسي على http://localhost:8080.
قم بالوثوق بشهادة CA المُنشأة (ca-cert.pem) في نظام التشغيل/المتصفح لديك للسماح باعتراض HTTPS. راجع الوثوق بمرجع التصديق المحلي.
قم بزيارة موقع HTTPS عبر البروكسي ولاحظ السجلات. استخدم الوضع المفصّل لمزيد من التفاصيل: ```bash ./mitm-proxy --verbose
## الاستخدام
### خيارات سطر الأوامر
- --config string: مسار ملف config.json
- --listen string: عنوان الاستماع (يتجاوز إعدادات config)
- --ca-cert string: مسار شهادة CA موجودة (يتجاوز إعدادات config)
- --ca-key string: مسار مفتاح CA موجود (يتجاوز إعدادات config)
- --mitm bool: تفعيل اعتراض MITM (الافتراضي true؛ تعيينه إلى false يُجبر على استخدام النفق)
- --verbose bool: تفعيل التسجيل التفصيلي
- --watch-config bool: مراقبة config.json لاكتشاف التغييرات وتطبيقها تلقائيًا (الافتراضي true)
- --admin-enabled bool: تفعيل API/لوحة تحكم الإدارة المحلية (الافتراضي true)
- --admin-addr string: عنوان الاستماع لـ API/لوحة تحكم الإدارة (الافتراضي 127.0.0.1:9090)
- --admin-token string: توكن Bearer للإدارة (يتم إنشاؤه عند بدء التشغيل إذا لم يُحدَّد)
- --admin-read-token string: توكن Bearer للقراءة فقط للوصول إلى واجهة الإدارة عبر GET/HEAD/OPTIONS
- --admin-ui bool: تقديم واجهة مستخدم الإدارة المدمجة (الافتراضي true)
- --admin-store string: مسار تخزين SQLite للإدارة (الافتراضي dashboard.db)
خيارات سطر الأوامر تتجاوز قيم ملف الإعدادات في الحالات المذكورة.
### التكوين (config.json)