
VPN टनल के माध्यम से अस्थायी नेटवर्क नेमस्पेस के साथ एप्लिकेशन चलाएँ

vopono एक टूल है जो अस्थायी नेटवर्क नेमस्पेस के माध्यम से VPN टनल के ज़रिए एप्लिकेशन चलाने के लिए है। यह आपको अपने मुख्य कनेक्शन को सामान्य रखते हुए, एक साथ अलग-अलग VPN के माध्यम से केवल कुछ एप्लिकेशन चलाने की अनुमति देता है।
vopono में Wireguard और OpenVPN दोनों के लिए बिल्ट-इन किलस्विच शामिल हैं।
वर्तमान में Mullvad, AzireVPN, MozillaVPN, ProtonVPN, iVPN,
NordVPN, AirVPN और PrivateInternetAccess सीधे समर्थित हैं, साथ ही कस्टम
कॉन्फ़िगरेशन फ़ाइलें भी --custom तर्क के साथ समर्थित हैं।
Cloudflare Warp भी समर्थित है।
कस्टम कनेक्शन के लिए OpenConnect और OpenFortiVPN प्रोटोकॉल भी समर्थित हैं (जैसे एंटरप्राइज़ VPN के लिए)। अधिक विवरण के लिए vopono उपयोगकर्ता मार्गदर्शिका देखें।
स्क्रीनशॉट जिसमें firefox, google-chrome-stable और lynx सभी अलग-अलग VPN कनेक्शन के माध्यम से चलाए जा रहे हैं:

