عن المشروع

نظرة عامة Whistle (النطق /ˈwisəl/) هو أداة متعددة المنصات لالتقاط الشبكة وتصحيح الأخطاء مبنية على Node.js، تُنشر كحزمة npm وتلتزم بترخيص MIT، ويشير ملف README إلى أن إصدارات Node.js المدعومة هي >= 8. الميزات الرئيسية - التقاط وتعديل: يدعم التقاط HTTP وHTTPS وHTTP/2 وWebSocket وTCP، ويمكن تعديل محتوى الطلبات والاستجابات. - أوضاع الوكيل: يدعم بروكسي HTTP وHTTPS وSocks بالإضافة إلى الوكيل العكسي. - أدوات تصحيح مدمجة: Weinre (فحص DOM عن بُعد)، Console (عرض سجلات console)، Composer (إعادة تشغيل وتحرير الطلبات) وغيرها. - تكوين القواعد: يمكن تعديل الطلبات/الاستجابات عبر تكوين القواعد. - واجهة إدارة موحدة: يتم إدارة التقاط الحزم، القواعد، الإضافات، وWeinre/Console/Composer وغيرها من خلال واجهة واحدة. - قابل للتوسيع: يدعم توسيع القواعد وواجهة المستخدم عبر الإضافات، ويمكن استدعاؤه كحزمة NPM في المشاريع. - متعدد المنصات: يدعم macOS وWindows وLinux (Ubuntu / Fedora) وغيرها من أنظمة سطح المكتب، كما يدعم بيئات الخوادم Linux بدون واجهة رسومية. التثبيت والبدء - يوصى لمستخدمي سطح المكتب باستخدام عميل Whistle (avwo/whistle-client) لتجنب معظم خطوات التثبيت والتهيئة اليدوية. - بيئات Linux / الخوادم بدون واجهة: قم أولاً بتثبيت Node.js، ثم نفّذ npm i -g whistle؛ كما يمكن التثبيت عبر Homebrew (brew install whistle). - بدء التشغيل: w2 start. - تثبيت شهادة الجذر (للتقاط HTTPS): w2 ca. قد يتطلب التثبيت تأكيدًا يدويًا، مثل اختيار "نعم (Y)" في Windows، أو إدخال كلمة مرور النظام أو استخدام Touch ID في macOS. - ضبط الوكيل: w2 proxy؛ يمكن أيضًا تحديد عنوان مثل w2 proxy "10.x.x.x:8888"، أو استخدام w2 proxy 0 لإغلاق وكيل النظام. - طرق وكيل أخرى: إضافة Chrome ZeroOmega (لتسهيل تبديل الوكيل بين المتصفحات)، إعدادات الوكيل المدمجة في المتصفحات أو أدوات المطور (مثل Firefox، أدوات تطوير WeChat)، واستخدام Proxifier (Windows / macOS) للتطبيقات التي لا يمكن ضبط وكيلها مباشرة. الأوامر الشائعة start (بدء)، stop (إيقاف)، restart (إعادة تشغيل)، status (عرض الحالة)، ca (تثبيت الشهادة)، proxy [host:port] (ضبط الوكيل، proxy 0 لإغلاق). الوثائق والترخيص للحصول على دليل الاستخدام المفصل والأمثلة، راجع الوثائق الرسمية https://wproxy.org/docs/getting-started.html؛ المشروع مرخص تحت MIT، راجع ملف LICENSE للمزيد.