सभी लेख
comparisonCloudflare Tunnellocalhost tunnelingopen source

PortPreview बनाम Cloudflare Tunnel: अलग-अलग टूल

यह वास्तव में मुकाबला नहीं है। Cloudflare Tunnel (cloudflared) और PortPreview अलग कमरों में रहते हैं। Cloudflare Tunnel एक सेवा को Cloudflare के edge के पीछे स्थायी रूप से ऑनलाइन रखने के लिए है — Zero Trust, named tunnel, कस्टम डोमेन। PortPreview आपके dev सत्र के अगले बीस मिनट के लिए है — webhook टेस्टिंग, मोबाइल QA, एक branch डिज़ाइनर के साथ साझा करना। दोनों के बीच चुनाव मुख्यतः इस पर निर्भर करता है कि आपके पास वास्तव में कौन-सी समस्या है।

Cloudflare Tunnel किसमें अच्छा है

cloudflared एक चीज़ के लिए बनाया गया: एक भी इनबाउंड पोर्ट खोले बिना और आपका origin IP उजागर किए बिना एक सेवा को इंटरनेट पर रखना। इसे सर्वर पर चलाएँ, अपने Cloudflare डोमेन के एक hostname से एक named tunnel जोड़ें, और traffic आपकी मशीन द्वारा शुरू किए आउटबाउंड कनेक्शन से Cloudflare के edge के ज़रिए आपके origin तक बहता है।

जो यह अच्छा करता है:

  • Production routing. named tunnel फ़ीचर टिकाऊ है। cloudflared को सेवा के रूप में चला सकते हैं और hostname रीस्टार्ट के पार काम करता रहता है।
  • Zero Trust एक्सेस नीतियाँ. आंतरिक टूल एक्सपोज़र के लिए tunnel को SSO, MFA या IP allowlist के पीछे गेट करें।
  • कस्टम डोमेन. Cloudflare पर अपना डोमेन लाएँ। tunnel विक्रेता subdomain नहीं, your-domain.com पर समाप्त होता है।
  • WARP routing. VPN सेटअप के बिना Cloudflare नेटवर्क पर किसी भी डिवाइस से निजी सेवाओं तक पहुँचें।

इनमें से कोई भी webhook डीबगिंग के बारे में नहीं है।

जहाँ Cloudflare Tunnel dev के लिए असहज हो जाता है

quick tunnel मोड (cloudflared tunnel --url localhost:3000) सबसे करीब है जहाँ cloudflared एक dev टूल बनता है, और यह काम करता है। आपको अपने लोकल पोर्ट की ओर इशारा करता *.trycloudflare.com URL मिलता है। पर:

  • अधिकांश dev tunnel की तरह URL हर सत्र में घूमता है।
  • कोई अंतर्निहित अनुरोध निरीक्षक नहीं। आप वही देखते हैं जो आपका dev सर्वर लॉग करता है और इससे अधिक नहीं। बाद में रीप्ले के लिए webhook payload पकड़ने के लिए अलग प्रॉक्सी या logger जोड़ना पड़ता है।
  • named tunnel (स्थिर-URL संस्करण) का सेटअप एक Cloudflare खाता, DNS रिकॉर्ड और एक config फ़ाइल शामिल करता है। दीर्घजीवी सेवा के लिए सार्थक; webhook पुनरावृत्ति सत्र के लिए ज़रूरत से ज़्यादा।

जहाँ PortPreview फ़िट होता है

PortPreview dev लूप के लिए एक localhost टनलिंग CLI है। एक कमांड, सार्वजनिक HTTPS URL, अनुरोध कैप्चर और रीप्ले अंतर्निहित।

npx portpreview 3000

हम जिस पर अनुकूलन करते हैं वह क्षण "मैंने अपना Stripe webhook handler बदला" और "मुझे पता है कि यह काम करता है या नहीं" के बीच है। वह क्षण सेकंडों का होना चाहिए। payload पकड़ें, handler ठीक करें, हरा होने तक रीप्ले करें, सब बिना upstream इवेंट फिर ट्रिगर किए।

आमने-सामने

