Proxyman هو عميل وكيل أصلي لنظامي macOS وiOS، مصمم لاعتراض وعرض وتعديل حركة مرور HTTP/HTTPS أثناء تطوير التطبيقات. وفقًا للموقع الرسمي لـ Proxyman (2025)، تُستخدم الأداة في أكثر من 10,000 شركة وتدعم جميع الإصدارات الحديثة من iOS وmacOS. عميل الوكيل هذا يقدم إصدارًا أساسيًا مجانيًا ويختلف عن Charles Proxy بواجهة أكثر حداثة، ودعم البرامج النصية بلغة JavaScript لتعديل البيانات في الوقت الفعلي، والتوافق المدمج مع محاكي iOS.
النقاط الرئيسية
Proxyman هو عميل وكيل HTTP/HTTPS تم إنشاؤه خصيصًا لنظام Apple البيئي. على عكس الحلول عبر المنصات، يستخدم Proxyman أطر عمل macOS الأصلية (Swift, AppKit)، مما يضمن أداءً عاليًا وتكاملًا سلسًا مع آليات الوكيل في النظام. الأداة تدعم macOS 11+ وiOS 14+.
يضع Proxyman نفسه كـ بديل حديث لـ Charles Proxy لمطوري نظام Apple البيئي. المزايا الرئيسية: إصدار مجاني بوظائف أساسية كاملة، واجهة أصلية تتوافق مع نظام تصميم macOS، وإعداد تلقائي لمحاكي iOS دون خطوات إضافية. تم تطوير Proxyman بنشاط منذ عام 2018 ويمتلك نظام ملاحظات مفتوح مع مجتمع المطورين.
يعمل Proxyman على macOS (تطبيق أصلي، ليس Electron) ويوفر تطبيقًا مصاحبًا لـ iOS. يتم إعداد الأجهزة الفعلية (iPhone, iPad) عبر WiFi Proxy بشكل مشابه لـ Charles. يتيح التطبيق المصاحب لـ iOS (Proxyman iOS companion) عرض حركة المرور مباشرة على الجهاز دون الحاجة إلى كمبيوتر — هذه الميزة فريدة لـ Proxyman.
يعمل Proxyman وفق مبدأ MITM القياسي: يتم إعداد التطبيق كخادم وكيل للنظام تمر من خلاله جميع حركة مرور HTTP/HTTPS. تستخدم الأداة آليات Network Extension الأصلية في macOS لاعتراض حركة المرور دون الحاجة إلى إعداد وكيل يدوي لمحاكي iOS.
على macOS، يستخدم Proxyman Apple Network Framework لاعتراض حركة المرور بشفافية. عند تنشيط الوكيل، ينشئ Proxyman واجهة شبكة افتراضية تمر من خلالها حركة مرور جميع التطبيقات. بالنسبة لمحاكي iOS، يتم الإعداد تلقائيًا عند بدء التشغيل — يكتشف Proxyman أجهزة المحاكاة الجارية عبر Xcode ويعيد توجيه حركة مرورها دون إعداد وكيل يدوي في الإعدادات.
لفك تشفير HTTPS، يقوم Proxyman بتثبيت شهادة جذر محلية في سلسلة مفاتيح النظام في macOS. عند التشغيل الأول، يطلب البرنامج تثبيت الشهادة والثقة بها. يتم إنشاء جميع الشهادات للنطاقات المحددة بشكل فوري وتوقيعها بشهادة جذر Proxyman. بالنسبة لمحاكي iOS، يتم تثبيت الشهادة تلقائيًا عند بدء تشغيل الوكيل.
// مثال على برنامج Proxyman النصي لتعديل الاستجابة
// البرمجة النصية: تغيير حالة الاستجابة إلى 500 لاختبار الأخطاء
function onResponse(request, response) {
if (request.url.includes("/api/users")) {
response.statusCode = 500;
response.body = JSON.stringify({
error: "Internal Server Error",
code: "SERVER_TIMEOUT"
});
}
return response;
}
يوفر Proxyman مجموعة فريدة من الميزات التي تميزه عن أدوات الوكيل الأخرى. يتم التركيز بشكل خاص على تعديل حركة المرور عبر البرامج النصية والأداء الأصلي.
الميزة الرئيسية لـ Proxyman هي دعم البرامج النصية بلغة JavaScript لتعديل الطلبات والاستجابات. بدلاً من تحرير كل طلب يدويًا عبر Breakpoints (كما في Charles)، يمكن للمطور كتابة برنامج نصي يتم تطبيقه تلقائيًا على عناوين URL محددة. تدعم البرامج النصية الوصول الكامل إلى الرؤوس ونص الطلب والاستجابة ورموز الحالة والبيانات الوصفية. يسمح ذلك بأتمتة العمليات الروتينية: استبدال الرموز المميزة، تعديل الرؤوس، محاكاة الأخطاء للاختبار.
يقدم Proxyman نظام تصفية مرن قائم على القواعد. يمكنك إنشاء ملفات تعريف تقوم بتجميع حركة المرور تلقائيًا حسب النطاقات أو أنواع المحتوى أو رموز الحالة. على سبيل المثال، جميع الطلبات إلى API تطبيقك تذهب تلقائيًا إلى مجموعة واحدة، بينما تذهب الأصول الثابتة (CSS, JS, الصور) إلى مجموعة أخرى. هذا مفيد بشكل خاص عند تصحيح الأخطاء عندما تحتاج إلى التركيز فقط على نقاط نهاية محددة.
| الميزة | Proxyman | Charles Proxy | ملاحظة |
|---|---|---|---|
| البرمجة النصية | JavaScript | لا | تعديل تلقائي بدون Breakpoints |
| محاكي iOS | تلقائي | إعداد يدوي | Proxyman يكتشف المحاكي عبر Xcode |
| الإصدار المجاني | نعم | نسخة تجريبية 30 يومًا | Proxyman — بدون حد زمني |
| المنصة | macOS, iOS | Windows, macOS, Linux | Charles متعدد المنصات، Proxyman — Apple فقط |
| تصدير HAR | نعم | نعم | كلاهما يدعم التنسيق القياسي |
يعرض Proxyman مخططًا زمنيًا للطلبات على غرار مخطط جانت، حيث يتم تمثيل كل طلب بشريط ملون يشير إلى المدة والحالة والحجم. المخطط الزمني تفاعلي: يمكنك تحديد نطاق زمني ورؤية الطلبات من تلك الفترة فقط. لكل طلب، يتوفر تحليل المراحل: DNS, Connect, TLS Handshake, Request, Response.
قدرة فريدة لـ Proxyman هي تطبيق iOS منفصل يمكن تثبيته على iPhone أو iPad. يتيح عرض حركة مرور الشبكة مباشرة على الجهاز دون الاتصال بكمبيوتر. يتم عرض حركة المرور في الوقت الفعلي مع إمكانيات التصفية والبحث. التطبيق مفيد بشكل خاص للاختبار الميداني عندما لا يتوفر كمبيوتر.
يقدم Proxyman طرق إعداد مختلفة لنظامي iOS وAndroid. بفضل التكامل الأصلي مع Xcode، يكون إعداد محاكي iOS تلقائيًا تقريبًا. للأجهزة الفعلية وAndroid، يلزم إعداد يدوي.
أبسط سيناريو: شغّل Proxyman، افتح علامة التبويب iOS Simulator وانقر على Start. يكتشف Proxyman تلقائيًا أجهزة المحاكاة الجارية عبر Xcode ويضبط الوكيل. يتم أيضًا تثبيت شهادة HTTPS تلقائيًا. لا يلزم أي إجراءات إضافية — تظهر حركة مرور المحاكي فورًا في نافذة Proxyman. هذه ميزة كبيرة مقارنة بـ Charles، حيث يتطلب إعداد المحاكي ضبط وكيل يدوي.
لـ iPhone أو iPad: قم بتوصيل الجهاز بنفس شبكة WiFi التي يستخدمها الكمبيوتر. في إعدادات WiFi للجهاز، حدد وكيل HTTP: عنوان IP للكمبيوتر والمنفذ 9090 (المنفذ الافتراضي لـ Proxyman). ثم افتح Safari وانتقل إلى http://proxy.man/ssl لتثبيت الشهادة. على iOS 10.3+، تأكد من تمكين الثقة بالشهادة في Settings → General → About → Certificate Trust Settings.
يتم إعداد أجهزة Android بطريقة مماثلة لنظام iOS: وكيل WiFi مع عنوان IP للكمبيوتر والمنفذ 9090. لـ HTTPS، تحتاج إلى تثبيت الشهادة عبر المتصفح على http://proxy.man/ssl. على Android 7+ لإصدارات التصحيح، ستحتاج إلى ملف network_security_config.xml يثق بشهادات المستخدم. لمحاكي Android، استخدم عنوان IP للمضيف (عادة 10.0.2.2) بدلاً من IP الكمبيوتر.
<!-- network_security_config.xml لنظام Android مع Proxyman -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<debug-overrides>
<trust-anchors>
<certificates src="user" />
<certificates src="system" />
</trust-anchors>
</debug-overrides>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
الاختيار بين Proxyman وCharles Proxy يعتمد على احتياجات فريقك المحددة ومنصة التطوير. دعنا نستعرض الاختلافات الرئيسية لمساعدة المطورين على اتخاذ قرار مستنير.
Proxyman مكتوب بـ Swift مع AppKit، مما يوفر أداءً أصليًا لـ macOS واستهلاكًا أدنى للذاكرة. Charles مكتوب بلغة Java (Eclipse RCP)، مما يتيح التوافق عبر المنصات، لكنه قد يؤدي إلى استهلاك أعلى قليلاً للذاكرة وواجهة غير أصلية على macOS. لمطوري نظام Apple البيئي، يشعر Proxyman عادةً بأنه أكثر استجابة.
يقدم Charles مجموعة أدوات أكثر نضجًا واتساعًا: Rewrite Rules مع محرر مرئي، Repeat لإعادة الطلبات، Map Local/Remote، Auto Save للجلسات. يقابل Proxyman بميزات أكثر حداثة: البرمجة النصية بلغة JavaScript، الإعداد التلقائي للمحاكي، وتطبيق مصاحب لـ iOS لعرض حركة المرور على الجهاز. Charles له أفضلية في سيناريوهات الأتمتة المعقدة (Rewrite, Repeat)، بينما يتفوق Proxyman في التعديل السريع والمرن عبر البرامج النصية.
يقدم Proxyman إصدارًا مجانيًا بوظائف أساسية بدون حد زمني. الإصدار Pro (اشتراك ~$12/سنة أو شراء لمرة واحدة ~$59) يفتح ميزات متقدمة: البرمجة النصية، الفلاتر، التصدير. Charles يكلف $50 لكل ترخيص مع نسخة تجريبية لمدة 30 يومًا. للمطورين المستقلين، Proxyman أكثر تكلفة معقولة؛ للبيئات المؤسسية، الفرق طفيف.
الأسئلة الشائعة
Proxyman لديه إصدار مجاني مع وظائف اعتراض حركة مرور HTTP/HTTPS الأساسية بدون حد زمني. الاشتراكات المدفوعة (Pro و Team) تضيف البرمجة النصية، الفلاتر المتقدمة، تصدير HAR، والدعم ذو الأولوية. لمعظم مهام تصحيح الأخطاء، الإصدار المجاني كافٍ.
Proxyman هو تطبيق macOS أصلي، لكنه يمكنه اعتراض حركة المرور من أجهزة Android عبر WiFi Proxy بشكل مشابه لـ Charles. يتم إعداد أجهزة Android كوكيل HTTP مع عنوان IP للكمبيوتر ومنفذ Proxyman. لمحاكي Android، يُستخدم IP 10.0.2.2. يتم تثبيت شهادة HTTPS بشكل منفصل.
هناك طريقتان: Local Edit — انقر مرتين على الطلب، اختر علامة التبويب Response، حرّر يدويًا، ثم انقر على Execute لإرسال الاستجابة المعدلة إلى التطبيق. البرمجة النصية — اكتب برنامجًا نصيًا بلغة JavaScript يطبق التغييرات تلقائيًا على عناوين URL محددة في كل طلب.
نعم، يدعم Proxyman التصدير إلى التنسيقات: HAR (HTTP Archive)، Proxyman Session (.pxm)، Curl Command (لكل طلب)، Plain Text. التصدير متاح عبر قائمة السياق على طلب أو مجموعة طلبات. تنسيق HAR متوافق مع Charles Proxy وChrome DevTools والمشاهدات عبر الإنترنت.
Proxyman يكتشف تلقائيًا أجهزة محاكاة iOS الجارية عبر Xcode ويعيد توجيه حركة مرورها دون إعداد يدوي. عند بدء تشغيل الوكيل، يقوم Proxyman بحقن وكيل نظام عبر Network Extension على macOS، والذي ينطبق تلقائيًا على جميع أجهزة المحاكاة. يتم أيضًا تثبيت شهادة HTTPS تلقائيًا.
الملخص
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا