
वेब फ़ज़िंग, निर्देशिका गणना और उपडोमेन खोज के लिए क्यूरेटेड, वर्गीकृत वर्डलिस्ट जनरेटर। स्वचालित रूप से 36+ स्रोतों को सिंक करता है, प्रविष्टियों को वर्गीकृत करता है, और पैठ परीक्षण के लिए अनुकूलित छोटी/बड़ी सूचियाँ उत्पन्न करता है।
वेब फ़ज़िंग के लिए वर्डलिस्ट: क्यूरेटेड micro, श्रेणीबद्ध short/long, और संयुक्त अंतिम सूचियाँ।
onelistforallmicro.txt: क्यूरेटेड सूची (मैन्युअल रूप से अनुरक्षित)।dict/<category>_short.txt: प्रति-श्रेणी क्यूरेटेड शब्दसूची (छोटे/गुणवत्ता स्रोत)।dict/<category>_long.txt: प्रति-श्रेणी व्यापक शब्दसूची (सभी स्रोत)।onelistforall.txt: micro + सभी *_short.txt, डीडुप्लिकेटेड।onelistforall_big.txt: सब कुछ संयुक्त, डीडुप्लिकेटेड।update): sources/ में ~36 वर्डलिस्ट रिपॉजिटरी क्लोन करता है।classify): sources/ में प्रत्येक .txt फ़ाइल को पार्स करता है, पथ संरचना, फ़ाइलनाम कीवर्ड और सामग्री नमूनाकरण का उपयोग करके प्रत्येक को श्रेणियों में वर्गीकृत करता है। classification_index.json उत्पन्न करता है।build --all-categories): प्रत्येक श्रेणी के लिए, वर्गीकृत स्रोत फ़ाइलों को फ़िल्टरिंग और डीडुप्लिकेशन के साथ dict/{cat}_short.txt और dict/{cat}_long.txt में मर्ज करता है।assemble): माइक्रो + सभी शॉर्ट्स को onelistforall.txt में और सब कुछ onelistforall_big.txt में संयोजित करता है।package): चेकसम के साथ 7z आर्काइव बनाता है।publish): स्वचालित रूप से dict/ परिवर्तनों को कमिट करता है और रिमोट पर पुश करता है।git (update के लिए)7z (केवल package के लिए)olfa)# Check dependencies
go run ./cmd/olfa check
# List sources and categories
go run ./cmd/olfa list
go run ./cmd/olfa list --categories
# Sync source repos
go run ./cmd/olfa update
go run ./cmd/olfa update --source SecLists
# Classify source files
go run ./cmd/olfa classify
go run ./cmd/olfa classify --format json
# Build all category wordlists
go run ./cmd/olfa build --all-categories
go run ./cmd/olfa build --category wordpress --variant short
# Assemble final combined lists
go run ./cmd/olfa assemble
# Validate and package
go run ./cmd/olfa validate-categories
go run ./cmd/olfa stats
go run ./cmd/olfa package
# Full pipeline (all steps in one command)
go run ./cmd/olfa pipeline
go run ./cmd/olfa pipeline --dry-run
go run ./cmd/olfa pipeline --skip-publish # skip git commit+push
go run ./cmd/olfa pipeline --skip-update # skip git fetch
go run ./cmd/olfa pipeline --commit-msg "my custom message"
# Option A: single command
go run ./cmd/olfa pipeline
# Option B: step by step
go run ./cmd/olfa check
go run ./cmd/olfa update
go run ./cmd/olfa classify
go run ./cmd/olfa build --all-categories
go run ./cmd/olfa assemble
go run ./cmd/olfa validate-categories
go run ./cmd/olfa package
git add dict/ && git commit -m "chore: update dict/ wordlists" && git push
रिपॉजिटरी में dict/ में ~418 श्रेणी शब्दसूचियाँ (~930 MB) शामिल हैं। हालाँकि, 6 फ़ाइलें GitHub की 100 MB फ़ाइल आकार सीमा से अधिक हैं और रिपॉजिटरी में शामिल नहीं हैं:
| फ़ाइल | आकार |
|---|---|
dict/subdomains_long.txt | 493 MB |
dict/passwords_long.txt | 351 MB |
dict/passwords_short.txt | 296 MB |
dict/fuzz_general_long.txt | 178 MB |
dict/directories_long.txt | 153 MB |
dict/dns_long.txt | 112 MB |
इन्हें स्थानीय रूप से उत्पन्न करने के लिए, चलाएँ:
go run ./cmd/olfa pipeline
पूर्ण पाइपलाइन चलाने (स्रोतों को सिंक करना + सभी श्रेणियाँ बनाना) के लिए ~15 GB डिस्क स्थान की आवश्यकता होती है।
सब कुछ दो फ़ाइलों द्वारा नियंत्रित होता है:
configs/pipeline.yml — स्रोत, फ़िल्टर, वर्गीकरण नियम, डीडुप सेटिंग्स, रिलीज़ कॉन्फ़िग।configs/taxonomy.json — श्रेणी वर्गीकरण (236 श्रेणियाँ उपनामों के साथ)।configs/pipeline.yml को संपादित करें और sources array में एक एंट्री जोड़ें:
{
"name": "my-wordlists",
"repo": "username/repo-name",
"branch": "main",
"paths": ["all"],
"tags": ["directories", "api"],
"priority": "medium"
}
| फ़ील्ड | विवरण |
|---|---|
name | स्रोत के लिए अद्वितीय पहचानकर्ता |
repo | GitHub owner/repo (https://github.com/... के माध्यम से क्लोन किया गया) |
branch | ट्रैक करने की शाखा |
paths | रिपॉजिटरी के अंदर स्कैन करने के लिए निर्देशिकाएँ (["all"] = सब कुछ) |
tags | जब ऑटो-वर्गीकरण श्रेणी निर्धारित नहीं कर सकता तब फ़ॉलबैक श्रेणियाँ |
priority | high, medium, या low — उच्च-प्राथमिकता वाले स्रोत *_short.txt में जाते हैं, सभी स्रोत *_long.txt में जाते हैं |
एक स्रोत जोड़ने के बाद, उसे खींचने और वर्गीकृत करने के लिए पाइपलाइन चलाएँ:
go run ./cmd/olfa pipeline
या केवल नए स्रोत को सिंक करें:
go run ./cmd/olfa update --source my-wordlists
pipeline.yml में वैश्विक फ़िल्टर नियंत्रित करते हैं कि कौन सी पंक्तियाँ रखी या हटाई जाएँ:
regex_denylist — किसी भी पैटर्न से मेल खाने वाली पंक्तियाँ हटा दी जाती हैं (जैसे, URLs, UUIDs, इमेज एक्सटेंशन)max_line_len — इससे अधिक लंबी पंक्तियाँ हटा दी जाती हैं (डिफ़ॉल्ट: 100 अक्षर)trim — अग्रणी/अनुगामी व्हाइटस्पेस हटाएँdrop_empty — खाली पंक्तियाँ हटाएँप्रति-श्रेणी फ़िल्टर category_filters में सेट किए जा सकते हैं (जैसे, उपडोमेन केवल मान्य होस्टनाम वर्णों की अनुमति देते हैं)।
प्रत्येक श्रेणी दो शब्दसूचियाँ उत्पन्न करती है:
*_short.txt — केवल high प्राथमिकता वाले स्रोतों से, या 5000 से कम पंक्तियों वाली फ़ाइलों से, या common, short, top, default जैसे कीवर्ड वाले फ़ाइलनामों से।*_long.txt — सभी स्रोत संयुक्त।थ्रेशोल्ड और कीवर्ड classification.short_line_threshold, classification.short_keywords, और classification.long_keywords में कॉन्फ़िगरेबल हैं।
श्रेणियाँ configs/taxonomy.json में परिभाषित हैं। प्रत्येक का एक विहित नाम और उपनाम होते हैं। स्रोत फ़ाइलें श्रेणियों से इस प्रकार मिलान की जाती हैं:
Discovery/DNS/* → उपडोमेन)सभी उपलब्ध श्रेणियाँ सूचीबद्ध करने के लिए:
go run ./cmd/olfa list --categories
go run ./cmd/olfa list --categories --format json