دليل عملي لمشاركة localhost
مشاركة localhost عبر Cloudflare وGhostlyShare
عندما يحتاج العميل إلى معاينة، أو مزود الويب هوك يحتاج رابط رد نداء، أو تريد فتح خادم التطوير على هاتف، تحتاج إلى رابط عام لشيء يعمل محلياً. يوضح هذا الدليل مسار Cloudflare عبر الطرفية أولاً، ثم سير عمل GhostlyShare للمشاركة المتكررة.
قرار سريع
استخدم الأداة التي تناسب حجم المشاركة
الخطأ هو معاملة كل معاينة محلية كاستضافة. النفق الأفضل للوصول المؤقت. GhostlyShare الأفضل عند تكرار الاستخدام. النشر الحقيقي الأفضل عندما يعتمد المستخدمون على الرابط.
استخدم cloudflared.exe
ثبت عميل نفق Cloudflare مرة واحدة، نفذ أمرًا واحدًا، انسخ الرابط المؤقت، ثم أوقفه بـ Ctrl+C.
استخدم GhostlyShare
دع التطبيق المكتبي يكتشف الخدمات المحلية، يبدأ المشاركة، يعرض حالة الجاهزية، ينسخ الرابط، ويوقف الوصول دون البحث في مخرجات الطرفية.
نشر التطبيق
إذا كان الرابط يحتاج لاستمرارية، مراقبة، نسخ احتياطية، إصدارات مستقرة، أو دعم، فإن نفق اللابتوب ليس حدود الاعتمادية المناسبة.
الطريقة 1
Cloudflare EXE: أسرع طريقة نظيفة عبر سطر الأوامر
عميل نفق Cloudflare يُسمى cloudflared. على ويندوز يمكنك تثبيته عبر winget أو تحميل ملف EXE يدوياً. للمعاينات القصيرة، Quick Tunnel يوفر رابط HTTPS عشوائي بدون إعادة توجيه منافذ الراوتر أو إعداد DNS أو نطاق مخصص.
ابدأ التطبيق المحلي
افتح الرابط المحلي في متصفحك أولاً. إذا لم يعمل التطبيق محلياً، لا يمكن للنفق العام إصلاحه.
npm run dev
ثبت cloudflared على ويندوز
Use winget when it is available. If you download the EXE manually, place it in a folder such as C:\Cloudflared\bin and call it cloudflared.exe.
winget install --id Cloudflare.cloudflared
إنشاء الرابط العام
Use the exact local HTTP URL and port. In PowerShell from the EXE folder, use .\cloudflared.exe if the executable is not on PATH.
cloudflared.exe tunnel --url http://localhost:5173
اختبر قبل المشاركة
افتح الرابط المولد من trycloudflare.com في نافذة خاصة أو جهاز آخر. تحقق من تسجيل الدخول، الموارد، إعادة التوجيه، واستدعاءات API قبل الإرسال.
https://example-random-name.trycloudflare.com
أوقف النفق عن قصد
عند انتهاء العرض أو اختبار الويب هوك، أوقف عملية الطرفية. إذا دخل جهازك في وضع السكون أو انقطع الاتصال، سيتوقف النفق السريع عن العمل.
Ctrl+C
أسماء معاينة مستقرة
رابط عشوائي أم اسم مضيف مخصص في Cloudflare؟
الروابط العشوائية مثالية عندما يمكن أن يختفي الرابط بعد الاختبار. النطاقات المخصصة مناسبة عندما يجب أن تبدو المعاينة مستقرة، مثل demo.example.com، وأنت تدير النطاق في Cloudflare.
| الحاجة | استخدم | لماذا يناسب |
|---|---|---|
| عرض توضيحي لمدة خمس دقائق أو رد نداء ويب هوك | رابط عشوائي | لا حاجة لحساب أو إعداد DNS، والرابط سهل التخلص منه بعد الاختبار. |
| مراجعة عميل يجب أن تبدو مميزة | نطاق مخصص | اسم مضيف تتحكم به أسهل في التعرف عليه، لكنه يحتاج إلى منطقة Cloudflare، أذونات الرمز، DNS، وتوجيه النفق. |
| معاينة لا يجب فتحها بشكل عشوائي | رابط محمي بكلمة مرور | أضف كلمة مرور قبل النشر، ثم شارك الرابط وكلمة المرور بشكل منفصل مع المجموعة الصغيرة التي تحتاج الوصول. |
خيارات أخرى
طرق أخرى لكشف localhost
لا تحتاج إلى أداة واحدة لكل حالة. الخيار الأفضل يعتمد على ما إذا كنت تريد رابطاً مؤقتاً، سير عمل مكتبي، معاينة مميزة، أداة شبكة خاصة، أو إعداد استضافة ذاتية محصن عمدًا.
| أداة | أمر أو إجراء نموذجي | الأفضل لـ | احذر |
|---|---|---|---|
| نفق Cloudflare السريع | cloudflared tunnel --url http://localhost:5173
|
روابط HTTPS عامة سريعة وقابلة للتخلص بدون تغييرات في الراوتر. | للتطوير والاختبار فقط؛ رابط عشوائي؛ دورة حياة عبر الطرفية. |
| GhostlyShare | اختر النشر العام في التطبيق المكتبي
|
معاينات محلية متكررة، اختبارات ويب هوك، عروض محمية بكلمة مرور، ونطاقات Cloudflare مخصصة اختيارية. | لا تزال ليست استضافة إنتاجية؛ يجب أن يظل تطبيقك وجهازك يعملان أثناء عمل الرابط. |
| ngrok | ngrok http 5173
|
فرق تستخدم ngrok، نطاقات محجوزة، فحص حركة المرور، وميزات توجيه خاصة بالمزود. | تفاصيل الحساب والخطة مهمة؛ إعداد مزود أكثر من نفق سريع مؤقت. |
| Tailscale Funnel | tailscale funnel 3000
|
الأشخاص الذين يستخدمون Tailscale ويريدون نقطة نهاية HTTPS عامة لجهاز tailnet. | يتطلب إعداد Tailscale وتفعيل Funnel لشبكة tailnet. |
| localtunnel | npx localtunnel --port 3000
|
مشاركة سريعة لـ localhost مع Node للاختبارات البسيطة. | مفيد للمعاينات البسيطة؛ فكر جيداً قبل استخدامه لأي شيء حساس. |
| إعادة توجيه منافذ الراوتر | تهيئة الراوتر، DNS، TLS، والوكيل العكسي
|
الاستضافة الذاتية الدائمة عند تشغيل البنية التحتية عن قصد. | سطح هجوم أكثر تعرضاً؛ التصحيحات، قواعد الجدار الناري، السجلات، وTLS تصبح مسؤوليتك. |
اختبار الويب هوك
التفاصيل التي توفر الوقت مع الويب هوك
مزودو الويب هوك لا يمكنهم الاتصال بـ http://localhost على جهازك. يمكنهم الاتصال برابط النفق العام. عامل هذا الرابط كتكامل خارجي حقيقي: حافظ على تفعيل التوقيعات، استخدم مسار رد النداء الكامل، وتحقق من إعادة التوجيه وCORS.
استخدم مسار رد النداء الكامل
إذا كان المستقبل يستمع على /api/webhooks/stripe، الصق الرابط العام مع نفس المسار، وليس فقط النطاق.
حافظ على تفعيل التحقق من التوقيع
النفق العام يسهل اختبار توقيعات الويب هوك الحقيقية، لكنه ليس سبباً لتعطيل التحقق من التوقيع.
راقب روابط الأساس والرؤوس المعاد توجيهها
إذا أعاد الرابط العام التوجيه إلى localhost، قم بضبط روابط الأساس العامة، رؤوس التوجيه، الوكلاء الموثوقين، أو إعدادات مضيف الإطار.
اختبر من جلسة متصفح نظيفة
استخدم نافذة خاصة أو جهازاً ثانياً حتى لا تخفي حالة localhost المخزنة مشاكل الكوكيز، CORS، إعادة التوجيه، أو المحتوى المختلط.
استكشاف الأخطاء
حل مشاكل النفق الشائعة أولاً
يبدأ النفق، لكن الصفحة فارغة
افتح الرابط المحلي مباشرة، ثم تحقق مما إذا كانت الموارد، روابط API، روابط WebSocket، أو متغيرات البيئة تشير إلى localhost.
الرابط العام يعيد التوجيه إلى localhost
العديد من الأُطُر تبني إعادة توجيه من مضيف الطلب. أصلح رؤوس التوجيه، الوكلاء الموثوقين، الأصل العام، أو إعادة التوجيه القسرية للتطوير.
الرابط يظهر قبل أن يعمل
توجيه Cloudflare، DNS، وكيل GhostlyShare المحلي، والتطبيق الأصلي قد يحتاجون لحظة للتوافق. انتظر ثوانٍ، حدث الصفحة، وجرب مرة أخرى.
شهادات HTTPS للـ localhost تسبب أخطاء
للمعاينات القصيرة، استخدم نفق نقطة نهاية HTTP المحلية عند توفرها. للإعدادات الأطول، قم بضبط TLS المصدر بشكل مقصود بدلاً من التخمين.
فشل إعادة التحميل السريع أو WebSockets
استخدم أداة تدعم WebSockets وتأكد من أن التطبيق يبني روابط ws أو wss من المضيف العام، وليس من قيمة localhost ثابتة.
السلامة
قبل إرسال الرابط العام
رابط معاينة عام يظل وصولاً عاماً. الحماية بكلمة مرور تقلل الوصول العرضي لكنها لا تجعل الخدمة المحلية الخطرة آمنة. شارك الرابط الأدق، استخدم بيانات اختبار، وأوقف الرابط بعد المراجعة أو اختبار الويب هوك.
استخدم بيانات اختبار
لا تكشف سجلات العملاء الحقيقية، شاشات إدارة قواعد البيانات، لوحات التحكم الداخلية، أسرار البذور، أو بيانات الشركة الخاصة.
حافظ على تفعيل مصادقة التطبيق
إذا كانت الميزة تتطلب تسجيل دخول عادة، يجب أن تتطلبه أيضاً أثناء المعاينة العامة.
استخدم الحماية بكلمة مرور للمعاينات الخاصة
للمجموعات الصغيرة للمراجعة، أضف كلمة مرور GhostlyShare قبل النشر وشاركها منفصلة عن الرابط.
أوقف ودوّر الروابط
أوقف الروابط المؤقتة بعد الاستخدام. إذا تسرب رابط أو كلمة مرور في تذكرة أو دردشة، أنشئ معاينة جديدة بدلاً من إعادة الاستخدام.
الأسئلة الشائعة
الأسئلة المتكررة
ما هو الأمر الدقيق في ويندوز؟
بعد تثبيت cloudflared، شغّل cloudflared.exe tunnel --url http://localhost:PORT مع استبدال PORT برقم المنفذ المحلي لتطبيقك، مثل 5173 أو 3000 أو 5080 أو 8080.
هل GhostlyShare مجرد واجهة لـ cloudflared؟
لا. يستخدم GhostlyShare أنفاق مدعومة من Cloudflare، لكنه يضيف سير عمل مكتبي حول كشف التطبيقات، روابط عامة عشوائية أو مخصصة، حالة الجاهزية، إيقاف الوصول، وحماية اختيارية بكلمة مرور.
هل يمكن لـ GhostlyShare حماية الرابط العام بكلمة مرور؟
نعم. فعّل الحماية بكلمة مرور قبل النشر. يجب على الزوار إدخال كلمة المرور قبل توجيه GhostlyShare للزيارات إلى التطبيق المحلي المختار، لكنها ليست بديلاً لأمان التطبيق الصحيح.
هل أحتاج لإعادة توجيه منافذ الراوتر؟
لا بالنسبة لسير عمل الأنفاق في هذا الدليل. cloudflared، GhostlyShare، ngrok، Tailscale Funnel، وأدوات مشابهة تفتح اتصالات صادرة من جهازك، لذا عادة لا تحتاج لإعادة توجيه منافذ الراوتر الواردة.
هل يمكنني اختبار الويب هوك عبر نفق محلي؟
نعم. ابدأ مستقبل الويب هوك المحلي، اكشفه عبر النفق، الصق رابط HTTPS العام مع مسار رد النداء الصحيح في المزود، أرسل حدث اختبار، وافحص الطلب محلياً.
هل يجب أن أكشف أدوات الإدارة أو قواعد البيانات؟
عادة لا. لا تكشف لوحات قواعد البيانات، لوحات الإدارة، لوحات البنية التحتية، نقاط التصحيح، أو الخدمات الداخلية إلا إذا كانت محصنة ومخصصة للوصول من الإنترنت.
هل أستخدم نفق اللابتوب لحركة الإنتاج؟
لا. استخدم نشرًا حقيقيًا أو نفقًا مدارًا على بنية تحتية مخصصة للبقاء متصلة، تلقي التحديثات، المراقبة، والتعافي بعد الأعطال.