Add SSH settings that apply only to netssh connections, so
~/.ssh/config does not need global changes:
- proxy_jump (passed as -J; "none" disables an inherited jump host)
- host_key_checking: strict | accept-new | off (off prints a notice)
- target: ip (default) | name | hostname; "name" connects to the
NetBox name with -o HostName=<ip> and -o HostKeyAlias=<name>, so
`Host *.example.com` rules apply and known_hosts entries follow the
device instead of a reused IP
- address_family: any | inet | inet6
- options (-o Key=Value) and extra_args
Settings layer global -> netboxes[].ssh -> ssh.rules (match by tag,
instance, kind, or name glob). Options given on the command line
always win: -o values are inserted after the user's own, and
extra_args before them.
New wrapper flags: --jump HOST, --no-jump, and --dry-run, which prints
the final ssh command instead of connecting. The TUI uses the same
options. The setup wizard keeps all new settings when it saves.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`netssh hook install` and the setup wizard now write the same marked
`# >>> netssh >>>` block as install.sh and replace unmarked entries of
older versions instead of appending duplicates. Uninstall shares the
legacy patterns with the installer (eval/alias/source variants).
For zsh the block adds ~/.zfunc to fpath and calls compdef, so
completion also works when compinit already ran earlier in .zshrc,
e.g. with oh-my-zsh. The installer reports which completion it set up
per shell and how to reset ~/.zcompdump.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cobra's generated zsh script spawns a subshell per candidate and sends
every host through _describe, so <Tab> hangs for seconds with thousands
of cached hosts. netssh now ships its own script: subcommands and flags
go through _describe, plain hostnames through compadd. 5000 hosts
complete in ~0.08 s instead of ~4 s.
Add completion.max_results to cap the number of offered hostnames and
sort host candidates for a stable order.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>