इस प्रोजेक्ट के बारे में
Headscale, Tailscale नियंत्रण सर्वर का एक ओपन-सोर्स, सेल्फ़-होस्टेड कार्यान्वयन है। Tailscale एक आधुनिक VPN है जो WireGuard पर बना है और NAT traversal का उपयोग करके कंप्यूटरों के बीच एक ओवरले नेटवर्क के रूप में कार्य करता है। हालाँकि Tailscale का अधिकांश भाग ओपन-सोर्स है, नियंत्रण सर्वर ओपन-सोर्स नहीं है; Headscale इस अंतर को भरता है।
नियंत्रण सर्वर Tailscale नेटवर्क के नोड्स के बीच WireGuard सार्वजनिक कुंजियों के लिए विनिमय बिंदु के रूप में कार्य करता है। यह क्लाइंट IP पते निर्दिष्ट करता है, उपयोगकर्ताओं के बीच सीमाएँ बनाता है, उपयोगकर्ताओं के बीच मशीन साझाकरण सक्षम करता है, और नोड्स के विज्ञापित मार्गों को उजागर करता है। Tailnet वह निजी नेटवर्क है जिसे Tailscale किसी उपयोगकर्ता या संगठन को आवंटित करता है।
डिज़ाइन लक्ष्य: Headscale का उद्देश्य सेल्फ़-होस्टर्स और शौकीनों को उनके प्रोजेक्ट्स और प्रयोगशालाओं के लिए एक ओपन-सोर्स सर्वर प्रदान करना है। यह जानबूझकर एक संकीर्ण दायरा लागू करता है — एक एकल tailnet — जो व्यक्तिगत उपयोग या छोटे ओपन-सोर्स संगठन के लिए उपयुक्त है।
यह परियोजना Tailscale Inc. से संबद्ध नहीं है, हालाँकि एक सक्रिय अनुरक्षक Tailscale द्वारा नियोजित है और उसे कार्य घंटों के दौरान योगदान करने की अनुमति है; उन योगदानों की समीक्षा अन्य अनुरक्षकों द्वारा की जाती है। अनुरक्षक सामूहिक रूप से परियोजना की दिशा निर्धारित करते हैं, सेल्फ़-होस्टर्स, उत्साही और शौकीनों के समुदाय की सेवा के सिद्धांत के साथ, परियोजना को स्थायी बनाए रखते हुए।
स्थिर और विकास दोनों संस्करणों के लिए दस्तावेज़ प्रकाशित किए जाते हैं, और उपयोगकर्ताओं को सलाह दी जाती है कि वे अपने जारी संस्करण से मेल खाने वाले GitHub टैग का चयन करें, क्योंकि मुख्य शाखा में अजारी परिवर्तन हो सकते हैं। मुख्य से विकास बिल्ड कंटेनर छवियों और बाइनरी के रूप में उपलब्ध हैं। परियोजना नोट करती है कि वह Headscale को चलाने के लिए रिवर्स प्रॉक्सी और कंटेनरों के उपयोग का समर्थन या प्रोत्साहन नहीं करती है। nix/ निर्देशिका में एक NixOS मॉड्यूल उपलब्ध है।
योगदान के लिए नवीनतम Go और Buf (Protobuf जनरेटर) की आवश्यकता होती है। nix develop के माध्यम से विकास वातावरण स्थापित करने के लिए Nix की सिफारिश की जाती है, जो उपकरण स्थापित करता है और अनुरक्षकों के वातावरण से मेल खाने वाला शेल प्रदान करता है। कोड शैली नियमों में Go के लिए golangci-lint, golines और gofumpt शामिल हैं; Protobuf के लिए buf और clang-format; दस्तावेज़ों के लिए mdformat; और अन्य फ़ाइलों के लिए prettier। परीक्षण make test के साथ चलते हैं और निर्माण make build के साथ होता है; Protobuf परिवर्तनों के लिए make generate की आवश्यकता होती है। परियोजना एक AI नीति और योगदान मार्गदर्शिका भी प्रकाशित करती है, और एक Discord समुदाय बनाए रखती है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.