| प्रदाता | OpenVPN समर्थन | Wireguard समर्थन |
|---|---|---|
| Mullvad | ❌ | ✅ |
| AzireVPN | ❌ | ✅ |
| iVPN | ✅ | ✅ |
| PrivateInternetAccess | ✅ | ✅* |
| ProtonVPN | ✅** | ✅*** |
| MozillaVPN | ❌ | ✅ |
| NordVPN | ✅ | ❌ |
| AirVPN | ✅ | ✅ |
| Cloudflare Warp**** | ❌ | ❌ |
| स्वयं होस्ट (--custom) | ✅ | ✅ |
* पोर्ट फ़ॉरवर्डिंग --port-forwarding विकल्प और --port-forwarding-callback के साथ समर्थित है, जो पोर्ट रीफ़्रेश होने पर एक कमांड चलाता है।
** vopono sync के माध्यम से OpenVPN कॉन्फ़िग फ़ाइलें जनरेट करने के प्रमाणीकरण निर्देशों के लिए उपयोगकर्ता मार्गदर्शिका देखें। आपको AUTH-xxx=yyy प्रारूप का प्रमाणीकरण हेडर कॉपी करना होगा, जहाँ yyy आपके वेब ब्राउज़र में लॉग इन होने पर उसी अनुरोध में x-pm-uid हेडर का मान है।
*** ProtonVPN के लिए आप विशिष्ट Wireguard कॉन्फ़िग फ़ाइलें जनरेट और डाउनलोड
कर सकते हैं, और उन्हें कस्टम प्रदाता कॉन्फ़िग के रूप में उपयोग कर सकते हैं। विवरण के लिए उपयोगकर्ता मार्गदर्शिका देखें।
पोर्ट फ़ॉरवर्डिंग OpenVPN और Wireguard दोनों के लिए --port-forwarding तर्क के साथ समर्थित है।
Wireguard के साथ कस्टम कॉन्फ़िग का उपयोग करने हेतु, उपयोग की जाने वाली पोर्ट फ़ॉरवर्डिंग कार्यान्वयन को --custom-port-forwarding के साथ निर्दिष्ट किया जाना चाहिए
(अर्थात --provider custom --custom xxx.conf --protocol wireguard --custom-port-forwarding protonvpn के साथ)। natpmpc स्थापित होना चाहिए।
OpenVPN के लिए ध्यान दें कि आपको अपने OpenVPN उपयोगकर्ता नाम में +pmp जोड़कर OpenVPN कॉन्फ़िग फ़ाइलें जनरेट करनी होंगी, और ऐसे सर्वर चुनने होंगे जो इस सुविधा का समर्थन करते हैं
(जैसे इस लेखन के समय, Romania के सर्वर करते हैं)। निर्धारित पोर्ट फिर उस टर्मिनल पर प्रिंट किया जाता है जहाँ vopono लॉन्च किया गया था - जिन एप्लिकेशन को इसकी आवश्यकता है, उनमें इसे सेट किया जाना चाहिए।
पोर्ट को एक कस्टम स्क्रिप्ट को भी पास किया जा सकता है, जो --port-forwarding-callback तर्क के
माध्यम से नेटवर्क नेमस्पेस के भीतर निष्पादित की जाएगी।
**** Cloudflare Warp अपना स्वयं का प्रोटोकॉल उपयोग करता है। प्रदाता और प्रोटोकॉल दोनों को warp पर सेट करें।
ध्यान दें कि आपको पहले sudo warp-cli registration new के साथ पंजीकरण करना होगा, फिर इसे vopono के बाहर sudo warp-svc और sudo warp-cli connect और sudo warp-cli debug connectivity-check disable के साथ एक बार चलाना होगा - फिर sudo warp-cli disconnect चलाए बिना sudo warp-svc को बंद करें ताकि यह चलने पर स्वतः कनेक्ट हो जाए।
कृपया vopono के साथ प्रयास करने से पहले सत्यापित करें कि यह पहले काम करता है।
AirVPN पोर्ट फ़ॉरवर्डिंग एक प्रदाता क्षमता के रूप में समर्थित है, लेकिन फ़ॉरवर्ड किए गए पोर्ट वर्तमान में AirVPN के क्लाइंट क्षेत्र में कॉन्फ़िगर किए जाने चाहिए; vopono स्वचालित रूप से AirVPN खाता पोर्ट का दावा या टॉगल नहीं करता है।
VPN प्रदाता कॉन्फ़िगरेशन फ़ाइलें सेट करें:
$ vopono sync
ध्यान दें कि नए Wireguard कीपेयर बनाते और अपलोड करते समय उनके उपयोग योग्य होने में थोड़ी देरी हो सकती है (उदाहरण के लिए Mullvad पर लगभग 30-60 सेकंड)।
नॉर्वे के एक सर्वर पर AzireVPN Wireguard कनेक्शन के माध्यम से Firefox चलाएँ:
$ vopono exec --provider azirevpn --server norway firefox
आपको vopono को अपने स्वयं के उपयोगकर्ता के रूप में चलाना चाहिए (sudo का उपयोग नहीं करते हुए) क्योंकि यह जहाँ आवश्यक हो विशेषाधिकार वृद्धि (privilege escalation) को संभालेगा। systemd सेवा के रूप में चलाने आदि के अधिक विवरण के लिए उपयोगकर्ता मार्गदर्शिका देखें।
बेहतर अनुभव के लिए, विशेषाधिकार प्राप्त रूट डेमन चलाएँ और vopono को अपने सामान्य उपयोगकर्ता के रूप में उपयोग करते रहें। यदि डेमन चल रहा है तो CLI स्वचालित रूप से exec अनुरोधों को उस पर अग्रेषित करता है।
sudo systemctl enable --now voponosudo vopono daemonsudo vopono daemon start है; इसकी जाँच
vopono daemon status --json से करें।vopono exec --provider mullvad --server se firefoxकॉपी करने के लिए तैयार systemd यूनिट के लिए USERGUIDE.md देखें।
vopono 255 तक अलग-अलग नेटवर्क नेमस्पेस संभाल सकता है (अर्थात विभिन्न VPN सर्वर कनेक्शन - यदि आपका VPN प्रदाता इसकी अनुमति देता है)। समान सर्वर उपसर्ग और VPN प्रदाता के साथ लॉन्च किए गए कमांड समान नेटवर्क नेमस्पेस साझा करेंगे।
डिफ़ॉल्ट कॉन्फ़िगरेशन विकल्प ~/.config/vopono/config.toml फ़ाइल में
सहेजे जा सकते हैं, उदाहरण के लिए:
firewall = "NfTables"
provider = "Mullvad"
protocol = "Wireguard"
server = "usa-us22"
ध्यान दें कि मान केस-सेंसिटिव हैं।
अधिक विस्तृत उपयोग निर्देशों (डेमन और सर्वर संभालने सहित) के लिए vopono उपयोगकर्ता मार्गदर्शिका देखें।
अपने पसंदीदा AUR हेल्पर के साथ vopono-git पैकेज स्थापित करें।
$ paru -S vopono-git
$ vopono sync
वैकल्पिक रूप से, यदि आप स्रोत से संकलन नहीं करना चाहते हैं तो
vopono-bin पैकेज का उपयोग करें।
रिलीज़ पेज से vopono_x.y.z_armhf.deb पैकेज डाउनलोड और इंस्टॉल करें:
$ sudo dpkg -i vopono_0.2.1_armhf.deb
आपको OpenVPN स्थापित करने की आवश्यकता होगी (Raspbian रिपॉज़िटरी में उपलब्ध):
$ sudo apt install openvpn
फिर आप vopono का उपयोग ऊपर बताए अनुसार कर सकते हैं (ध्यान दें कि Chromium बाइनरी
chromium-browser है):
$ vopono sync --protocol openvpn protonvpn
$ vopono exec --provider protonvpn --server sweden chromium-browser
Raspbian पर OpenVPN के साथ vopono का स्क्रीनशॉट:

