
웹 퍼징, 디렉토리 열거 및 서브도메인 발견을 위한 선별되고 분류된 워드리스트 생성기. 36개 이상의 소스를 자동으로 동기화하고 항목을 분류하며 침투 테스트를 위한 최적화된 짧은/긴 목록을 생성합니다.
웹 퍼징을 위한 단어 목록: 선별된 micro, 카테고리별 short/long, 그리고 통합 최종 목록.
onelistforallmicro.txt: 선별된 목록 (수동 관리).dict/<category>_short.txt: 카테고리별 선별된 단어 목록 (소규모/고품질 소스).dict/<category>_long.txt: 카테고리별 포괄적 단어 목록 (모든 소스).onelistforall.txt: micro + 모든 *_short.txt, 중복 제거됨.onelistforall_big.txt: 모든 것이 결합됨, 중복 제거됨.update): ~36개의 단어 목록 레포지토리를 sources/에 클론합니다.classify): sources/의 모든 .txt 파일을 탐색하여 경로 구조, 파일명 키워드 및 콘텐츠 샘플링을 사용해 각 파일을 카테고리로 분류합니다. classification_index.json을 생성합니다.build --all-categories): 각 카테고리에 대해 분류된 소스 파일을 필터링 및 중복 제거하여 dict/{cat}_short.txt와 dict/{cat}_long.txt로 병합합니다.assemble): micro + 모든 shorts를 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 배열에 항목을 추가하세요:
{
"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 — 패턴과 일치하는 줄이 제거됩니다 (예: URL, UUID, 이미지 확장자)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/* → subdomains)사용 가능한 모든 카테고리를 나열하려면:
go run ./cmd/olfa list --categories
go run ./cmd/olfa list --categories --format json