2 पॉइंट द्वारा GN⁺ 2025-04-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Headscale, Tailscale के कंट्रोल सर्वर फ़ंक्शन को self-host करने के लिए बनाया गया एक open source alternative project है
  • Tailscale एक WireGuard-आधारित आधुनिक VPN solution है, जिससे NAT environment में भी काम करने वाला overlay network बनाया जा सकता है
  • मूल Tailscale Control server proprietary software है, लेकिन Headscale को इसके विकल्प के रूप में स्वतंत्र रूप से install किया जा सकने वाला server software बनाकर विकसित किया गया है
  • Windows, macOS, iOS clients को अभी भी Tailscale GUI की आवश्यकता होती है

Headscale का उद्देश्य और विशेषताएँ

  • Headscale, व्यक्तिगत और छोटे open source संगठनों के उपयोग के लिए केवल एक tailnet (virtual private network) को support करता है
  • यह अपना server चलाना चाहने वाले users और free software enthusiasts के लिए उपयुक्त solution है
  • इसका design scope जानबूझकर सीमित रखा गया है, जिससे maintenance और management आसान रहता है

मुख्य सुविधाएँ

  • client nodes के बीच WireGuard public key exchange
  • हर node के लिए IP address allocation और boundary settings
  • users के बीच machine sharing feature
  • node route advertisement management
  • आधिकारिक feature list यहाँ देखी जा सकती है

समर्थित client operating systems

installation और execution से जुड़ी जानकारी

  • reverse proxy या container-आधारित execution को आधिकारिक रूप से recommend नहीं किया जाता
  • चलाने के तरीके और configuration के लिए आधिकारिक दस्तावेज़ देखें

community और contribution

  • user और developer community Discord channel पर सक्रिय है
  • योगदान करने से पहले CONTRIBUTING.md ज़रूर पढ़ें

development environment और code style

  • development के लिए ज़रूरी मुख्य tools:
    • Go का latest version
    • Buf (Protobuf generator)
    • Nix का उपयोग करके development environment सेट किया जा सकता है (nix develop command)
  • code style:
    • Go code: golangci-lint, golines, gofumpt का उपयोग
    • Proto code: buf, clang-format का उपयोग
    • अन्य files: prettier से format
  • commit से पहले make lint, make fmt से code cleanup करना आवश्यक है

build और test

  • Protobuf code में बदलाव होने पर Go code को फिर से generate करना होगा: make generate
  • test चलाना: make test
  • build:
    • nix build
    • या make build command का उपयोग

अन्य जानकारी

  • 2023 FOSDEM में Headscale पर एक प्रस्तुति दी गई थी: वीडियो देखें
  • project का Tailscale Inc. से सीधा संबंध नहीं है, लेकिन Tailscale के contributors इसमें भाग लेते हैं और code review व दिशा-निर्धारण स्वतंत्र रूप से किया जाता है

