You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scripts that need external services (Redis, memcached, MQTT, browser
automation) probe reachability first and exit 2 cleanly when the
backend isn't present — safe to run through the whole set without
surprise failures.
Index
Protocol probes
Script
What it does
http.rhai
GET + status assertion + body length
tcp.rhai
TCP connect probe with latency
ping.rhai
TCP or ICMP ping
dns.rhai
DNS records (default bundle or custom types)
tls.rhai
Certificate inspection + days-remaining
ntp.rhai
Clock offset + round-trip delay
redis.rhai
PING or arbitrary RESP command
ws.rhai
WebSocket handshake + Ping/Pong
dict.rhai
RFC 2229 DICT lookup
ldap.rhai
Anonymous RootDSE query
whois.rhai
Two-hop whois with registrar referral
memcached.rhai
Text-protocol version + stats
rtsp.rhai
RTSP OPTIONS + method list
mqtt.rhai
MQTT publish with reachability guard
smtp.rhai
SMTP capability + STARTTLS probe
File transfer
Script
What it does
ftp.rhai
Anonymous FTP/FTPS directory listing or file retrieval
sftp.rhai
SSH-backed SFTP directory listing or file retrieval
How .system(...) steers tone / length; same prompt twice.
ai-context.rhai
.context(...) accumulation; classify a synthetic HTTP response.
ai-multiturn.rhai
Manual multi-turn replay using .assistant() + .user().
External CLIs
Script
What it does
git.rhai
Drive the git CLI — g.status() / g.log() / g.diff() / g.commit() and more, all returning parsed Maps/Arrays
gh.rhai
Drive the GitHub gh CLI — h.pr_list() / h.pr_create() / h.release_create() etc, with auto-account-switch driven by git config user.email
Every script starts with a usage comment showing args and a one-line
description. Scripts that take positional args support a sensible
default so recon --script NAME alone does something useful.