
OPNsense GUI, API और सिस्टम बैकएंड
OPNsense परियोजना डेवलपर्स को कोड बेस में योगदान शुरू करने के लिए आमंत्रित करती है। अपने स्वयं के उद्देश्यों के लिए या – इससे भी बेहतर – सर्वश्रेष्ठ ओपन सोर्स फ़ायरवॉल बनाने में हमारे साथ शामिल होने के लिए।
बिल्ड प्रक्रिया को इस तरह डिज़ाइन किया गया है कि कोई भी आसानी से कोड बना और लिख सके। नए कोडबेस की मुख्य रूपरेखा यहाँ उपलब्ध है:
https://docs.opnsense.org/development/architecture.html
हमारा लक्ष्य धीरे-धीरे एक नए कोडबेस में विकसित होना है, न कि किसी नई चीज़ में बड़े बदलाव (बिग बैंग) दृष्टिकोण का उपयोग करना।
OPNsense जैसे कार्यशील सॉफ्टवेयर बनाने के लिए आपको स्रोत और उसे बनाने के लिए उपकरणों की आवश्यकता होती है। OPNsense के लिए बिल्ड उपकरण स्वतंत्र रूप से उपलब्ध हैं।
OPNsense बनाने के तरीके पर नोट्स उपकरण रिपॉजिटरी में पाए जा सकते हैं:
https://github.com/opnsense/tools
आप कई तरीकों से परियोजना में योगदान कर सकते हैं, जैसे कार्यक्षमता का परीक्षण करना, बग रिपोर्ट भेजना या सीधे GitHub के माध्यम से पुल रिक्वेस्ट बनाना। किसी भी प्रकार की सहायता का हमेशा स्वागत है!
आप CONTRIBUTING.md पर योगदान के बारे में अधिक जान सकते हैं।
OPNsense हमेशा 2-क्लॉज BSD लाइसेंस के तहत उपलब्ध है और रहेगा:
https://opensource.org/licenses/BSD-2-Clause
परियोजना में किए गए प्रत्येक योगदान को उन्हीं शर्तों के तहत लाइसेंस प्राप्त होना चाहिए ताकि OPNsense वास्तव में सभी के लिए स्वतंत्र और सुलभ बना रहे।
रिपॉजिटरी कुछ ऐसे लक्ष्य प्रदान करती है जो या तो tools.git बिल्ड प्रक्रियाओं से जुड़े होते हैं या तेजी से विकास के उद्देश्य से होते हैं।
इस लक्ष्य का उपयोग करके रिपॉजिटरी की वर्तमान स्थिति का एक पैकेज बनाया जा सकता है। इसमें कई पैकेजों की स्थापना की आवश्यकता हो सकती है। विफलता के मामले में लक्ष्य सहायता करने का प्रयास करेगा, उदाहरण के लिए जब किसी लापता फ़ाइल को बाहरी स्थान से लाने की आवश्यकता हो।
पैकेज को अनुकूलित करने के लिए कई विकल्प मौजूद हैं, उदाहरण के लिए:
विकल्प निम्नलिखित रूप में पारित किए जाते हैं:
# make package CORE_NAME=my_new_name
सामान्यतः, विकल्प या तो उपयुक्त डिफ़ॉल्ट पर सेट होते हैं या रनटाइम पर स्वचालित रूप से पता लगाए जाते हैं।
अपडेट वर्तमान शाखा से नवीनतम कमिट्स को अपस्ट्रीम रिपॉजिटरी से खींच लेगा।
अपग्रेड पैकेज बिल्ड चलाएगा और सिस्टम में वर्तमान में स्थापित पैकेज को बदल देगा।
सभी ज्ञात फ़ाइलों के लिए चल रहे सिस्टम से परिवर्तन लाएं।
रिपॉजिटरी पर कई सिंटैक्स जांच चलाएं। GitHub पर पुल रिक्वेस्ट जारी करने से पहले इसकी अनुशंसा की जाती है।
MVC PHP कोड और पायथन पर क्रमशः PSR12 और PEP8 शैली जांच चलाएं।
आसान विकास के लिए आप OPNsense VM का उपयोग करना चाह सकते हैं और os-debug प्लगइन स्थापित कर सकते हैं जो आवश्यक उपकरण प्रदान करेगा।
कोड बेस पर कई स्वचालित सैनिटाइज़र चलाएं।