- GotaTun Rust में लिखा गया एक WireGuard implementation है, जिसका लक्ष्य तेज, कुशल और स्थिर VPN कनेक्शन देना है
- इसे Cloudflare के BoringTun project को fork करके विकसित किया गया है, और इसमें DAITA व Multihop जैसी Mullvad की privacy features को एकीकृत किया गया है
- मौजूदा wireguard-go में होने वाली crash समस्याओं को हल करने के लिए इसे पहले Android version में लागू किया गया, जिससे crash rate 0.40% → 0.01% तक घट गई
- Rust-आधारित stack पर जाने से FFI complexity और Go runtime instability की समस्याएँ खत्म हुईं, जिससे maintainability और debugging efficiency बेहतर हुई
- Mullvad 2026 में GotaTun को सभी platforms तक विस्तारित करने और security audit व performance improvements की योजना बना रहा है
GotaTun का overview
- GotaTun Mullvad VPN द्वारा विकसित एक Rust-आधारित WireGuard® implementation है, जिसका फोकस तेज़ी, स्थिरता और efficiency पर है
- इसे Cloudflare के BoringTun को fork करके बनाया गया है
- इसका नाम BoringTun और स्वीडन के Göteborg की सुरंग Götatunneln के मेल से बना है
- इसमें DAITA और Multihop जैसी Mullvad की privacy-enhancing features को एकीकृत किया गया है
- performance optimization के लिए Rust की safe multithreading और zero-copy memory strategy का उपयोग किया गया है
- इसे नवंबर 2024 के अंत में Android version पर deploy किया जा चुका है, जबकि अन्य platforms के लिए रिलीज़ 2026 में निर्धारित है
मौजूदा wireguard-go की सीमाएँ
- Mullvad का mobile app कई वर्षों से Go-आधारित wireguard-go का उपयोग करता रहा है
- कई VPN providers इसी implementation का उपयोग करते हैं
- 2024 के मध्य से Mullvad ने DAITA और Multihop support के लिए wireguard-go को fork करके maintain करना शुरू किया
- लेकिन Google Play developer console में रिपोर्ट हुई crashes में से 85% से अधिक wireguard-go में होती थीं
- कुछ समस्याएँ ठीक की गईं, लेकिन कई अब भी बनी हुई हैं
- Rust और Go के बीच FFI (foreign function interface) के उपयोग से complexity और instability पैदा होती थी
- Go runtime का व्यवहार Rust code के भीतर opaque था, और crash होने पर stack trace recovery मुश्किल हो जाती थी
- इससे debugging और long-term maintenance कठिन हो जाते थे
Android पर परिणाम
- GotaTun लागू होने के बाद एक भी crash नहीं हुई
- wireguard-go में होने वाली सभी crashes समाप्त हो गईं
- Android app version 2025.10 (नवंबर के अंत में जारी) के बाद users के अनुभव की crash rate 0.40% → 0.01% तक घट गई
- user feedback में speed improvement और battery usage में कमी भी रिपोर्ट की गई
आगे की योजना
- 2026 की शुरुआत में third-party security audit किए जाने की योजना है
- सभी platforms (desktop, iOS सहित) पर wireguard-go को GotaTun से बदला जाएगा
- performance improvement efforts जारी रहेंगे
- Mullvad ने 2026 को GotaTun expansion का प्रमुख turning point माना है
1 टिप्पणियां
Hacker News टिप्पणियाँ
Pixel 8 पर performance improvement साफ़ महसूस हुआ
पहले wireguard-go 100Mbps भी नहीं निकाल पाता था, लेकिन GotaTun वर्ज़न में 500Mbps से ज़्यादा मिल रहा है
हालांकि एक नए bug की वजह से यह deep sleep mode में नहीं जा पाता, जिससे battery अचानक 10 गुना तेज़ खत्म होने लगती है
Pixel 8 कहीं ज़्यादा powerful है, इसलिए अगर ऐसी समस्या है तो Android की तरफ़ bug होने की संभावना ज़्यादा है
मुझे WireGuard बहुत पसंद है, इसलिए मैंने खुद WrapGuard नाम का एक project बनाया
इसे बिना root permission के app चलाने लायक बनाने के लिए Go में लिखा
मुझे Rust अच्छी तरह नहीं आती, इसलिए सोच रहा हूँ कि firmware या networking software के लिए Rust ज़्यादा उपयुक्त है या नहीं
WrapGuard GitHub लिंक
Rust अपने predictable timing और मज़बूत type system की वजह से ज़्यादा भरोसेमंद है
लेकिन networking software में Go भी काफ़ी अच्छा है, और आख़िर में निष्कर्ष यही है कि “जिस भाषा में आप सहज हैं, वही बेहतर है”
Apple का नया container tool आज़माने की सोच रहा हूँ
उदाहरण के लिए airVPN 5 simultaneous connections की अनुमति देता है, तो अगर इन्हें merge करके traffic को combine किया जा सके तो बढ़िया होगा
अच्छा होगा अगर GotaTun को Tailscale Android app में भी लागू किया जाए। मैं Mullvad access के लिए Tailscale इस्तेमाल करता हूँ
Tailscale टीम Go-आधारित library optimization में काफ़ी माहिर है,
और अप्रैल 2023 में wireguard-go के साथ 10Gbps performance हासिल कर चुकी है
संबंधित ब्लॉग पोस्ट
Go की memory paging समस्या और goroutine की stack overflow रोकथाम से जुड़े मुद्दे दिलचस्प लगे
समझ नहीं आता कि GoString इतना ज़्यादा memory page-in क्यों करता है
issue #6727, issue #7728 देखें
अच्छा होगा अगर WireGuard protocol खुद भी बेहतर हो
अभी इसकी सीमा यह है कि सरकारी या ISP blocking को पार करना मुश्किल है
WireGuard को एक सरल L3 UDP tunnel के रूप में डिज़ाइन किया गया है
अगर यह protocol में ही built-in होतीं तो और अच्छा होता
अगर implementation team यहाँ हो तो मैं पूछना चाहूँगा — बदलावों को BoringTun में upstream क्यों नहीं किया गया?
जितने ज़्यादा implementation होंगे, protocol की stability और reliability उतनी बढ़ेगी
व्यक्तिगत रूप से मैं Cloudflare से ज़्यादा Mullvad पर भरोसा करता हूँ
Obscura VPN ने NepTUN fork पर switch कर लिया है
NepTUN GitHub लिंक
जानना चाहूँगा कि Mullvad ने नया fork क्यों बनाया, और क्या मौजूदा fork के साथ merge करने की कोई योजना है
मुझे लगता है Mullvad, VPN सेवाओं में सबसे भरोसेमंद विकल्प है
लेकिन लोग YouTuber के discount code की तरफ़ ज़्यादा आकर्षित होते हैं
NordVPN इससे बेहतर तरीके से बच निकलता है। उदाहरण के लिए Imgur या UK के भीतर access करते समय Mullvad block हो जाता है
मुझे लगा था कि Android पर WireGuard kernel के अंदर चलता है
मैं wireguard-go के crash root-cause analysis data के बारे में और देखना चाहूँगा
समझना चाहता हूँ कि यह library का bug है या FFI की समस्या
मैं MintFlow app में Go-आधारित proxy code इस्तेमाल नहीं करता
इसकी जगह Rust में कुछ proxy protocols implement करता हूँ
WireGuard के लिए fdio vpp plugin-आधारित C implementation इस्तेमाल करता हूँ
मैंने भी पहले करीब 6 महीने तक vpp के साथ काम किया था, काफ़ी दिलचस्प था