ज़रूरतCloudflare TunnelPortPreview
webhook डीबगिंग का त्वरित सत्रसंभव (quick tunnel)इसके लिए बना
अनुरोध कैप्चर और रीप्लेनहींहाँ
स्थिर named hostnameहाँ (सेटअप के साथ)डिफ़ॉल्ट फ़ोकस नहीं
कस्टम डोमेनहाँtunnel subdomain
Zero Trust एक्सेस नीतिहाँनहीं
सेटअप जटिलताquick के लिए कम, named के लिए मध्यमएक कमांड
सेवा के रूप में हमेशा चलनाहाँसत्रों के लिए डिज़ाइन
ओपन-सोर्स क्लाइंटहाँ (cloudflared)हाँ

कब किसे उपयोग करें

Cloudflare Tunnel उपयोग करें जब

  • आपको फ़ायरवॉल पोर्ट खोले बिना 24/7 ऑनलाइन सेवा चाहिए।
  • आप एक आंतरिक डैशबोर्ड या admin टूल तक SSO-गेटेड एक्सेस चाहते हैं।
  • आपको असली CA सर्ट और आपके मौजूदा Cloudflare DNS द्वारा समर्थित एक स्थिर कस्टम-डोमेन URL चाहिए।
  • आप पहले से Cloudflare पर हैं और सीमांत सेटअप लागत छोटी है।

PortPreview उपयोग करें जब

  • आप एक webhook handler पर पुनरावृत्ति कर रहे हैं और एक-क्लिक रीप्ले चाहते हैं।
  • आप एक branch डिज़ाइनर के साथ दस मिनट साझा करना चाहते हैं।
  • आप DNS सेट किए बिना OAuth callback या मोबाइल flow टेस्ट करते हैं।
  • आप सिर्फ़ एक Stripe इवेंट टेस्ट करने के लिए Cloudflare खाता प्रबंधित नहीं करना चाहते।

वे अच्छी तरह सहअस्तित्व रखते हैं

जिन कई टीमों से हमने बात की वे दोनों उपयोग करती हैं। फ़िक्स्ड URL और SSO चाहने वाले always-on आंतरिक टूल के लिए Cloudflare Tunnel। रीप्ले और एकल कमांड चाहने वाली रोज़ की webhook डीबगिंग के लिए PortPreview। वे टकराते नहीं — बस dev-से-prod चाप के अलग हिस्से संभालते हैं।

यदि आप ngrok या localtunnel भी तौल रहे हैं, वे तुलनाएँ अधिक सीधे प्रासंगिक हो सकती हैं। dev-लूप पक्ष के लिए PortPreview वेटलिस्ट में शामिल हों

अक्सर पूछे जाने वाले प्रश्न

क्या Cloudflare Tunnel PortPreview का प्रतिस्थापन है?
वास्तव में नहीं। Cloudflare Tunnel Cloudflare के edge से सेवा को स्थायी रूप से ऑनलाइन रखने के लिए अनुकूलित है — named tunnel, कस्टम डोमेन, Zero Trust। PortPreview dev लूप के लिए अनुकूलित है — अनुरोध कैप्चर और रीप्ले के साथ एक-कमांड सत्र। वे अलग समस्याएँ हल करते हैं और अच्छी तरह सहअस्तित्व रखते हैं।
क्या Cloudflare Tunnel webhook अनुरोध निरीक्षण समर्थन करता है?
मूल रूप से नहीं। cloudflared बिना अंतर्निहित अनुरोध निरीक्षक के traffic फ़ॉरवर्ड करता है। webhook निरीक्षण या रीप्ले के लिए आपको अलग प्रॉक्सी या logging परत जोड़नी होगी। PortPreview CLI में कैप्चर और रीप्ले शामिल करता है।
क्या मैं त्वरित dev सत्रों के लिए Cloudflare Tunnel उपयोग कर सकता हूँ?
हाँ, quick tunnel मोड (cloudflared tunnel --url localhost:3000) के ज़रिए। बुनियादी एक्सपोज़र के लिए काम का, पर इसमें अनुरोध निरीक्षण, रीप्ले या अतिरिक्त named tunnel सेटअप के बिना स्थिर URL शामिल नहीं।