diff --git a/.config/zsh/alias/openwrt.zsh b/.config/zsh/alias/openwrt.zsh index b85ef41..65377cf 100644 --- a/.config/zsh/alias/openwrt.zsh +++ b/.config/zsh/alias/openwrt.zsh @@ -1,6 +1,15 @@ #!/bin/zsh +openwrt-ssh() { + ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no "$@" +} + openwrt-apk-list() { + (( ${+commands[openwrt-apk]} )) || { + echo 'missing "openwrt-apk"' >&2 + return 127 + } + local i w w=$(mktemp -d) ; : "${w:?}" for i ; do @@ -12,3 +21,22 @@ openwrt-apk-list() { done rm -rf "$w" } + +openwrt-ipk-list() { + local i m o + for i ; do + [ -n "$i" ] || continue + o=0 + for m ( './data.tar.gz' 'data.tar.gz' ) ; do + tar -tf "$i" "$m" 2>/dev/null || continue + o=1 + env printf '%q:\n' "$i" + tar -Oxf "$i" "$m" | tar -ztvf - + break + done + if [ "$o" = '0' ] ; then + env printf '%q: missing data.tar.gz\n' "$i" + continue + fi + done +}