wordlistxpl 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wlf/__init__.py +5 -0
- wlf/__main__.py +4 -0
- wlf/cli/__init__.py +1 -0
- wlf/cli/config.py +143 -0
- wlf/cli/context.py +101 -0
- wlf/cli/handlers/__init__.py +106 -0
- wlf/cli/handlers/analysis.py +582 -0
- wlf/cli/handlers/generation.py +786 -0
- wlf/cli/handlers/infra.py +404 -0
- wlf/cli/handlers/ops.py +456 -0
- wlf/cli/handlers/osint.py +988 -0
- wlf/cli/main.py +247 -0
- wlf/cli/menu.py +255 -0
- wlf/cli/parser.py +2659 -0
- wlf/cli/utils.py +410 -0
- wlf/py.typed +0 -0
- wlf.py +18 -0
- wlf_modules/__init__.py +1 -0
- wlf_modules/affix_engine.py +378 -0
- wlf_modules/analyzer.py +830 -0
- wlf_modules/anomaly_scorer.py +513 -0
- wlf_modules/api_server.py +408 -0
- wlf_modules/archive_export.py +274 -0
- wlf_modules/async_pipeline.py +221 -0
- wlf_modules/bandit_router.py +92 -0
- wlf_modules/bayesian_full.py +315 -0
- wlf_modules/benchmark_suite.py +1018 -0
- wlf_modules/br_deep_engine.py +449 -0
- wlf_modules/brwordlist_loader.py +350 -0
- wlf_modules/charset_gen.py +531 -0
- wlf_modules/cluster_engine.py +435 -0
- wlf_modules/combiner.py +346 -0
- wlf_modules/combo_engine.py +238 -0
- wlf_modules/compare_engine.py +310 -0
- wlf_modules/compute_backend.py +401 -0
- wlf_modules/corp_convention.py +219 -0
- wlf_modules/corp_prefixes.py +403 -0
- wlf_modules/corp_profiler.py +350 -0
- wlf_modules/country_tokens.py +405 -0
- wlf_modules/coverage_analyzer.py +301 -0
- wlf_modules/credential_tester.py +281 -0
- wlf_modules/cupp_engine.py +207 -0
- wlf_modules/data/__init__.py +2 -0
- wlf_modules/data/behavior_patterns.json +7668 -0
- wlf_modules/data/corp_prefix_patterns.json +452 -0
- wlf_modules/date_profile.py +487 -0
- wlf_modules/default_creds.py +242 -0
- wlf_modules/diffusion_engine.py +209 -0
- wlf_modules/dns_wordlist.py +556 -0
- wlf_modules/domain_pcfg.py +281 -0
- wlf_modules/domain_users.py +1305 -0
- wlf_modules/entropy_strength.py +349 -0
- wlf_modules/entropy_viz.py +271 -0
- wlf_modules/eval_harness.py +244 -0
- wlf_modules/explainer.py +208 -0
- wlf_modules/file_extractor.py +237 -0
- wlf_modules/finetune_engine.py +259 -0
- wlf_modules/flow_engine.py +208 -0
- wlf_modules/gan_engine.py +276 -0
- wlf_modules/generation_engines.py +357 -0
- wlf_modules/genetic_engine.py +313 -0
- wlf_modules/gpu_expand.py +142 -0
- wlf_modules/hash_tools.py +314 -0
- wlf_modules/hashcat_monitor.py +481 -0
- wlf_modules/hibp_checker.py +356 -0
- wlf_modules/hw_profiler.py +331 -0
- wlf_modules/i18n/__init__.py +143 -0
- wlf_modules/i18n/locale.py +299 -0
- wlf_modules/i18n/prompts.py +552 -0
- wlf_modules/intelx_checker.py +407 -0
- wlf_modules/isp_keygen.py +300 -0
- wlf_modules/iwlgen.py +338 -0
- wlf_modules/keyword_mutations.py +361 -0
- wlf_modules/kwalk_gen.py +415 -0
- wlf_modules/leet_permuter.py +333 -0
- wlf_modules/linkedin_search.py +401 -0
- wlf_modules/linkwords.py +134 -0
- wlf_modules/list_ops.py +391 -0
- wlf_modules/locales/__init__.py +131 -0
- wlf_modules/locales/ar.py +86 -0
- wlf_modules/locales/de.py +86 -0
- wlf_modules/locales/en_gb.py +80 -0
- wlf_modules/locales/en_us.py +92 -0
- wlf_modules/locales/es.py +93 -0
- wlf_modules/locales/fr.py +83 -0
- wlf_modules/locales/hi.py +87 -0
- wlf_modules/locales/ja.py +88 -0
- wlf_modules/locales/ko.py +79 -0
- wlf_modules/locales/pt_br.py +31 -0
- wlf_modules/locales/pt_pt.py +92 -0
- wlf_modules/locales/zh.py +85 -0
- wlf_modules/mangler.py +437 -0
- wlf_modules/map_elites.py +274 -0
- wlf_modules/markov_engine.py +311 -0
- wlf_modules/masked_lm_engine.py +290 -0
- wlf_modules/maya_ranker.py +661 -0
- wlf_modules/merger.py +146 -0
- wlf_modules/ml_patterns.py +858 -0
- wlf_modules/neural_engine.py +683 -0
- wlf_modules/nflow_engine.py +344 -0
- wlf_modules/noun_dictionary.py +123 -0
- wlf_modules/num2text.py +316 -0
- wlf_modules/ocr_extractor.py +151 -0
- wlf_modules/osint_advanced.py +287 -0
- wlf_modules/osint_perm.py +280 -0
- wlf_modules/passphrase_gen.py +138 -0
- wlf_modules/password_dna.py +484 -0
- wlf_modules/password_graph.py +234 -0
- wlf_modules/pattern_engine.py +387 -0
- wlf_modules/pattern_ranker.py +201 -0
- wlf_modules/pbmp_full.py +344 -0
- wlf_modules/pcfg_engine.py +662 -0
- wlf_modules/pharma_gen.py +303 -0
- wlf_modules/phone_gen.py +568 -0
- wlf_modules/phonetic_engine.py +407 -0
- wlf_modules/pipeline_dsl.py +456 -0
- wlf_modules/pipeline_engine.py +1254 -0
- wlf_modules/plugin_manager.py +193 -0
- wlf_modules/plugin_schema.py +117 -0
- wlf_modules/prince_engine.py +276 -0
- wlf_modules/profiler.py +3074 -0
- wlf_modules/py.typed +0 -0
- wlf_modules/resource_governor.py +201 -0
- wlf_modules/rl_router.py +228 -0
- wlf_modules/rsmangler_engine.py +330 -0
- wlf_modules/rule_engine.py +483 -0
- wlf_modules/rule_miner.py +309 -0
- wlf_modules/rulegen_engine.py +358 -0
- wlf_modules/sanitizer.py +261 -0
- wlf_modules/score_normalizer.py +169 -0
- wlf_modules/seclists_trainer.py +279 -0
- wlf_modules/semantic_pcfg.py +96 -0
- wlf_modules/session_manager.py +190 -0
- wlf_modules/strategy_engine.py +173 -0
- wlf_modules/target_spider.py +236 -0
- wlf_modules/tcn_engine.py +202 -0
- wlf_modules/temporal_calendar.py +247 -0
- wlf_modules/temporal_drift.py +240 -0
- wlf_modules/theme_packs.py +204 -0
- wlf_modules/thread_pool.py +346 -0
- wlf_modules/transformer_engine.py +330 -0
- wlf_modules/vae_engine.py +274 -0
- wlf_modules/web_scraper.py +428 -0
- wlf_modules/xor_crypto.py +167 -0
- wordlistxpl-2.0.0.dist-info/METADATA +677 -0
- wordlistxpl-2.0.0.dist-info/RECORD +150 -0
- wordlistxpl-2.0.0.dist-info/WHEEL +5 -0
- wordlistxpl-2.0.0.dist-info/entry_points.txt +3 -0
- wordlistxpl-2.0.0.dist-info/licenses/LICENSE +123 -0
- wordlistxpl-2.0.0.dist-info/top_level.txt +2 -0
wlf/__init__.py
ADDED
wlf/__main__.py
ADDED
wlf/cli/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""WordlistXPL-Forge CLI package."""
|
wlf/cli/config.py
ADDED
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"""Persistent configuration file support (~/.wlf/config.yaml)."""
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
import os
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
_CONFIG_DIR = Path(os.environ.get("WLF_CONFIG_DIR", "~/.wlf")).expanduser()
|
|
9
|
+
_CONFIG_FILE = _CONFIG_DIR / "config.yaml"
|
|
10
|
+
|
|
11
|
+
DEFAULTS: dict[str, Any] = {
|
|
12
|
+
"threads": 5,
|
|
13
|
+
"compute_mode": "auto",
|
|
14
|
+
"use_ml": True,
|
|
15
|
+
"limit": 0,
|
|
16
|
+
"timeout": 0,
|
|
17
|
+
"min_len": 0,
|
|
18
|
+
"max_len": 0,
|
|
19
|
+
"ram_budget_pct": 50.0,
|
|
20
|
+
"vram_budget_mb": 4096,
|
|
21
|
+
"chunk_lines": 0,
|
|
22
|
+
"chunk_bytes": 0,
|
|
23
|
+
"stream": False,
|
|
24
|
+
"locale": "en",
|
|
25
|
+
"model_dir": "",
|
|
26
|
+
"output_dir": "",
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
_TEMPLATE = """\
|
|
30
|
+
# WordlistXPL-Forge configuration
|
|
31
|
+
# Persistent defaults — CLI flags always override these values.
|
|
32
|
+
# Location: ~/.wlf/config.yaml (override with WLF_CONFIG_DIR env var)
|
|
33
|
+
|
|
34
|
+
# ── Execution ────────────────────────────────────────────────────────────────
|
|
35
|
+
threads: 5 # Worker threads (1-300)
|
|
36
|
+
compute_mode: auto # cpu | gpu | cuda | rocm | mps | auto | hybrid
|
|
37
|
+
use_ml: true # Enable ML-powered engines globally
|
|
38
|
+
|
|
39
|
+
# ── Limits ───────────────────────────────────────────────────────────────────
|
|
40
|
+
limit: 0 # Global line limit (0 = unlimited)
|
|
41
|
+
timeout: 0 # Global timeout in seconds (0 = unlimited)
|
|
42
|
+
min_len: 0 # Minimum entry length (0 = no filter)
|
|
43
|
+
max_len: 0 # Maximum entry length (0 = no filter)
|
|
44
|
+
|
|
45
|
+
# ── Resources ────────────────────────────────────────────────────────────────
|
|
46
|
+
ram_budget_pct: 50.0 # Max % of system RAM for ResourceGovernor
|
|
47
|
+
vram_budget_mb: 4096 # Max VRAM budget in MB for GPU engines
|
|
48
|
+
chunk_lines: 0 # Chunk size in lines (0 = auto)
|
|
49
|
+
chunk_bytes: 0 # Chunk size in bytes (0 = auto)
|
|
50
|
+
stream: false # Stream output to stdout instead of buffering
|
|
51
|
+
|
|
52
|
+
# ── Locale ───────────────────────────────────────────────────────────────────
|
|
53
|
+
locale: en # Default locale (en, pt-br, es, fr, de)
|
|
54
|
+
|
|
55
|
+
# ── Paths ────────────────────────────────────────────────────────────────────
|
|
56
|
+
model_dir: "" # Directory for ML model checkpoints
|
|
57
|
+
output_dir: "" # Default output directory for generated wordlists
|
|
58
|
+
"""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def config_dir() -> Path:
|
|
62
|
+
"""Return the configuration directory path."""
|
|
63
|
+
return _CONFIG_DIR
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def config_path() -> Path:
|
|
67
|
+
"""Return the configuration file path."""
|
|
68
|
+
return _CONFIG_FILE
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def load_config() -> dict[str, Any]:
|
|
72
|
+
"""Load config from ~/.wlf/config.yaml, returning DEFAULTS on any error."""
|
|
73
|
+
cfg = dict(DEFAULTS)
|
|
74
|
+
if not _CONFIG_FILE.is_file():
|
|
75
|
+
return cfg
|
|
76
|
+
try:
|
|
77
|
+
import yaml
|
|
78
|
+
except ImportError:
|
|
79
|
+
try:
|
|
80
|
+
text = _CONFIG_FILE.read_text(encoding="utf-8")
|
|
81
|
+
cfg.update(_parse_simple_yaml(text))
|
|
82
|
+
except Exception:
|
|
83
|
+
pass
|
|
84
|
+
return cfg
|
|
85
|
+
try:
|
|
86
|
+
raw = yaml.safe_load(_CONFIG_FILE.read_text(encoding="utf-8"))
|
|
87
|
+
if isinstance(raw, dict):
|
|
88
|
+
for key in DEFAULTS:
|
|
89
|
+
if key in raw and raw[key] is not None:
|
|
90
|
+
cfg[key] = type(DEFAULTS[key])(raw[key])
|
|
91
|
+
except Exception:
|
|
92
|
+
pass
|
|
93
|
+
return cfg
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def _parse_simple_yaml(text: str) -> dict[str, Any]:
|
|
97
|
+
"""Minimal key: value parser for when PyYAML is not installed."""
|
|
98
|
+
result: dict[str, Any] = {}
|
|
99
|
+
for line in text.splitlines():
|
|
100
|
+
line = line.split("#", 1)[0].strip()
|
|
101
|
+
if not line or ":" not in line:
|
|
102
|
+
continue
|
|
103
|
+
key, _, val = line.partition(":")
|
|
104
|
+
key = key.strip()
|
|
105
|
+
val = val.strip()
|
|
106
|
+
if key not in DEFAULTS:
|
|
107
|
+
continue
|
|
108
|
+
default = DEFAULTS[key]
|
|
109
|
+
if isinstance(default, bool):
|
|
110
|
+
result[key] = val.lower() in ("true", "yes", "1", "on")
|
|
111
|
+
elif isinstance(default, int):
|
|
112
|
+
try:
|
|
113
|
+
result[key] = int(val)
|
|
114
|
+
except ValueError:
|
|
115
|
+
pass
|
|
116
|
+
elif isinstance(default, float):
|
|
117
|
+
try:
|
|
118
|
+
result[key] = float(val)
|
|
119
|
+
except ValueError:
|
|
120
|
+
pass
|
|
121
|
+
else:
|
|
122
|
+
if val.startswith(('"', "'")) and len(val) >= 2:
|
|
123
|
+
val = val[1:-1]
|
|
124
|
+
result[key] = val
|
|
125
|
+
return result
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
def init_config(force: bool = False) -> Path:
|
|
129
|
+
"""Create default config file. Returns the path written."""
|
|
130
|
+
_CONFIG_DIR.mkdir(parents=True, exist_ok=True)
|
|
131
|
+
if _CONFIG_FILE.exists() and not force:
|
|
132
|
+
raise FileExistsError(f"Config already exists: {_CONFIG_FILE}")
|
|
133
|
+
_CONFIG_FILE.write_text(_TEMPLATE, encoding="utf-8")
|
|
134
|
+
return _CONFIG_FILE
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
def apply_config_to_ctx(ctx: dict[str, Any], cfg: dict[str, Any]) -> None:
|
|
138
|
+
"""Merge config values into _GLOBAL_CTX as defaults (CLI overrides later)."""
|
|
139
|
+
for key in ("threads", "compute_mode", "use_ml", "limit", "timeout",
|
|
140
|
+
"min_len", "max_len", "ram_budget_pct", "vram_budget_mb",
|
|
141
|
+
"chunk_lines", "chunk_bytes", "stream"):
|
|
142
|
+
if key in cfg:
|
|
143
|
+
ctx[key] = cfg[key]
|
wlf/cli/context.py
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"""Global execution context, constants, and terminal output setup."""
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
import logging
|
|
5
|
+
import signal
|
|
6
|
+
import sys
|
|
7
|
+
import types
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
from typing import Any
|
|
10
|
+
|
|
11
|
+
# ── Colorama ─────────────────────────────────────────────────────────────────
|
|
12
|
+
try:
|
|
13
|
+
from colorama import Fore, Style, init as colorama_init
|
|
14
|
+
colorama_init(autoreset=True)
|
|
15
|
+
_COLOR = True
|
|
16
|
+
except ImportError:
|
|
17
|
+
_COLOR = False
|
|
18
|
+
class Fore: # type: ignore[no-redef]
|
|
19
|
+
CYAN = GREEN = YELLOW = RED = MAGENTA = WHITE = RESET = ""
|
|
20
|
+
class Style: # type: ignore[no-redef]
|
|
21
|
+
BRIGHT = RESET_ALL = ""
|
|
22
|
+
|
|
23
|
+
# ── tqdm ─────────────────────────────────────────────────────────────────────
|
|
24
|
+
try:
|
|
25
|
+
from tqdm import tqdm as _tqdm
|
|
26
|
+
_TQDM = True
|
|
27
|
+
except ImportError:
|
|
28
|
+
_TQDM = False
|
|
29
|
+
_tqdm = None
|
|
30
|
+
|
|
31
|
+
# ── Path setup ───────────────────────────────────────────────────────────────
|
|
32
|
+
_HERE = Path(__file__).resolve().parent.parent.parent
|
|
33
|
+
sys.path.insert(0, str(_HERE))
|
|
34
|
+
|
|
35
|
+
logging.basicConfig(
|
|
36
|
+
level=logging.WARNING,
|
|
37
|
+
format="%(levelname)s %(name)s: %(message)s",
|
|
38
|
+
)
|
|
39
|
+
logger = logging.getLogger("wlf")
|
|
40
|
+
|
|
41
|
+
VERSION = "2.0.0"
|
|
42
|
+
|
|
43
|
+
# ── Graceful shutdown ────────────────────────────────────────────────────────
|
|
44
|
+
_SHUTDOWN_REQUESTED = False
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def _signal_handler(signum: int, frame: types.FrameType | None) -> None:
|
|
48
|
+
"""Handle SIGINT/SIGTERM for graceful shutdown."""
|
|
49
|
+
global _SHUTDOWN_REQUESTED
|
|
50
|
+
_SHUTDOWN_REQUESTED = True
|
|
51
|
+
print(f"\n{Fore.YELLOW}[!]{Style.RESET_ALL} Shutdown requested - finishing current batch...")
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
signal.signal(signal.SIGINT, _signal_handler)
|
|
55
|
+
if hasattr(signal, "SIGTERM"):
|
|
56
|
+
signal.signal(signal.SIGTERM, _signal_handler)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def is_shutdown() -> bool:
|
|
60
|
+
"""Check if a graceful shutdown has been requested."""
|
|
61
|
+
return _SHUTDOWN_REQUESTED
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
# ── Global execution context ─────────────────────────────────────────────────
|
|
65
|
+
_GLOBAL_CTX: dict[str, Any] = {
|
|
66
|
+
"threads": 5, # thread count (1-300)
|
|
67
|
+
"compute_mode": "auto", # cpu | gpu | cuda | rocm | mps | auto | hybrid
|
|
68
|
+
"use_ml": True, # ML enabled globally
|
|
69
|
+
"limit": 0, # global line limit (0=unlimited)
|
|
70
|
+
"timeout": 0, # global timeout in seconds (0=unlimited)
|
|
71
|
+
"start_time": 0.0, # epoch when execution started
|
|
72
|
+
"min_len": 0, # global minimum entry length (0=no filter)
|
|
73
|
+
"max_len": 0, # global maximum entry length (0=no filter)
|
|
74
|
+
"ram_budget_pct": 50.0,
|
|
75
|
+
"min_available_ram_mb": 512,
|
|
76
|
+
"vram_budget_mb": 4096,
|
|
77
|
+
"chunk_lines": 0,
|
|
78
|
+
"chunk_bytes": 0,
|
|
79
|
+
"gov_poll_every": 10_000,
|
|
80
|
+
"enforce_safe_default": False,
|
|
81
|
+
"safe_default_max": 5_000_000,
|
|
82
|
+
"stream": False,
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
_BANNER_ART = (
|
|
87
|
+
" __ _______ _ _ \n"
|
|
88
|
+
r" \ \ / / ____| | | | " + "\n"
|
|
89
|
+
r" \ \ /\ / /| |__ | |__| | " + "\n"
|
|
90
|
+
r" \ \/ \/ / | __| | __ | " + "\n"
|
|
91
|
+
r" \ /\ / | | | | | | " + "\n"
|
|
92
|
+
r" \/ \/ |_| |_| |_| " + "\n"
|
|
93
|
+
)
|
|
94
|
+
BANNER = (
|
|
95
|
+
f"\n{Fore.CYAN}{Style.BRIGHT}\n"
|
|
96
|
+
+ _BANNER_ART
|
|
97
|
+
+ f"\n WordlistXPL-Forge v{VERSION}\n"
|
|
98
|
+
+ " Author: André Henrique (@mrhenrike)\n"
|
|
99
|
+
+ " Unified wordlist generation for pentest & red team\n"
|
|
100
|
+
+ f"{Style.RESET_ALL}"
|
|
101
|
+
)
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"""Command handlers — re-export from category modules."""
|
|
2
|
+
from wlf.cli.handlers.generation import ( # noqa: F401
|
|
3
|
+
cmd_charset,
|
|
4
|
+
cmd_pattern,
|
|
5
|
+
cmd_mutate,
|
|
6
|
+
cmd_num2text,
|
|
7
|
+
cmd_phrase,
|
|
8
|
+
cmd_leet,
|
|
9
|
+
cmd_leet_perm,
|
|
10
|
+
cmd_combiner,
|
|
11
|
+
cmd_pcfg,
|
|
12
|
+
cmd_markov,
|
|
13
|
+
cmd_kwalk,
|
|
14
|
+
cmd_rule_mine,
|
|
15
|
+
cmd_finetune_data,
|
|
16
|
+
cmd_nflow,
|
|
17
|
+
cmd_combo,
|
|
18
|
+
cmd_corp_conv,
|
|
19
|
+
cmd_phonetic,
|
|
20
|
+
cmd_prince,
|
|
21
|
+
cmd_br_names,
|
|
22
|
+
cmd_iwlgen,
|
|
23
|
+
cmd_neural,
|
|
24
|
+
cmd_passphrase,
|
|
25
|
+
cmd_br_deep,
|
|
26
|
+
cmd_locale,
|
|
27
|
+
cmd_pbmp,
|
|
28
|
+
cmd_evolve,
|
|
29
|
+
cmd_graph_expand,
|
|
30
|
+
cmd_temporal_model,
|
|
31
|
+
cmd_domain_pcfg,
|
|
32
|
+
cmd_vae_interp,
|
|
33
|
+
)
|
|
34
|
+
from wlf.cli.handlers.analysis import ( # noqa: F401
|
|
35
|
+
cmd_analyze,
|
|
36
|
+
cmd_compare,
|
|
37
|
+
cmd_cluster,
|
|
38
|
+
cmd_entropy,
|
|
39
|
+
cmd_hcmon,
|
|
40
|
+
cmd_hibp,
|
|
41
|
+
cmd_intelx,
|
|
42
|
+
cmd_maskgen,
|
|
43
|
+
cmd_password_dna,
|
|
44
|
+
cmd_dna_extract,
|
|
45
|
+
cmd_cover,
|
|
46
|
+
cmd_benchmark,
|
|
47
|
+
cmd_maya_rank,
|
|
48
|
+
cmd_pattern_rank,
|
|
49
|
+
cmd_anomaly_score,
|
|
50
|
+
cmd_strength,
|
|
51
|
+
cmd_hash_id,
|
|
52
|
+
cmd_hash_gen,
|
|
53
|
+
cmd_hcmask,
|
|
54
|
+
cmd_evaluate,
|
|
55
|
+
cmd_score,
|
|
56
|
+
cmd_explain_cmd,
|
|
57
|
+
)
|
|
58
|
+
from wlf.cli.handlers.osint import ( # noqa: F401
|
|
59
|
+
cmd_profile,
|
|
60
|
+
cmd_corp,
|
|
61
|
+
cmd_corp_users,
|
|
62
|
+
cmd_phone,
|
|
63
|
+
cmd_scrape,
|
|
64
|
+
cmd_ocr,
|
|
65
|
+
cmd_extract,
|
|
66
|
+
cmd_dns,
|
|
67
|
+
cmd_pharma,
|
|
68
|
+
cmd_default_creds,
|
|
69
|
+
cmd_isp_keygen,
|
|
70
|
+
cmd_corp_prefixes,
|
|
71
|
+
cmd_osint_perm,
|
|
72
|
+
cmd_cupp,
|
|
73
|
+
cmd_scrape_target,
|
|
74
|
+
cmd_osint,
|
|
75
|
+
)
|
|
76
|
+
from wlf.cli.handlers.ops import ( # noqa: F401
|
|
77
|
+
cmd_xor,
|
|
78
|
+
cmd_merge,
|
|
79
|
+
cmd_sanitize,
|
|
80
|
+
cmd_reverse,
|
|
81
|
+
cmd_emit,
|
|
82
|
+
cmd_replay,
|
|
83
|
+
cmd_rulegen,
|
|
84
|
+
cmd_mangle,
|
|
85
|
+
cmd_improve,
|
|
86
|
+
cmd_rules,
|
|
87
|
+
cmd_affix,
|
|
88
|
+
cmd_dedup,
|
|
89
|
+
cmd_subtract,
|
|
90
|
+
cmd_split,
|
|
91
|
+
cmd_keyspace,
|
|
92
|
+
cmd_curate,
|
|
93
|
+
cmd_test,
|
|
94
|
+
)
|
|
95
|
+
from wlf.cli.handlers.infra import ( # noqa: F401
|
|
96
|
+
cmd_strategy,
|
|
97
|
+
cmd_bandit,
|
|
98
|
+
cmd_sysinfo,
|
|
99
|
+
cmd_train,
|
|
100
|
+
cmd_pipeline,
|
|
101
|
+
cmd_session,
|
|
102
|
+
cmd_serve,
|
|
103
|
+
cmd_plugin,
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
__all__ = ['cmd_affix', 'cmd_analyze', 'cmd_anomaly_score', 'cmd_cluster', 'cmd_compare', 'cmd_entropy', 'cmd_hcmon', 'cmd_hibp', 'cmd_intelx', 'cmd_bandit', 'cmd_benchmark', 'cmd_br_deep', 'cmd_br_names', 'cmd_charset', 'cmd_combo', 'cmd_combiner', 'cmd_corp', 'cmd_corp_conv', 'cmd_corp_prefixes', 'cmd_corp_users', 'cmd_cover', 'cmd_cupp', 'cmd_curate', 'cmd_dedup', 'cmd_default_creds', 'cmd_dna_extract', 'cmd_dns', 'cmd_domain_pcfg', 'cmd_emit', 'cmd_evaluate', 'cmd_evolve', 'cmd_finetune_data', 'cmd_nflow', 'cmd_explain_cmd', 'cmd_extract', 'cmd_graph_expand', 'cmd_hash_gen', 'cmd_hash_id', 'cmd_hcmask', 'cmd_improve', 'cmd_isp_keygen', 'cmd_iwlgen', 'cmd_keyspace', 'cmd_kwalk', 'cmd_leet', 'cmd_leet_perm', 'cmd_locale', 'cmd_mangle', 'cmd_markov', 'cmd_maskgen', 'cmd_maya_rank', 'cmd_merge', 'cmd_mutate', 'cmd_neural', 'cmd_num2text', 'cmd_ocr', 'cmd_osint', 'cmd_osint_perm', 'cmd_passphrase', 'cmd_password_dna', 'cmd_pattern', 'cmd_pattern_rank', 'cmd_pbmp', 'cmd_pcfg', 'cmd_pharma', 'cmd_phone', 'cmd_phonetic', 'cmd_phrase', 'cmd_pipeline', 'cmd_plugin', 'cmd_prince', 'cmd_rule_mine', 'cmd_profile', 'cmd_replay', 'cmd_reverse', 'cmd_rulegen', 'cmd_rules', 'cmd_sanitize', 'cmd_score', 'cmd_scrape', 'cmd_scrape_target', 'cmd_serve', 'cmd_session', 'cmd_split', 'cmd_strategy', 'cmd_strength', 'cmd_subtract', 'cmd_sysinfo', 'cmd_temporal_model', 'cmd_test', 'cmd_train', 'cmd_vae_interp', 'cmd_xor']
|