ध्यान दें कि Wireguard Raspbian रिपॉज़िटरी में नहीं है, इसलिए इसे स्थापित करना
आसान नहीं है। आप इसे आज़माने के लिए इस मार्गदर्शिका का अनुसरण कर सकते हैं, लेकिन ध्यान दें कि
wg उपलब्ध कराने के लिए आपको न केवल Wireguard और wireguard-tools स्थापित करने होंगे,
बल्कि यह सुनिश्चित करने के लिए linux-headers भी स्थापित करने होंगे कि यह सही ढंग से काम करे
(अर्थात कनेक्शन स्थापित करने का प्रयास करते समय आपको केवल
Protocol not supported त्रुटियाँ न मिलें)।
यदि आप अपनी रास्पबेरी पाई का उपयोग privoxy या transmission-daemon आदि चलाने के लिए करना चाहते हैं, तो पोर्ट फ़ॉरवर्डिंग और डेमन व सर्वर के साथ vopono का उपयोग करने के विवरण के लिए उपयोगकर्ता मार्गदर्शिका देखें।
रिलीज़ पेज पर दिया गया deb पैकेज स्थापित करें।
रिलीज़ पेज पर दिया गया rpm पैकेज स्थापित करें (सही संस्करण चुनें)।
मुख्य रिपॉज़िटरी से vopono स्थापित करें।
$ emerge -av net-vpn/vopono
या तो रिलीज़ पेज पर संकलित बाइनरी का उपयोग करें, या नीचे दस्तावेज़ित अनुसार Cargo के साथ स्रोत से स्थापित करें।
दिया गया इंस्टॉल स्क्रिप्ट चलाएँ: install.sh - यह रिपॉज़िटरी का cargo install करेगा और कॉन्फ़िगरेशन फ़ाइलों को
~/.config/vopono/ में कॉपी करेगा।
ध्यान दें कि न्यूनतम समर्थित Rust संस्करण 1.85 है (edition 2024 के लिए आवश्यक)। आप अपना संस्करण इसके साथ जाँच सकते हैं:
$ rustc --version
gnome-terminal नेटवर्क नेमस्पेस में नहीं चलेगा -
समस्या #48 देखेंtransmission-daemon चलाने के लिए) vopono को रूट के रूप में चलाने पर सही ढंग से
काम नहीं करती है - समस्या #84 देखेंvopono GPL संस्करण 3.0 (या उससे ऊपर) के तहत लाइसेंस प्राप्त है, LICENSE फ़ाइल या https://www.gnu.org/licenses/gpl-3.0.en.html देखें
vopono, एस्पेरांतो में VPN अक्षरों का उच्चारण है।
Se vi ankaŭ parolas Esperanton, bonvolu serĉi min en la kanalo de Discord de Rust Programming Language Community.
जब तक आप स्पष्ट रूप से अन्यथा न कहें, आपके द्वारा कार्य में शामिल करने के लिए जानबूझकर प्रस्तुत किया गया कोई भी योगदान, बिना किसी अतिरिक्त शर्तों या नियमों के, GPLv3 (या उससे ऊपर) के तहत लाइसेंस प्राप्त होगा।
MozillaVPN API की जाँच के लिए NilsIrl के MozWire को बहुत धन्यवाद।