tools:
- name: katana_crawl_urls
description: Fast web crawler for one or more URLs (comma-separated)
run:
kind: shell
cmd: "katana -u {{urls}} {{options}}"
args:
urls:
type: string
description: "Target URL(s) to crawl (comma-separated). Examples: 'https://example.com', 'https://a.com,https://b.com'."
required: true
options:
type: string
description: "Additional katana flags (space-separated). Common: '-d 4 -jc -td -ct 5m -retry 2 -proxy http://127.0.0.1:8080 -r 1.1.1.1,8.8.8.8 -H \"Authorization: Bearer TOKEN\" -cs https://example.com -cos \\.(png|jpg)$ -mr login|signup -fr logout -em js,html -ef png,css -c 50 -p 20 -rl 300 -pc -iqp -dr -hl -sc -ot \"{{url}}\" -o results.txt -silent -v'."
required: false
default: ""
- name: katana_crawl_list
description: Crawl a list of targets from a file
run:
kind: shell
cmd: "katana -list {{url_list}} {{options}}"
args:
url_list:
type: string
description: "Path to file containing target URLs (one per line)."
required: true
options:
type: string
description: "Additional katana flags (space-separated). Common with -list: combine any discovery, scope, filter, rate, headless and output flags. Example: '-d 4 -jc -td -ct 10m -retry 2 -cs https://example.com -cos \\.(png|jpg)$ -c 50 -p 25 -rl 300 -ot \"{{url}}\" -o results.txt -silent'."
required: false
default: ""
- name: katana_crawl_urls_jsonl
description: Crawl URLs and emit JSONL records
run:
kind: shell
cmd: "katana -u {{urls}} -j {{options}}"
args:
urls:
type: string
description: "Target URL(s) to crawl (comma-separated). Examples: 'https://example.com', 'https://a.com,https://b.com'."
required: true
options:
type: string
description: "Additional katana flags (space-separated). Common for JSONL: '-ot \"{{url}}\" -or -ob -srd ./responses -sr -ncb -fx -iqp -duf -c 50 -rl 300 -timeout 15 -time-stable 2 -td -jc -pc -hl -debug -v'."
required: false
default: ""
- name: katana_crawl_list_jsonl
description: Crawl URL list file and emit JSONL records
run:
kind: shell
cmd: "katana -list {{url_list}} -j {{options}}"
args:
url_list:
type: string
description: "Path to file containing target URLs (one per line)."
required: true
options:
type: string
description: "Additional katana flags (space-separated). Common for JSONL with -list: '-ot \"{{url}}\" -or -ob -srd ./responses -sr -ncb -fx -iqp -duf -c 50 -p 20 -rl 300 -timeout 15 -time-stable 2 -td -jc -pc -silent'."
required: false
default: ""