1 टिप्पणियां

 
GN⁺ 2025-04-04
Hacker News राय
  • मैं हर कुछ महीनों में इस रिपॉज़िटरी पर फिर से आता हूँ यह देखने के लिए कि Tailnet lock काम कर रहा है या नहीं, या कोई security audit हुआ है या नहीं। दुर्भाग्य से, दोनों में कोई प्रगति नहीं हुई है, इसलिए यह अनिश्चित लगने लगा है कि क्या इस सिस्टम पर इन्फ्रास्ट्रक्चर के मुख्य हिस्से के रूप में भरोसा किया जा सकता है

    • Tailscale SaaS का पूरा आधार यह है कि फ़ायरवॉल के आसपास tunnel बनाया जाए और यूज़र इन tunnels के ज़रिए routing को एक सहज और integrated तरीके से manage कर सकें
    • Headscale ने फ़ायरवॉल को bypass करने और NAT-traversal करने वाले हिस्से को अच्छी तरह हल किया हुआ लगता है। लेकिन सवाल यह है कि क्या यह उस bypass की भरपाई करने लायक पर्याप्त security दे सकता है, या फिर यह सिर्फ local network administrators के काम में बाधा डालने वाला टूल बनकर रह जाएगा
    • Tailscale implementation के लिए, users को यह समझने या मना करने का कोई तरीका दिए बिना कि control server clients को क्या निर्देश दे रहा है, server code का बिल्कुल audit न करना काफ़ी साहसी लगता है
  • अगर आप orchestration server को self-host करने में रुचि रखते हैं, तो Netbird देख सकते हैं। यह टूल काफ़ी मिलता-जुलता है, लेकिन server open source के रूप में उपलब्ध है। इसलिए आप paid version की सभी features के साथ self-hosted control server और एक अच्छा GUI पा सकते हैं

  • अच्छा होगा अगर Headscale instances के बीच peering/federation की अनुमति दे (चाहे ACL rework के बाद ही सही)। मुख्य समस्याओं में से एक address conflict है

    • प्रस्ताव: unique local address (ULA) range में IPv6-only overlay network के लिए समर्पित हुआ जाए, और बाकी 121 bits को 20 bits device addresses (~10 लाख) और 101 bits server के public key hash में बाँटा जाए। दूसरे instances की public keys जोड़ें और policy व ACL का उपयोग करके nodes के बीच communication manage करें
    • मुझे यह विचार अच्छा लगता है, लेकिन जब मैंने 2023 में यह मुद्दा उठाया था, तो maintainer kradalby ने कहा था कि यह scope के बाहर है GitHub issue लिंक
  • project name, Headscale, को title में जोड़ा जाना चाहिए

    • Headscale कई बार HN पर आ चुका है
  • सोच रहा हूँ कि क्या यह Plan 9 पर चलता है

  • मुझे Headscale बहुत पसंद है। हमने इसे production में लगाया है और यह बहुत अच्छा रहा

  • मैं सोच रहा हूँ कि अगर Tailscale coordination server compromise हो जाए और tailnet lock enabled हो, तो मेरे devices के compromise होने का जोखिम कितना है

  • कई use cases (mobile access, macOS पर GUI) में official Tailscale client, control server सेट करने की क्षमता पर निर्भर करता है

    • अगर Tailscale में कभी अनिवार्य feature reduction शुरू होती है, तो यह क्षमता गायब हो जाएगी
    • मैं यह एक ऐसे Tailscale customer के रूप में कह रहा हूँ जो अभी बहुत संतुष्ट है, लेकिन पहले दूसरी कंपनियों द्वारा acquisition या VC funding खत्म हो जाने के कारण कई बार निराश हो चुका है
  • मैं जानना चाहता हूँ कि wireguard + openwrt setup की तुलना में यह setup कौन-सी अतिरिक्त value देता है

  • यह कथन कि "Tailscale implementation के लिए, users को यह समझने या मना करने का कोई तरीका दिए बिना कि control server clients को क्या निर्देश दे रहा है, server code का बिल्कुल audit न करना काफ़ी साहसी लगता है" इस बात की ओर इशारा करता है कि Headscale control server का source code public कर देना भर ही users के लिए "यह समझने या मना करने" की पर्याप्त शर्त नहीं है कि control server clients को क्या निर्देश दे रहा है

    • Headscale control server का उपयोग करने पर, users "control server clients को जो कुछ भी निर्देश दे रहा है उसे समझ या मना कर सकते हैं"। यह source code को पढ़कर, edit करके और compile करके हासिल किया जा सकता है
    • Tailscale control server का उपयोग करने पर, users केवल उसी हद तक "control server clients को क्या निर्देश दे रहा है, उसे समझ या मना कर सकते हैं" जितनी Tailscale company अनुमति देती है। users को source code edit या compile करने की अनुमति नहीं है
    • हर user यह विकल्प नहीं चाहता कि वह अपने उपयोग के third-party software को पढ़ सके, edit कर सके और compile कर सके। कुछ users Silicon Valley VC funding से चलने वाली किसी कंपनी के लगातार आश्वासन पर निर्भर रहने से संतुष्ट हो सकते हैं। जो users 100% open source project चाहते हैं, उनके लिए Headscale उपयोगी हो सकता है
    • Headscale के लेखक Tailscale coordination server को "मूल रूप से public keys के लिए shared Dropbox" कहते हैं