
विविध स्रोतों से उपडोमेन गणना उपकरण जिसमें 50+ संग्रह मॉड्यूल, DNS ब्रूट-फ़ोर्स, निष्क्रिय DNS विश्लेषण, प्रमाणपत्र पारदर्शिता, सर्च इंजन स्क्रैपिंग, और रिकॉनिसेंस के लिए उपडोमेन अधिग्रहण पहचान शामिल है।
👊OneForAll एक शक्तिशाली उपडोमेन संग्रह उपकरण है 📝अंग्रेज़ी दस्तावेज़
📢 कृपया इस दस्तावेज़ को पढ़ने के लिए थोड़ा समय अवश्य लें, इससे आपको OneForAll से शीघ्रता से परिचित होने में मदद मिलेगी!
OneForAll Python 3.6.0 पर विकसित और परीक्षण किया गया है, OneForAll को चलाने के लिए Python 3.6.0 से उच्च संस्करण की आवश्यकता है। Python पर्यावरण स्थापित करने के लिए Python 3 स्थापना मार्गदर्शिका देखें। Python और pip3 संस्करण जांचने के लिए निम्न आदेश चलाएँ:
python -V
pip3 -V
यदि आपको निम्न जैसा आउटपुट दिखाई देता है तो Python पर्यावरण सही है:
Python 3.6.0
pip 19.2.2 from C:\Users\shmilylty\AppData\Roaming\Python\Python36\site-packages\pip (python 3.6)
चूँकि यह परियोजना विकासाधीन है और निरंतर अद्यतन होती रहेगी, कृपया git clone का उपयोग करके नवीनतम कोड रिपॉजिटरी को क्लोन करें, जिससे बाद में अद्यतन करना भी आसान होगा। Releases से डाउनलोड करने की अनुशंसा नहीं की जाती क्योंकि वहाँ संस्करण धीरे-धीरे अद्यतन होते हैं और अद्यतन करना सुविधाजनक नहीं है।
यह परियोजना गिटी (Gitee) पर भी प्रतिबिंबित है, भारतीय उपयोगकर्ताओं के लिए गिटी से क्लोन करने की सलाह दी जाती है क्योंकि यह तेज़ है:
git clone https://gitee.com/shmilylty/OneForAll.git
या:
git clone https://github.com/shmilylty/OneForAll.git
आप pip3 के माध्यम से OneForAll की निर्भरताएँ स्थापित कर सकते हैं। निम्नलिखित Windows सिस्टम में pip3 का उपयोग करके निर्भरताएँ स्थापित करने का उदाहरण है: ध्यान दें: यदि आपका Python3 सिस्टम के Program Files निर्देशिका में स्थापित है, जैसे C:\Program Files\Python36, तो कृपया व्यवस्थापक के रूप में कमांड प्रॉम्प्ट (cmd) चलाएँ और निम्न आदेश निष्पादित करें!
cd OneForAll/
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py --help
अन्य प्लेटफार्मों के लिए कृपया निर्भरता स्थापना देखें। यदि स्थापना के दौरान किसी निर्भरता पुस्तकालय के संकलन में विफलता होती है, तो सामान्य प्रश्न और उत्तर.md में समाधान देखें। यदि समस्या हल नहीं होती है, तो कृपया समूह में शामिल होकर प्रतिक्रिया दें।
परियोजना को अद्यतन करने के लिए निम्न आदेश चलाएँ (/config/setting.py और /config/api.py में किए गए संशोधन संरक्षित रहेंगे):
git stash # स्थानीय संशोधनों को संचित करें
git fetch --all # परियोजना अद्यतन प्राप्त करें
git pull # डाउनलोड और ओवरराइट करें
git stash pop # स्थानीय संशोधन जारी करें
सबसे पहले कॉन्फ़िगरेशन फ़ाइल डाउनलोड करें और संपादित करें, अपने स्वयं के api और व्यक्तिगत सेटिंग्स जोड़ें, और मूल फ़ाइल संरचना बनाए रखें
config
├── api.py
├── default.py
├── __init__.py
├── log.py
└── setting.py
इमेज पुल करें और निष्पादित करें, जहाँ ~/.config को आपकी कॉन्फ़िगरेशन फ़ाइलों वाले फ़ोल्डर के पथ से बदलें
docker pull shmilylty/oneforall
docker run -it --rm -v ~/results:/OneForAll/results -v ~/.config:/OneForAll/config shmilylty/oneforall --target example.com run
पैरामीटर सीधे कमांड के अंत में जोड़ें, परिणाम स्थानीय निर्देशिका ~/results में आउटपुट होंगे। यदि दूसरे स्थान पर सहेजना चाहते हैं, तो स्वयं संशोधित कर सकते हैं
यदि आपने pip3 के माध्यम से निर्भरताएँ स्थापित की हैं, तो निम्न आदेश का उपयोग करके उदाहरण चलाएँ:
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run
हम python3 oneforall.py --target example.com run कमांड को उदाहरण के रूप में लेते हैं। OneForAll डिफ़ॉल्ट पैरामीटर के साथ सामान्य रूप से निष्पादित होने पर results निर्देशिका में संबंधित परिणाम उत्पन्न करेगा:

