
cloudflared v2026.8.1
क्लाउडफ्लेयर टनल के लिए क्लाइंट जो जीरो ट्रस्ट आर्किटेक्चर के माध्यम से ओरिजिन के लिए सुरक्षित आउटबाउंड-ओनली कनेक्शन सक्षम करता है। फायरवॉल परिवर्तनों के बिना HTTP, WebSocket, SSH और RDP ट्रैफिक को सपोर्ट करता है, एक्सेस कंट्रोल और प्रमाणीकरण प्रदान करता है।
Cloudflare Tunnel क्लाइंट
Cloudflare Tunnel के लिए कमांड-लाइन क्लाइंट शामिल है, एक टनलिंग डेमन जो Cloudflare नेटवर्क से आपके ओरिजिन तक ट्रैफ़िक को प्रॉक्सी करता है।
यह डेमन Cloudflare नेटवर्क और आपके ओरिजिन (जैसे कि एक वेबसर्वर) के बीच बैठता है। Cloudflare क्लाइंट अनुरोधों को आकर्षित करता है और उन्हें आपके पास
इस डेमन के माध्यम से भेजता है, बिना आपको अपने फ़ायरवॉल में छेद करने की आवश्यकता के --- आपका ओरिजिन जितना संभव हो बंद रह सकता है।
विस्तृत दस्तावेज़ीकरण Cloudflare Docs के Cloudflare Tunnel अनुभाग में पाया जा सकता है।
आपके ओरिजिन तक प्रॉक्सी करने से संबंधित सभी उपयोग cloudflared tunnel help के अंतर्गत उपलब्ध हैं।
आप TCP ट्रैफ़िक के लिए Layer 4 पर (अर्थात, HTTP/websocket नहीं) Tunnel ओरिजिन (जो cloudflared tunnel से सुरक्षित हैं) तक पहुँचने के लिए
cloudflared का उपयोग भी कर सकते हैं, जो SSH, RDP आदि जैसे उपयोग मामलों के लिए प्रासंगिक है।
ऐसे उपयोग cloudflared access help के अंतर्गत उपलब्ध हैं।
इसके बजाय आप क्लाइंट साइड पर cloudflared access कमांड की आवश्यकता के बिना Layer 4 ट्रैफ़िक के लिए Tunnels के पीछे निजी ओरिजिन तक पहुँचने के लिए
WARP क्लाइंट का उपयोग कर सकते हैं।
शुरू करने से पहले
Cloudflare Tunnel का उपयोग करने से पहले, आपको Cloudflare डैशबोर्ड में कुछ चरण पूरे करने होंगे: आपको अपने Cloudflare खाते में एक वेबसाइट जोड़नी होगी। ध्यान दें कि आज वेबसाइट के बिना Tunnel का उपयोग करना संभव है (जैसे कि निजी रूटिंग के लिए), लेकिन विरासत कारणों से यह आवश्यकता अभी भी आवश्यक है:
cloudflared इंस्टॉल करना
डाउनलोड स्टैंडअलोन बाइनरी, एक Docker इमेज, और Debian, RPM, और Homebrew पैकेज के रूप में उपलब्ध हैं। आप cloudflared GitHub रिपॉज़िटरी पर यहाँ रिलीज़ भी पा सकते हैं।
- आप Homebrew के माध्यम से या नवीनतम Darwin amd64 रिलीज़ डाउनलोड करके macOS पर इंस्टॉल कर सकते हैं
- Linux के लिए बाइनरी, Debian, और RPM पैकेज यहाँ पाए जा सकते हैं
cloudflaredकी एक Docker इमेज DockerHub पर उपलब्ध है- आप Windows मशीनों पर यहाँ दिए गए चरणों के साथ इंस्टॉल कर सकते हैं
- सोर्स से बिल्ड करने के लिए, नीचे Development अनुभाग में उल्लिखित go का आवश्यक संस्करण इंस्टॉल करें। फिर आप
make cloudflaredचला सकते हैं।
Cloudflare Tunnel के लिए उपयोगकर्ता दस्तावेज़ीकरण https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/ पर पाया जा सकता है
Tunnels बनाना और ट्रैफ़िक रूटिंग
इंस्टॉल होने के बाद, आप cloudflared को अपने Cloudflare खाते में प्रमाणित कर सकते हैं और अपने ओरिजिन तक ट्रैफ़िक परोसने के लिए Tunnels बनाना शुरू कर सकते हैं।
- इन निर्देशों के साथ एक Tunnel बनाएँ
- उस Tunnel तक ट्रैफ़िक रूट करें:
- Cloudflare में सार्वजनिक DNS रिकॉर्ड के माध्यम से
- या Cloudflare Load Balancer द्वारा निर्देशित एक सार्वजनिक होस्टनेम के माध्यम से
- या WARP क्लाइंट निजी ट्रैफ़िक से
TryCloudflare
Cloudflare पर वेबसाइट जोड़ने से पहले Cloudflare Tunnel का परीक्षण करना चाहते हैं? आप यहाँ उपलब्ध दस्तावेज़ का उपयोग करके TryCloudflare के साथ ऐसा कर सकते हैं।
Breaking Changes
CLI flags, environment variables, configuration keys, या commands को हटाना एक breaking change है। ऐसे removals की घोषणा उन्हें हटाने वाले release से पहले Cloudflare Tunnel changelog में की जानी चाहिए।
Deprecated versions
Cloudflare वर्तमान में cloudflared के उन versions का समर्थन करता है जो सबसे हालिया release के एक वर्ष के भीतर हैं। feature availability से असंबंधित breaking changes पेश किए जा सकते हैं जो एक वर्ष से अधिक पहले जारी किए गए versions को प्रभावित करेंगे। आप cloudflared को अपग्रेड करने के बारे में हमारे developer documentation में अधिक पढ़ सकते हैं।
उदाहरण के लिए, जनवरी 2023 तक Cloudflare cloudflared version 2023.1.1 से cloudflared 2022.1.1 तक का समर्थन करेगा।
Development
Requirements
- GNU Make
- capnp
- go >= 1.27.3
- Optional tools:
Updating Go
go.mod में go directive को पूर्ण major.minor.patch version निर्दिष्ट करना चाहिए
(उदाहरण के लिए, go 1.27.3)। patch version को न छोड़ें, जिसमें .0 releases भी शामिल हैं।
यह वह सटीक Go version है जिसका उपयोग cloudflared को build और test करने के लिए किया जाता है: Makefile
इससे GOTOOLCHAIN=go<version> export करता है, इसलिए जब भी installed Go पुराना या नया हो, make उस toolchain को डाउनलोड करता है। जिन tools को make go run pkg@version के साथ चलाता है, वे भी
इस toolchain का उपयोग करते हैं। go.mod में toolchain directive को अनदेखा किया जाता है; इसे न जोड़ें।
इसके बजाय installed Go का उपयोग करने के लिए, make <target> GOTOOLCHAIN=local चलाएँ।
Go को अपग्रेड करते समय, go directive और .gitlab-ci.yml, .ci/image/Dockerfile, .github/workflows/check.yaml, और
Dockerfiles में सभी संबंधित version references को अपडेट करें। मिलान के लिए .ci/linux.gitlab-ci.yml में Linux CI builder image और digest को अपडेट करें; इसका golangVersion major/minor image family चुनता है। macOS और
Windows पर mismatch से केवल toolchain download का खर्च आता है। जो builds GOTOOLCHAIN=local का उपयोग करते हैं, वे तब विफल होते हैं जब उनका Go go.mod से पुराना हो, और यदि नया हो तो अपने स्वयं के Go का उपयोग करते हैं।
Build
cloudflared को स्थानीय रूप से build करने के लिए make cloudflared चलाएँ
Test
स्थानीय रूप से tests चलाने के लिए make test चलाएँ
Linting
कोड को format करने और अच्छी code quality बनाए रखने के लिए make fmt और make lint का उपयोग करें
Mocks
interfaces में परिवर्तन के बाद आपको mocks को फिर से generate करने की आवश्यकता हो सकती है, इसलिए make mocks चलाएँ
Git Hooks
CI errors से बचने के लिए, आप pre-push hooks install कर सकते हैं जो प्रत्येक push से पहले linting और tests चलाते हैं:
make install-hooks
यह git को .githooks/ में मौजूद hooks का उपयोग करने के लिए कॉन्फ़िगर करेगा जो प्रत्येक push से पहले make fmt-check lint test चलाते हैं।