بدائل مجانية لـ ngrok لأنفاق localhost
تحتاج مشاركة خادم تطوير محلّي مع زميل أو عميل أو هاتفك أو مزوّد webhooks — وارتطمت بحدود الباقة المجانية في ngrok وروابطها العشوائية المتغيّرة. إليك أربعة بدائل مجانية تستحقّ، مع المفاضلات التي تُحدّد أيّها يناسب موقفك.
القائمة المختصرة
ملخّصات بسطر واحد:
| الأداة | مجاني | نطاق مخصّص | دعم TCP | تتطلّب حساباً |
|---|---|---|---|---|
| Cloudflare Tunnel | نعم — بلا حدود | نعم (نطاقك) | محدود | حساب Cloudflare |
| localhost.run | نعم — رابط عشوائي | مدفوع فقط | HTTP/HTTPS فقط | لا (مفتاح SSH) |
| bore | نعم — قابل للاستضافة الذاتية | عند الاستضافة الذاتية | نعم (TCP خام) | لا |
| tailscale-funnel | نعم (3 أنفاق) | نطاق Tailscale فرعي | HTTPS فقط | حساب Tailscale |
| ngrok (مجاني) | نعم | لا | نعم (بحدود) | حساب ngrok |
Cloudflare Tunnel — الخيار الافتراضي للأكثرية
Cloudflare Tunnel (الـdaemon اسمه cloudflared) هو أقوى خيار مجاني في 2026. مجاني، بلا حدود، يدعم النطاقات المخصّصة إن كان لديك واحد على Cloudflare، ويعمل كـdaemon طويل الأمد يمكنك تركه شغّالاً.
صياغة الرابط القابل للمشاركة في 30 ثانية (بلا حساب، بلا نطاق) أمر واحد:
brew install cloudflared
cloudflared tunnel --url http://localhost:3000
المخرجات:
Your quick Tunnel has been created! Visit it at:
https://random-words-here.trycloudflare.com
الرابط يتغيّر مع كل إعادة تشغيل. إن أردت رابطاً ثابتاً على نطاقك الخاص، تدفّق «النفق المُسمّى» إعداد لمرة واحدة في خمس دقائق.
اختر Cloudflare عندما: تريد افتراضياً مجانياً يتدرّج من «شارك الرابط في خمس ثوانٍ» إلى «نفق إنتاجي على نطاقي» دون تغيير الأداة.
localhost.run — بدون تثبيت، بـSSH فقط
إن لم ترغب بتثبيت أيّ شيء، فـlocalhost.run هي الإجابة. تستخدم SSH المثبّتة سلفاً على macOS:
ssh -R 80:localhost:3000 nokey@localhost.run
ستحصل على رابط عشوائي بصيغة *.lhr.life. الباقة المجانية HTTP/HTTPS فقط والرابط مؤقّت.
اختر localhost.run عندما: تكون على جهاز شخص آخر، لا تستطيع التثبيت، وتحتاج الرابط مرة فقط.
bore — بسيط وقابل للاستضافة الذاتية
bore خادم نفق صغير بلغة Rust. النسخة المستضافة مجانية؛ ويمكنك تشغيل خادمك الخاص على VPS بـ5 دولارات في خمس دقائق.
brew install bore-cli
bore local 3000 --to bore.pub
على عكس الخيارات HTTP-only، يدعم bore أنفاق TCP الخام، أي يصلح لأشياء مثل Postgres و Redis وحتى SSH.
اختر bore عندما: تحتاج TCP (لا HTTP فقط)، أو تريد تشغيل خادم نفق خاص بك بلا تعقيد.
tailscale-funnel — الخيار الصحيح إن كنت أصلاً على Tailscale
إن كان لديك Tailscale مُعَدّاً، فإن tailscale funnel يكشف أيّ خدمة HTTPS محلّية للإنترنت العام على نطاقك الفرعي *.ts.net. مجاني (3 أنفاق لكل حساب) وثابت عبر إعادات التشغيل.
tailscale funnel 3000
الرابط يبقى نفسه إلى الأبد، وهذا ممتاز لنقاط webhooks في التطوير.
اختر tailscale-funnel عندما: تكون مستخدم Tailscale أصلاً وتريد رابطاً ثابتاً بلا أداة إضافية.
ماذا عن ngrok نفسه؟
الباقة المجانية في ngrok ما زالت تنفع لعروض سريعة. الحدود في 2026:
- الرابط عشوائي ويتغيّر مع كل إعادة تشغيل ما لم تُرَقِّ.
- حدود على عرض النطاق وعدد الطلبات.
- أصبحت أداتا الفحص وإعادة التشغيل مدفوعتين.
إن كنت تحتاج تحديداً ميزات ngrok (فاحص الطلبات التفاعلي، إعادة التشغيل) فالاشتراك مبرَّر. أما لـ«أحتاج مجرّد رابط» فأيّ من الأربعة أعلاه أبسط.
تدفّق القرار
- تشارك خادم تطوير HTTP/HTTPS مع زميل؟ Cloudflare Tunnel.
- مرة واحدة، لا تستطيع التثبيت؟ localhost.run عبر SSH.
- تحتاج TCP خام (Postgres أو Redis أو SSH)؟ bore.
- على Tailscale وتريد رابطاً ثابتاً؟ tailscale-funnel.
- تريد فاحص طلبات ngrok تحديداً؟ ابقَ مع ngrok.
ملاحظات أمنية — اقرأها مرة
كل خيار هنا يكشف عملية تعمل على حاسوبك للإنترنت. هذا يعني:
- لا تُنفّق أسرار ملف
.envمع التطبيق. كثير من خوادم التطوير يخدم/static/بسخاء. - إن كان تطبيقك يكتب ملفات، فحدّد نطاقها. طلب خبيث قد يملأ قرصك قبل أن تنتبه.
- أَنهِ النفق بعد الانتهاء. بعض هذه الأدوات تنتهي تلقائياً؛ بعضها لا.
يُظهر Manfath الأنفاق النشطة في شريط القوائم لتراها بنظرة واحدة.