example.com.csv प्रत्येक मुख्य डोमेन के अंतर्गत उपडोमेन संग्रह परिणाम है।
all_subdomain_result_1583034493.csv OneForAll द्वारा प्रत्येक रन में एकत्रित उपडोमेन का सारांश परिणाम है, जिसमें example.com.csv शामिल है, जो बैच संग्रह परिदृश्यों में सभी परिणाम प्राप्त करने के लिए सुविधाजनक है।
result.sqlite3 SQLite3 परिणाम डेटाबेस है जो OneForAll द्वारा प्रत्येक रन में एकत्रित उपडोमेन को संग्रहीत करता है, इसकी डेटाबेस संरचना नीचे चित्र में दिखाई गई है:

इसमें example_com_origin_result जैसी तालिकाएँ प्रत्येक मॉड्यूल के प्रारंभिक उपडोमेन संग्रह परिणामों को संग्रहीत करती हैं।
इसमें example_com_resolve_result जैसी तालिकाएँ उपडोमेन के समाधान के बाद के परिणामों को संग्रहीत करती हैं।
इसमें example_com_last_result जैसी तालिकाएँ पिछले उपडोमेन संग्रह परिणामों को संग्रहीत करती हैं (दो बार से अधिक संग्रह करने पर उत्पन्न होती हैं)।
इसमें example_com_now_result जैसी तालिकाएँ वर्तमान उपडोमेन संग्रह परिणामों को संग्रहीत करती हैं, सामान्यतः इसी तालिका पर ध्यान देना पर्याप्त है।
अधिक जानकारी के लिए कृपया फ़ील्ड स्पष्टीकरण देखें।
कमांड लाइन पैरामीटर केवल कुछ सामान्य पैरामीटर प्रदान करते हैं। अधिक विस्तृत पैरामीटर कॉन्फ़िगरेशन के लिए कृपया setting.py देखें। यदि आपको लगता है कि कुछ पैरामीटर कमांड इंटरफेस में अक्सर उपयोग किए जाते हैं या कुछ कमी है, तो कृपया प्रतिक्रिया दें। सर्वविदित कारणों से, यदि कुछ अवरुद्ध संग्रह इंटरफेस का उपयोग करना है, तो कृपया पहले setting.py में प्रॉक्सी कॉन्फ़िगर करें। कुछ संग्रह मॉड्यूल को API प्रदान करने की आवश्यकता होती है (अधिकांश मुफ्त में पंजीकरण करके प्राप्त किए जा सकते हैं), यदि उपयोग करना है तो api.py में API जानकारी कॉन्फ़िगर करें, यदि उपयोग नहीं करना है तो संबंधित त्रुटि संदेशों को अनदेखा करें। (विस्तृत मॉड्यूल के लिए संग्रह मॉड्यूल स्पष्टीकरण पढ़ें।)
OneForAll कमांड लाइन इंटरफ़ेस Fire पर आधारित है। Fire के अधिक उन्नत उपयोग के लिए कृपया Fire CLI का उपयोग देखें।