X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=brc2;h=104907e67c76f2d4df1f737ff986a3300d9db381;hb=989554cab0d0c59d1aab20496ba9550acd17e6e6;hp=bb33b7d768204ff7097f372c6bfbc6cb3f66b6bc;hpb=e801d1a57f0b30c57c6f644ab06a0f790159b236;p=distro-setup diff --git a/brc2 b/brc2 index bb33b7d..104907e 100644 --- a/brc2 +++ b/brc2 @@ -2012,6 +2012,10 @@ apache-apply-repo() { apache-apply() { for file; do + if [[ ! -e $file ]]; then + echo '#!/bin/bash' >$file + chmod +x $file + fi if head -n1 "$file"| grep -E '^#!/' &>/dev/null; then { head -n1 "$file" @@ -2878,8 +2882,8 @@ EOF tmpf=$(mktemp) { printf "%s" "Host * " - sed -n '/^Host /h;/^IdentityFile .*\/home/{g;s/^Host//;s/ / !/gp}' /p/c/subdir_files/.ssh/config-static | tr '\n' ' ' - echo + sed -n '/^Host /h;/^IdentityFile .*\/home/{g;s/^Host//;s/ / !/gp}' /p/c/subdir_files/.ssh/config-static | tr '\n' ' ' \ + | sed -r 's/ *$/\n/' echo "IdentityFile ~/.ssh/work" } >$tmpf cedit -e work-identity /p/c/subdir_files/.ssh/config-static <$tmpf @@ -4746,9 +4750,24 @@ ftoc() { units "tempF($1)" tempC } -# note: requires dns setup of live.iankelling.org, & if i'm home, port -# forwarding in wrt-setup-local. todo: automate that. -local-icecast() { +# local icecast +localic() { + local mod=false + cedit live /p/c/machine_specific/vps/filesystem/var/lib/bind/db.iankelling.org <<'EOF' || mod=true +live CNAME b8.nz. +EOF + if $mod; then + ip=$(ip r show default | sed -r 's/.*src ([^ ]*).*/\1/' | head -n1) + if [[ ! $ip ]] && timeout 1 ping -c 1 $ip; then + echo "error: failed to get ip: $ip" >&2 + exit 1 + fi + cat >/p/c/cmc-firewall-data-http < AuthType Basic @@ -4764,8 +4783,23 @@ AuthName "basic_auth" AuthUserFile "/etc/icecast-fsf-tech-htpasswd" Require valid-user +EOF + s cat /etc/letsencrypt/live/live.iankelling.org/{fullchain,privkey}.pem | s dd of=/etc/icecast2/fullchainpluskey.pem + ser start icecast2 +} +# li icecast +liic() { + cedit live /p/c/machine_specific/vps/filesystem/var/lib/bind/db.iankelling.org <<'EOF' || bindpush +live A 72.14.176.105 + AAAA 2600:3c00::f03c:91ff:fe6d:baf8 EOF } +# icecast rm -r +icrmr() { + find /var/icecast -type f -delete + ssh li.b8.nz find /var/icecast -type f -delete +} + # obs screen switching of obof() { @@ -4850,19 +4884,55 @@ klease() { } # ffs and switch the bash history on this terminal. -ffs() { - local last - last="${*: -1}" - if [[ $last && $last != -* && $last != sysops ]]; then - his - fi - command ffs "$@" -} +# disabled because I don't really need this and +# the history switching is annoying for debugging. +# +# ffs() { +# local last +# last="${*: -1}" +# if [[ $last && $last != -* && $last != sysops ]]; then +# his +# fi +# command ffs "$@" +# } i3gen() { /b/ds/i3-sway/gen } + +# insensitive find plus edit +ife() { + local tmps found_count i char file + local -a found_files + local -A button_file + tmps=$(ifn "$@") + mapfile -t found_files <<<"$tmps" + found_count=${#found_files[@]} + if (( ${#found_files[@]} == 1 )); then + m g ${found_files[0]} + else + i=0 + for button in {a..z}; do + button_file[$button]="${found_files[$i]}" + echo $button: ${found_files[$i]} + i=$(( i + 1 )) + if (( i >= found_count )); then + break + fi + done + read -rsN1 -t 5 char ||: + file="${button_file[$char]}" + + if [[ $file ]]; then + g "$file" + else + echo "no selection" + fi + fi +} + + export BASEFILE_DIR=/a/bin/fai-basefiles #export ANDROID_HOME=/a/opt/android-home