ما هي أداة ngrok
هي أداة تتيح لك عرض خدمات الشبكة المحلية على الإنترنت. وفي مقال اليوم نوفر لك دليلًا تفصيليًا خطوة بخطوة لإعداد واستخدام ngrok واهميتها
ما هو ngrok؟
ngrok هو أداة تُستخدم بشكل أساسي لتوجيه حركة مرور الإنترنت إلى الخوادم المحلية عبر الأنفاق الآمنة، مما يسمح لك بمشاركة خدمات الشبكة المحلية مع الآخرين عبر الإنترنت باستخدام رابط عام.
يسمح ngrok للمطورين بمشاركة الخدمات المحلية (مثل خادم ويب على localhost) عبر رابط عام، متجاوزًا الجدران النارية ومشكلات الترجمة بين الشبكات (NAT). تستخدم هذه الخدمة عادة في تطوير الويب أو لمشاركة تطبيقك المحلي لمراجعته من قبل العميل أو بقية المطورين في الفريق البرمجي.
تخيل أنك تقوم بتطوير تطبيق ويب على جهازك المحلي، وعادةً ما يمكن الوصول إلى هذا التطبيق فقط من خلال عنوان localhost، وهذا يعني أنه لا يمكن لأي شخص آخر خارج شبكتك المحلية رؤية أو استخدام التطبيق.يتدخل ngrok هنا ليُتيح لك مشاركة هذا التطبيق مع أي شخص على الإنترنت عن طريق إنشاء رابط عام يوجه الزوار مباشرة إلى التطبيق الذي تعمل عليه محليًا.
حالات استخدام ngrok؟
هناك العديد من الأسباب لاستخدام ngrok، ومنها:
مشاركة التطبيقات المحلية: يسمح لك ngrok بمشاركة تطبيق الويب أو المشروع الذي تعمل عليه محليًا مع شخص آخر على الفور. على سبيل المثال، إذا كنت تعمل على موقع ويب أو تطبيق، يمكنك مشاركة رابط ngrok مع عميل أو زميل لتجربة التطبيق أو تقديم ملاحظات.
اختبار تكاملات الويب هوك (Webhooks): عند تطوير تطبيق يحتاج إلى استقبال بيانات من خدمات خارجية عبر الإنترنت، مثل GitHub أو Stripe، يجب أن يكون لدى التطبيق عنوان عام. ngrok يسهل هذا عن طريق توفير هذا العنوان العام دون الحاجة إلى نشر التطبيق على الإنترنت.
تجاوز الجدران النارية (Firewalls): إذا كنت خلف جدار ناري أو راوتر يمنع الوصول إلى جهازك، يمكن لـ ngrok تجاوز هذه العقبات، مما يتيح للآخرين الوصول إلى التطبيق المحلي.
المراقبة والتتبع: يوفر ngrok واجهة ويب يمكنك من خلالها مراقبة حركة المرور الواردة إلى خادمك المحلي. يمكنك رؤية تفاصيل الطلبات والاستجابات بشكل مباشر، مما يساعد في اكتشاف الأخطاء وتحسين الأداء.
حالات استخدام إضافية
- عرض خدمة HTTPS: يمكنك عرض خادم HTTPS المحلي باستخدام ngrok http https://localhost.
- عرض حركة المرور TCP أو TLS: للخدمات مثل SSH أو البروتوكولات المستندة إلى TCP، استخدم
ngrok tcp <port>.
خطوات استخدام ngrok
1.تثبيت ngrok
في نظام التشغشل ويندوز يمكنك تثبيت ngrok عبر Chocolatey عن طريق تشغيل الأمر choco install ngrok في موجه الأوامر كمسؤول.
أما في لينكس فيمكنك تثبيته باستخدام مدير الحزم مثل apt أو تنزيل الملف التنفيذي يدويًا
وفي نظام التشغيل ماك يمكنك التثبيت باستخدام Homebrew عبر الأمر `brew install ngrok/ngrok/ngrok`.
2.إعداد ngrok
بعد التثبيت، يمكنك التحقق من نجاح التثبيت عن طريق كتابة `ngrok -h` في الطرفية لعرض قائمة المساعدة.
3. الاتصال بحساب ngrok
قبل استخدام ngrok، تحتاج إلى توصيله بحسابك. أولاً، قم بالتسجيل في موقع ngrok واحصل على authtoken من لوحة التحكم. وهو رمز مصادقة فريد تستخدمه العديد من الأنظمة لضمان أن المستخدم الذي يتصل بالخدمة هو مستخدم معتمد. في سياق أداة ngrok، يُستخدم authtoken لربط جلستك أو استخدامك لأداة ngrok بحسابك الشخصي.
بعد الحصول على authtoken من لوحة التحكم الخاصة بك على موقع ngrok، تقوم بإضافته إلى إعدادات ngrok باستخدام هذا الأمر في موجه الأوامر:
ngrok config add-authtoken <your-token-here>
بمجرد إضافة authtoken، يمكن لـ ngrok التعرف على حسابك الشخصي وتوفير الوصول إلى الميزات المتقدمة المتعلقة بخدماتك.
4. بدء قناة آمنة أو نفق اتصال بين جهازك والانترنت
لعرض الخادم المحلي الذي يعمل على منفذ محدد (مثل 8069)، استخدم الأمر التالي:
ngrok http 8069
هذا ينشئ نفقًا إلى خادمك المحلي ويوفر لك رابطًا عامًا، مثل
https://8cd8-xxx.ngrok-free.app -> http://localhost:8069.
و يمكنك الآن مشاركة هذا الرابط مع الآخرين للسماح لهم بالوصول إلى الخادم المحلي الخاص بك.
5. مراقبة حركة المرور
يوفر ngrok أيضًا واجهة ويب لتفقد حركة المرور المارة عبر النفق. وهي متاحة عبر الرابط
http://127.0.0.1:4040
حيث يمكنك مشاهدة الطلبات والاستجابات، وهو مثالي لتصحيح أخطاء الويب هوك أو واجهات برمجة التطبيقات (APIs).
الخلاصة
تعرفت اليوم على ngrok وهي أداة قوية تسهل مشاركة الخوادم المحلية مع العالم الخارجي بطريقة آمنة وسريعة. وهي مفيد لمطوري الويب، خاصةً عند اختبار الخدمات التي تتطلب عنوانًا عامًا أو عند مشاركة تطبيقات قيد التطوير مع الآخرين.