
"एक बॉक्स में सुरक्षा घटनाएँ!" एक मॉड्यूलर, मेनू-संचालित, क्रॉस-प्लेटफ़ॉर्म उपकरण जो अनुकूलित, समय-विलंबित, वितरित सुरक्षा घटनाओं के निर्माण के लिए है। आसानी से ब्लू और रेड टीम ड्रिल्स और सेंसर/अलर्ट मैपिंग के लिए कस्टम इवेंट चेन बनाएँ। रेड टीमें अपने संचालन का समर्थन और विस्तार करने के लिए डिकॉय घटनाएँ, ध्यान भटकाने वाले तत्व और लालच बना सकती हैं। यथार्थवादी परिदृश्यों का अनुकरण करने और संबंधित नेटवर्क और फ़ाइलसिस्टम कलाकृतियाँ उत्पन्न करने के लिए इवेंट अनुक्रम ("नैरेटिव") बनाएँ।
DumpsterFire Toolset - "Security Incidents In A Box!"
(अद्यतन 05/27/2020: हाँ, मैं 2020 की गर्मियों में अपने सभी Github प्रोजेक्ट्स को Python3 में माइग्रेट करूँगा।)
DumpsterFire Toolset एक मॉड्यूलर, मेनू-संचालित, क्रॉस-प्लेटफॉर्म टूल है जो दोहराने योग्य, समय-विलंबित, वितरित सुरक्षा घटनाओं के निर्माण के लिए है। आसानी से ब्लू टीम ड्रिल और सेंसर / अलर्ट मैपिंग के लिए कस्टम इवेंट चेन बनाएँ। रेड टीमें अपने संचालन को समर्थन और स्केल करने के लिए डिकॉय घटनाएँ, व्यवधान और लालच बना सकती हैं। पेपर टेबलटॉप अभ्यासों को नियंत्रित "लाइव फायर" रेंज इवेंट्स में बदलें। यथार्थवादी परिदृश्यों का अनुकरण करने और संबंधित नेटवर्क और फाइलसिस्टम आर्टिफैक्ट उत्पन्न करने के लिए इवेंट अनुक्रम ("नैरेटिव") बनाएँ।
टूलसेट गतिशील रूप से विस्तार योग्य है, जिससे आप अपने स्वयं के फायर (इवेंट मॉड्यूल) बना सकते हैं और उन्हें टूलसेट फायर के संग्रह में शामिल कर सकते हैं। बस अपना स्वयं का फायर मॉड्यूल लिखें और इसे FireModules निर्देशिका में डालें। DumpsterFire टूलसेट स्टार्टअप पर आपके कस्टम फायर को स्वचालित रूप से पहचान लेगा और उन्हें उपयोग के लिए उपलब्ध कराएगा।
Joe Gervais (TryCatchHCF)
रेड टीमें और ब्लू टीमें आमतौर पर अत्यधिक तनाव में रहती हैं। जो चीज़ गायब है वह है प्रत्येक टीम की क्षमताओं को स्केल करने का एक तरीका, जिससे अधिक प्रभावी रेड टीम गतिविधि और अधिक यथार्थवादी (और सहायक) ब्लू टीम / पर्पल टीम अभ्यास मिल सके। स्वचालन बचाव के लिए आया! DumpsterFire Toolset एक क्रॉस-प्लेटफॉर्म मेनू-संचालित समाधान है जो आपको मॉड्यूलर, श्रृंखलाबद्ध घटनाओं को एक सुसंगत कथा में जोड़कर आसानी से कस्टम सुरक्षा घटनाएँ बनाने की अनुमति देता है। घटनाओं के उन संग्रहों (DumpsterFires) को फिर समय-विलंबित, स्वचालित प्रक्रियाओं के रूप में निष्पादित किया जा सकता है। (बेशक, उन्हें तुरंत भी ट्रिगर किया जा सकता है।)
परिणाम? जब आप मीटिंग में हों या जीवन का आनंद ले रहे हों, तो आपका DumpsterFire अपनी तारीख-समय ट्रिगर के सक्रिय होने की प्रतीक्षा कर रहा होता है। रेड टीम की भागीदारी में, जब आप किसी भूली हुई B2B सर्वर पर उजागर सेवा का शोषण करने में व्यस्त हों, तो आपके क्लोन किए गए और समय-सिंक्रोनाइज़्ड DumpsterFires दूरस्थ सबनेट पर लक्ष्य संगठन के SIEM को रोशन करने में व्यस्त होते हैं, उनकी प्रतिक्रिया टीम को विचलित करते हुए। ब्लू टीम के सदस्य टेबल-टॉप पेपर अभ्यासों को "लाइव फायर" रेंज इवेंट में बदल सकते हैं, जिसमें नियंत्रित, पूर्व-अनुमोदित DumpsterFire इवेंट चेन सेंसर और अलर्ट को ट्रिगर करते हैं, और अपने विश्लेषकों को उनके वास्तविक परिचालन वातावरण का उपयोग करके प्रशिक्षित कर सकते हैं। पर्पल टीम संचालन अब व्यवस्थित, दोहराने योग्य इवेंट चेन निष्पादित कर सकते हैं ताकि उनके सेंसर और अलर्टिंग स्थिति का लगातार मानचित्रण किया जा सके। आप अपनी टीमों का परीक्षण और प्रशिक्षण करने, खतरे के क्षेत्र से आगे निकलने और सुरक्षा आकस्मिकताओं के लिए तैयार रहने के लिए नए परिदृश्य उत्पन्न कर सकते हैं।
कभी सोचा है कि आपकी ब्लू टीम आपके आंतरिक नेटवर्क पर Mirai बॉट गतिविधि पर कैसे प्रतिक्रिया देगी? अब आप पता लगा सकते हैं! (चिंता न करें, Mirai बॉट फायर मॉड्यूल पिवट नहीं करता है, लेकिन यह लक्ष्य नेटवर्क पर टेलनेट सत्रों को ब्रूट-फोर्स करने के लिए समान उपयोगकर्ता नाम और पासवर्ड का उपयोग करता है।)
क्या आपके पास रेड टीम नहीं है लेकिन आप चाहते हैं कि आपके सभी SOC शिफ्ट टीमों के खिलाफ नियंत्रित, दोहराने योग्य, अनुकूलित ड्रिल चलाने का एक आसान तरीका हो? हो गया!
क्या आप चाहते हैं कि आप 7 समय क्षेत्र दूर एक रिमोट टीम के खिलाफ रेड टीम भागीदारी का समर्थन कर सकें, बिना सुबह 3:00 बजे उठे? वह स्नूज़ बटन दबाएँ!
कभी अपने वार्षिक साइबर युद्ध अभ्यास के दौरान एक साथ अपने सभी विरोधियों के सिस्टम को रिक्रोल करना चाहा है? "Never gonna let you down!"
नीचे नमूना DumpsterFires देखें। और निश्चित रूप से Shenanigans अनुभाग।
मेरी CactusCon 2017 स्लाइड्स (प्रोजेक्ट में शामिल) देखें। स्लाइड्स अपने आप में पूर्ण हैं, पृष्ठभूमि, दृष्टिकोण, विशिष्ट उपयोग मामले, और बहुत कुछ प्रदान करती हैं। वे सब कुछ संदर्भ में रखेंगी, और आपको सुलाने भी नहीं देंगी। जब तक कि वे आपको सुला न दें, उस स्थिति में आपको शायद वैसे भी आराम की आवश्यकता थी, तो वास्तव में हम सभी यहाँ से आगे आते हैं।
DumpsterFire एक तारीख-समय-मोहरबंद इवेंट लॉग बनाता है ताकि रेड- और ब्लू टीमें घटनाओं का समन्वय और ट्रैक कर सकें, उन्हें आपके सेंसर द्वारा पता लगाए गए (या नहीं लगाए गए) और किन अलर्ट ट्रिगर हुए या नहीं, आदि से संबंधित कर सकें। यह टीमों को यह पुष्टि करने की भी अनुमति देता है कि कौन सी घटनाएँ आपके ऑपरेशन / अभ्यास का हिस्सा थीं, सभी को परेशानी से बचाते हुए। सभी तारीख-समय ट्रैकिंग UTC में की जाती है, ताकि आपके वैश्विक संचालन को समय क्षेत्रों और अंतर्राष्ट्रीय तिथि रेखाओं के बीच रूपांतरण की चिंता किए बिना आसानी से सहसंबंधित किया जा सके।
स्वचालित रूप से उत्पन्न तारीख-समय मोहरबंद इवेंट लॉग आपकी भागीदारियों में एक आसान मूल्य वृद्धि भी प्रदान करते हैं। अपने ग्राहक भागीदारियों के लिए DumpsterFires का एक संग्रह बनाएँ, जो उनके हमले की सतहों के अनुरूप हो। अपने संचालन के अंत में, आप पोस्ट-एंगेजमेंट विश्लेषण के लिए अपने ग्राहक को बोनस पर्पल टीम डिलीवरेबल के रूप में लॉग सौंप सकते हैं।
DumpsterFire टूलसेट वर्कफ़्लो को उपयोगकर्ता-अनुकूल और मजबूत बनाने के लिए डिज़ाइन किया गया है। सब कुछ मेनू-संचालित dumpsterFireFactory.py स्क्रिप्ट के भीतर से किया जा सकता है। स्क्रिप्ट लॉन्च करें और टूल आपको चलते-चलते गाइड करेगा। आप मौजूदा फायर मॉड्यूल और सहेजे गए DumpsterFires को ब्राउज़ करके शुरू कर सकते हैं। जब आप अपने स्वयं के DumpsterFires बनाने के लिए तैयार हों, तो टूल आपको काम पूरा करने के लिए वर्कफ़्लो के माध्यम से ले जाएगा। अंत में आपके DumpsterFire को प्रज्वलित करने का समय होगा। अपनी पसंद का DumpsterFire चुनने के बाद, आप DumpsterFire के फायर मॉड्यूल और सेटिंग्स की समीक्षा करेंगे। यदि सब कुछ ठीक लगता है, तो इसे प्रज्वलित करें!
जब आप DumpsterFire बना रहे हों, तो आपके द्वारा शामिल किए जाने वाले सभी फायर मॉड्यूल चुनने के बाद, टूल फायर की सूची के माध्यम से लूप करेगा। यदि किसी फायर में कस्टम सेटिंग्स के लिए विकल्प हैं, तो टूल उस फायर की Configure() विधि को कॉल करेगा ताकि आपको इसकी सेटिंग्स (जैसे लक्ष्य नेटवर्क का IP पता) के लिए संकेत प्रस्तुत कर सके।
एक बार सभी फायर कॉन्फ़िगर हो जाने के बाद, आपको अपने फायर को व्यक्तिगत समय विलंब निर्दिष्ट करने का विकल्प दिया जाएगा। यह DumpsterFire को अपनी घटनाओं की श्रृंखला निष्पादित करते समय वास्तविक संचालन की बेहतर नकल करने की अनुमति देता है। उदाहरण के लिए, पहला फायर विभिन्न हैकिंग वेबसाइटों पर जा सकता है, अगला फायर फिर कुछ सामान्य हैकिंग टूल डाउनलोड करता है, इससे पहले कि तीसरा फायर स्थानीय नेटवर्क को स्कैन करना शुरू करे। यदि यह सब एक दूसरे के सेकंड के भीतर होता है, तो कोई SOC विश्लेषक यह नहीं मानेगा कि यह एक मानव था। उन घटनाओं के बीच कई मिनट या घंटे जोड़कर, आप घटनाओं की अधिक यथार्थवादी श्रृंखला बनाते हैं।
सभी फायर कॉन्फ़िगर होने और वैकल्पिक व्यक्तिगत फायर विलंब निर्दिष्ट होने के बाद, आपको अपने DumpsterFire को नाम देने के लिए कहा जाएगा। रिक्त स्थान या अजीब विशेष वर्णों का उपयोग न करें, केवल अक्षर, संख्या, अंडरस्कोर और हाइफ़न से चिपके रहें।
वोइला! अब आपने अपना पहला DumpsterFire बना लिया है। एक को प्रज्वलित करने का समय!
जब आप DumpsterFire को प्रज्वलित करने के लिए तैयार हों, तो टूल पहले आपको DumpsterFire की सेटिंग्स दिखाएगा। यदि सब कुछ ठीक लगता है, तो आपसे पूछा जाएगा कि क्या आप प्रज्वलित करने से पहले एक तारीख-समय विलंब निर्दिष्ट करना चाहते हैं। सभी तारीख-समय प्रसंस्करण UTC में किया जाता है ताकि आपके DumpsterFire के निष्पादन स्थान की परवाह किए बिना सुसंगत निष्पादन सुनिश्चित हो सके। अन्यथा आप तारीख-समय विलंब को अस्वीकार कर सकते हैं और अंतिम पुष्टि देने के तुरंत बाद निष्पादन शुरू हो जाएगा।
जैसे-जैसे DumpsterFire निष्पादित होता है, आपको प्रत्येक फायर की स्थिति और महत्वपूर्ण घटनाओं पर नियमित तारीख-समय मोहरबंद प्रतिक्रिया दी जाएगी। यह न केवल आपको प्रगति को ट्रैक करने में मदद करता है, बल्कि आपके DumpsterFire की गतिविधियों का एक कालानुक्रमिक रिकॉर्ड भी प्रदान करता है - जो आपकी घटनाओं को उस सामान्य पृष्ठभूमि शोर से समन्वयित और अलग करने में महत्वपूर्ण है जो हर SOC में भरा रहता है। आप अपने संचालन पूरा होने के बाद कालानुक्रमिक रिकॉर्ड अपने बाहरी ग्राहकों को भी सौंप सकते हैं, आपकी गतिविधियों के एक मूल्य वर्धित रिकॉर्ड के रूप में जिसका उपयोग वे अपने सेंसर और अलर्ट सेटिंग्स की समीक्षा करने के लिए कर सकते हैं। यह सब आपकी ओर से बिना किसी अतिरिक्त प्रयास के।
अप्रैल फूल का दिन होता है! साइबर युद्ध खेल या आपके सबसे अच्छे दोस्त का जन्मदिन भी होता है। कुछ परिस्थितियों में थोड़ा अतिरिक्त कुछ चाहिए होता है। अंत में उस नेट युद्ध प्रतियोगिता में अपने प्रतिद्वंद्वी की परिधि में घुसपैठ करें? अपनी जीत को लॉक करते हुए शेनानिगन्स के साथ जश्न मनाएँ! सबसे अच्छा दोस्त गेम नाइट पर अपनी स्क्रीन अनलॉक छोड़ गया? साझा करना देखभाल है! DumpsterFire के शेनानिगन्स आपको अपने ऑपरेशन में कुछ स्वाद जोड़ने देते हैं।
क्या आप सिस्टम का डिफ़ॉल्ट ब्राउज़र खोलना चाहते हैं और उस सभी Rick Astley कमाल को स्ट्रीम करना चाहते हैं? उनके सिस्टम वॉल्यूम को अधिकतम पर सेट करने के बाद? अपनी पसंद का कोई भी URL खोलने के बारे में कैसे? या सिस्टम के शेल उपनामों को सेट करके यह दिखावा करना कि फाइलसिस्टम दूषित है?
dumpsterFireFactory.py - DumpsterFires बनाने, कॉन्फ़िगर करने, शेड्यूल करने और निष्पादित करने के लिए मेनू-संचालित उपकरण
FireModules/ - निर्देशिका जिसमें फायर की उप-निर्देशिकाएँ हैं, प्रत्येक उप-निर्देशिका फायर की एक विशिष्ट श्रेणी है ताकि आपके फायर मॉड्यूल व्यवस्थित रहें। फायर को DumpsterFire में जोड़ा जाता है ताकि घटनाओं और कार्यों की एक श्रृंखला बनाई जा सके।
DumpsterFires/ - निर्देशिका जिसमें आपके DumpsterFires का संग्रह है
igniteDumpsterFire.py - हेडलेस स्क्रिप्ट, उस DumpsterFire के फ़ाइल नाम के साथ कमांड लाइन पर आमंत्रित की जाती है जिसे आप निष्पादित करना चाहते हैं। वितरित DumpsterFires को प्रज्वलित करने के लिए उपयोगी।
testFireModule.py - आपके कस्टम फायर मॉड्यूल की क्लास विधियों के इकाई परीक्षण के लिए उपयोगिता स्क्रिप्ट, डिबगिंग के लिए पूरी DumpsterFire फ़ैक्टरी प्रक्रिया से गुज़रे बिना। अपनी सेटिंग्स जाँचने के लिए एक एकल फायर चलाने के लिए भी उपयोगी। testFireModule.py आपसे कॉन्फ़िगरेशन सेटिंग्स के लिए संकेत देगा जहाँ लागू हो।
__init__.py फ़ाइलें - पायथन को निर्देशिकाओं को पायथन पैकेज युक्त के रूप में व्यवहार करने के लिए आवश्यक, DumpsterFire टूलसेट को फायर मॉड्यूल खोजने और लोड करने की अनुमति देता है।
Python 2.7.x
$ ./dumpsterFireFactory.py
मेनू-संचालित DumpsterFire फ़ैक्टरी स्क्रिप्ट आपको प्रत्येक चरण के माध्यम से मार्गदर्शन करती है, रास्ते में संदर्भ-उपयुक्त मदद के साथ।
हमारे पहले उदाहरण में, हमारे पास एक DumpsterFire है जो या तो SOC ड्रिल या रेड टीम का ध्यान भटकाने वाला हो सकता है। DumpsterFire पहले हैकिंग टूल के लिए Google खोज करता है। अगला फायर विभिन्न हैकिंग वेबसाइटों पर वेब सत्र खोलता है। इसके बाद, एक अनुवर्ती फायर कुछ सामान्य हैकिंग टूल डाउनलोड करता है। फिर सबनेटवर्क को लक्षित करते हुए एक पोर्ट स्कैन होता है, उसके बाद टेलनेट के माध्यम से एकल होस्ट के खिलाफ ब्रूटफोर्स लॉगिन प्रयास होते हैं। अंतिम फायर लिनक्स कमांड की एक श्रृंखला चलाता है। ध्यान दें कि प्रत्येक फायर के बीच, इस DumpsterFire के निर्माता ने कुछ समय विलंब डाले हैं। यह घटनाओं के प्रवाह को अधिक यथार्थवादी बनाता है।
अगले उदाहरण में, पर्पल टीम के सदस्यों ने अपने सेंसर और अलर्टिंग कॉन्फ़िगरेशन का विश्लेषण और मान्य करने में मदद करने के लिए एक DumpsterFire बनाया है। यह DumpsterFire पोर्ट स्कैन की एक कोरियोग्राफ की गई श्रृंखला चलाता है, प्रत्येक पोर्ट और सेवाओं के विभिन्न संग्रहों को लक्षित करता है, और अलग-अलग जांच दरों के साथ भी। उन्होंने प्रत्येक स्कैनिंग फायर के बीच 5 मिनट का विलंब डाला है ताकि प्रत्येक स्कैनिंग फायर से जुड़े ट्रैफ़िक को अलग करना सरल हो सके। जब वे इस DumpsterFire को चलाते हैं, तो वे प्रत्येक फायर की शुरुआत में तारीख-टाइमस्टैम्प भी देखेंगे ताकि फायर की नेटवर्क गतिविधि को अन्य नेटवर्क घटनाओं से अलग करने में मदद मिल सके।
DumpsterFire का मॉड्यूलर डिज़ाइन आपको किसी भी संख्या में इवेंट-चेन कथाएँ बनाने की लचीलापन देता है। कॉन्फ़िगर करने योग्य सेटिंग्स वाले फायर मॉड्यूल आपको लक्ष्य नेटवर्क या सिस्टम आदि सेट करने की अनुमति देते हैं। हालाँकि, कुछ फायर मॉड्यूल ऐसे हैं जो आपको अपने DumpsterFire इवेंट अनुक्रमों का विस्तार करने के लिए तत्काल लचीलापन देते हैं।
कोई नया FireModule वर्ग बनाए बिना, आप अपने DumpsterFires का लाभ उठाने और विस्तार करने के लिए इन मौजूदा "कस्टम" फायर मॉड्यूल का उपयोग कर सकते हैं:
आप इनमें से किसी भी संख्या को अपने DumpsterFire में जोड़ सकते हैं, प्रत्येक अपने स्वयं के कस्टम कार्यों के साथ। उदाहरण के लिए, आप एक पूर्ण, अनुकूलित ब्राउज़िंग कथा बनाने के लिए एक दर्जन 'custom_url.py' फायर मॉड्यूल को एक साथ श्रृंखलाबद्ध कर सकते हैं। फिर आपके पास विभिन्न 'OSCommand/' फायर इंस्टेंस हो सकते हैं जो सिस्टम कमांड निष्पादित करते हैं ताकि घटनाओं की आपकी वांछित कथा को और मजबूत किया जा सके। 'OSCommand/' फायर विशेष रूप से आपको अविश्वसनीय लचीलापन देते हैं। आपके DumpsterFire इवेंट चेन में प्रत्येक व्यक्तिगत फायर होस्ट के OS के लिए उपयुक्त कोई भी शेल कमांड लेता है:
उदाहरण: Linux/Unix (& OSX terminal)
find /home -name '*.bash_history' -exec cat {} ; ; echo "Never gonna give you up" > rickroll.txt ; wall rickroll.txt
DumpsterFire बॉक्स से बाहर उपयोग के लिए तैयार है, लेकिन इसका वास्तविक मूल्य यह है कि आप अपने स्वयं के कस्टम फायर मॉड्यूल बनाकर कितनी आसानी से DumpsterFire के परिदृश्य टूलचेस्ट का विस्तार कर सकते हैं। अपनी विशिष्ट आवश्यकताओं से मेल खाने के लिए फायर मॉड्यूल बनाकर और अनुकूलित करके, आप उन DumpsterFire परिदृश्यों के प्रकारों का तेजी से विस्तार कर सकते हैं जिन्हें आप बना और निष्पादित कर सकते हैं। बस अपना नया फायर मॉड्यूल लिखें और इसे FireModules/ के अंतर्गत किसी मौजूदा निर्देशिका में डालें और DumpsterFire टूलसेट इसे रनटाइम पर स्वचालित रूप से लोड करेगा और इसे उपलब्ध कराएगा।
क्या आप अपने कस्टम फायर मॉड्यूल को पूरी तरह से अपनी स्वयं की श्रेणी में अलग रखना चाहते हैं? आसान! बस FireModules/ के अंतर्गत एक नई निर्देशिका बनाएँ और DumpsterFire टूलसेट स्वचालित रूप से इसका पता लगाएगा और इसे फायर की एक नई श्रेणी के रूप में उपलब्ध कराएगा।
नोट: सुनिश्चित करें कि आपकी नई निर्देशिका में __init__.py नामक एक खाली फ़ाइल है अन्यथा Python पैकेज मैनेजर इसे नहीं ढूँढ पाएगा, और DumpsterFire इसे नहीं देखेगा।
आपका फायर मॉड्यूल FireModule नामक एक वर्ग से विरासत प्राप्त करता है। प्रारंभिक बिंदु के रूप में, आप किसी मौजूदा फायर मॉड्यूल को कॉपी कर सकते हैं। अपने नए फायर से मेल खाने के लिए फ़ाइल नाम और फ़ाइल में सभी क्लासनाम संदर्भों को बदलना सुनिश्चित करें। (यदि आवश्यक हो तो क्लास के कंस्ट्रक्टर विधियों में श्रेणी पथ संदर्भ भी अपडेट करें।)
आवश्यक क्लास विधियाँ:
Configure() - उपयोगकर्ता से इनपुट के लिए संकेत देता है, FireModule के पैरामीटर भरता है
Description() - FireModule का विवरण वाली एक स्ट्रिंग लौटाता है
GetParameters() - फायर के पैरामीटर की एकल स्ट्रिंग लौटाता है
SetParameters( string ) - एक एकल स्ट्रिंग लेता है और फायर के सदस्यों को भरता है
ActivateLogging( boolean ) - फायर के लिए इसकी गतिविधियों का लॉग उत्पन्न करने का फ़्लैग सेट करता है (समीक्षा के लिए बढ़िया) नोट: प्रारंभिक रिलीज़ के लिए, stdout पर लॉगिंग हमेशा चालू रहती है।
Ignite() - फायर की कार्रवाइयाँ निष्पादित करता है
पायथन क्लासेस का परीक्षण करना कष्टप्रद हो सकता है, खासकर जब आप क्लास की प्रत्येक विधि का इकाई परीक्षण करना चाहते हैं, जिससे आपको यह सुनिश्चित करने के लिए एप्लिकेशन के सभी उपयोग मामलों से गुज़रना पड़ता है कि प्रत्येक क्लास विधि सही क्रम में निष्पादित हो। ब्लेह। इसलिए मैंने एक स्क्रिप्ट लिखी और शामिल की है जो आपके नए FireModule-व्युत्पन्न क्लासेस की प्रत्येक विधि को ठीक से आमंत्रित करेगी, जिससे आप डिबगिंग के माध्यम से तेजी से काम कर सकते हैं। आपका स्वागत है। :-) साथ ही अपनी सेटिंग्स का परीक्षण करने, यह देखने आदि के लिए अकेले फायर चलाने का एक शानदार तरीका।
कमांड लाइन पर, testFireModule.py स्क्रिप्ट को अपने कस्टम फायर मॉड्यूल का सापेक्ष फ़ाइलपथ दें। परीक्षण स्क्रिप्ट आपके लिए प्रत्येक आवश्यक FireModule विधि को सही क्रम में कॉल करेगी (सहेजने से पहले कॉन्फ़िगरेशन प्राप्त करना, आदि)। परीक्षण स्क्रिप्ट अपवाद हैंडलिंग का उपयोग नहीं करती है, क्योंकि पायथन केवल तभी उपयोगी त्रुटियाँ देता है (जैसे कि गायब डबल-कोट को इंगित करना) जब यह क्रैश होता है। एक सफल कस्टम फायर की ओर क्रैश और बर्न करें!
मेरे पास वर्तमान में लगभग 30 और फायर मॉड्यूल विकास और डिबगिंग के विभिन्न चरणों में हैं। मैं उन्हें अक्टूबर और नवंबर के दौरान रोल आउट करूँगा। मैं जितने भी बनाता हूँ, मैं दो और बनाना चाहता हूँ, इसलिए अपडेट के लिए इस स्थान पर नज़र रखें।