From 48e93e48b68bf2cb0d3ad80ccf58d7c909eabb27 Mon Sep 17 00:00:00 2001 From: Konstantin Demin Date: Sun, 13 Jul 2025 21:09:51 +0300 Subject: [PATCH] zsh: openwrt-related goodies --- .config/zsh/alias/openwrt.zsh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) 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 +}