
WireGuard VPN टनलों को कॉन्फ़िगर करने के लिए क्रॉस-प्लेटफ़ॉर्म कमांड-लाइन टूल, जो wg और wg-quick के माध्यम से कुंजी जनरेशन, पीयर प्रबंधन और त्वरित इंटरफ़ेस सेटअप प्रदान करते हैं।
यह WireGuard
टनलों के उपयोग और कॉन्फ़िगरेशन के लिए मुख्य यूज़रस्पेस टूलिंग प्रदान करता है, जिसमें
wg(8) और
wg-quick(8)
उपयोगिताएँ शामिल हैं। यह परियोजना Linux, OpenBSD, FreeBSD, macOS, Windows, और
Android का समर्थन करती है।
अधिक जानकारी WireGuard.com पर मिल सकती है।
$ cd src
$ make
एक अच्छे C कंपाइलर और एक स्वस्थ libc के अलावा कोई अन्य निर्भरता नहीं है।
# make install
यह कमांड कई पर्यावरण चरों को ध्यान में रखता है:
PREFIX डिफ़ॉल्ट: /usr
DESTDIR डिफ़ॉल्ट:
BINDIR डिफ़ॉल्ट: $(PREFIX)/bin
LIBDIR डिफ़ॉल्ट: $(PREFIX)/lib
MANDIR डिफ़ॉल्ट: $(PREFIX)/share/man
BASHCOMPDIR डिफ़ॉल्ट: $(PREFIX)/share/bash-completion/completions
RUNSTATEDIR डिफ़ॉल्ट: /var/run
पहला खंड काफी मानक है। दूसरा खंड ऐसा नहीं है:
WITH_BASHCOMPLETION यह तय करता है कि टूल्स के लिए bash completion फ़ाइलें
इंस्टॉल की जाती हैं या नहीं। यह सिर्फ उन लोगों के लिए एक अच्छी चीज़ है जिनके पास bash है।
अगर आपके पास bash नहीं है, या आप इसे नहीं चाहते हैं, तो पर्यावरण चर को
no पर सेट करें। अगर आप इसके उपयोग को बाध्य करना चाहते हैं, भले ही bash-completion
DESTDIR में पता न चले, तो इसे yes पर सेट करें।
WITH_WGQUICK यह तय करता है कि wg-quick(8) स्क्रिप्ट इंस्टॉल की जाती है या नहीं।
यह wg(8)-शैली कॉन्फ़िगरेशन फ़ाइलों से कुछ अतिरिक्त चर पढ़ने के लिए
एक बहुत ही सरल और त्वरित bash स्क्रिप्ट है, और स्वचालित रूप से
इंटरफ़ेस कॉन्फ़िगर करती है। अगर आपके पास bash नहीं है, तो आप शायद यह
बिल्कुल नहीं चाहते हैं। इसी तरह, अगर आपके पास पहले से काम करने वाला नेटवर्क प्रबंधन
उपकरण या कॉन्फ़िगरेशन है, तो आप शायद wg(8) या सीधे
WireGuard API को अपने नेटवर्क मैनेजर में एकीकृत करना चाहेंगे, न कि wg-quick(8) का उपयोग करना।
लेकिन उन लोगों के लिए जो सरल और त्वरित स्क्रिप्ट पसंद करते हैं, यह अच्छी है। अगर आप
इसके उपयोग को बाध्य करना चाहते हैं, भले ही bash DESTDIR में पता न चले, तो इसे
yes पर सेट करें।
WITH_SYSTEMDUNITS यह तय करता है कि systemd यूनिट्स wg-quick(8) के लिए इंस्टॉल होती हैं या नहीं।
अगर आप systemd का उपयोग नहीं करते हैं, तो आप निश्चित रूप से इसे नहीं चाहेंगे, और
इसे no पर सेट करना चाहिए। अगर systemd का स्वतः पता नहीं चलता है, लेकिन आप फिर भी
इसे इंस्टॉल करना चाहते हैं, तो इसे yes पर सेट करें।
अगर आप साधारण make && make install प्रकार के उपयोगकर्ता हैं, तो आप
इन चरों को सेट न करके स्वतः-पता लगाने पर भरोसा करके काम चला सकते हैं। हालाँकि, अगर
आप किसी डिस्ट्रो के लिए पैकेज लिख रहे हैं, तो आप इन्हें स्पष्ट रूप से सेट करना चाहेंगे,
आपकी आवश्यकताओं पर निर्भर करता है।
contrib/contrib/ उपनिर्देशिका में विभिन्न स्क्रिप्ट और उदाहरण हैं। इनमें से अधिकांश
उत्पादन उपयोग के लिए तुरंत उपयोगी नहीं हैं, लेकिन पूर्ण-विशेषताओं वाले उपकरण बनाने के लिए
प्रेरणा प्रदान कर सकते हैं। प्रत्येक निर्देशिका में README देखें।
यह परियोजना GPLv2 के अंतर्गत जारी की गई है।
PKG_CONFIG डिफ़ॉल्ट: pkg-config
WITH_BASHCOMPLETION डिफ़ॉल्ट: [स्वतः-पता लगाना]
WITH_WGQUICK डिफ़ॉल्ट: [स्वतः-पता लगाना]
WITH_SYSTEMDUNITS डिफ़ॉल्ट: [स्वतः-पता लगाना]
DEBUG डिफ़ॉल्ट:
DEBUG यह तय करता है कि yes पर सेट होने पर -g के साथ बिल्ड करना है या नहीं।