X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=brc2;h=05de0a3f1cf93cbc19db5213794c83b6a129807f;hb=1f027ea146ea6c62002a8f67f831273a5c431b52;hp=2795e2e2459941ad5b7df7a07554400fc28f7049;hpb=9de134ab81ba8b62daaf276e02f06d5499d0aa3c;p=distro-setup diff --git a/brc2 b/brc2 index 2795e2e..05de0a3 100644 --- a/brc2 +++ b/brc2 @@ -83,15 +83,6 @@ else export NOT_MAIL_HOST_P=t fi - -source /a/bin/log-quiet/logq-function - -# not used -# if [[ -s /a/opt/alacritty/extra/completions/alacritty.bash ]]; then -# source /a/opt/alacritty/extra/completions/alacritty.bash -# fi - - source /a/bin/ds/beet-data @@ -181,7 +172,7 @@ slemacs() { sle() { # sl emacs local f=/home/iank/.emacs.d/init.el - sl --sl-test-cmd ". /etc/os-release ; printf %s \${VERSION//[^a-zA-Z0-9]/}; test -e $f && stat -c%Y $f" --sl-test-hook slemacs "$@" + sl --sl-test-cmd "sed -rn '/^VERSION=/{s/^.*=//;s/[^[:alnum:]]//gp}' /etc/os-release; test -e $f && stat -c%Y $f" --sl-test-hook slemacs "$@" } ccomp ssh sle @@ -843,7 +834,7 @@ mpvrpc-loadfile() { # todo: enter should also unpause beetag() { local last_genre_i fstring tag id char new_item char_i genre tag remove doplay i j random path - local do_rare_genres read_wait help line lsout tmp ls_line skip_lookback + local do_rare_genres read_wait line lsout tmp ls_line skip_lookback local escape_char escaped_input expected_input skip_input_regex right_pad erasable_line seek_sec local pl_state_path pl_state_dir pl_state_file tmpstr local new_random pl_seed_path seed_num seed_file fmt first_play repeat1 @@ -2349,8 +2340,8 @@ rename-test() { # test whether missing files were renamed, generally for use with fsdiff # $1 = fsdiff output file, $2 = directory to compare to. pwd = fsdiff dir # echos non-renamed files - local x y found - unset sums + local x line found renamed + local -a sums for x in "$2"/*; do { sums+=( "$(md5sum < "$x")" ) ; } 2>/dev/null done @@ -2402,8 +2393,8 @@ gup() { /a/f/gnulib/build-aux/gnupload "$@"; } dejagnu() { /a/opt/dejagnu/dejagnu "$@"; } +# do git status on published repos. hstatus() { - # do git status on published repos. c /a/bin/githtml for x in *; do cd "$(readlink -f $x)"/.. @@ -2417,6 +2408,16 @@ hstatus() { done } +hsk() { + local x + c /a/bin/githtml + for x in *; do + cd "$(readlink -f $x)"/.. + skgit + cd /a/bin/githtml + done +} + ## work log # # note: database location is specified in ~/.timetrap.yml, currently /p/.timetrap.db @@ -2574,10 +2575,13 @@ ilog-local() { done } ilog() { - local chan + local chan tmpf + tmpf=$(mktemp) chan="${1:-#fsfsys}" # use * instead of -r since that does sorted order - sl root@iankelling.org ilog-local "$chan" | less +G + sl root@li.b8.nz ilog-local "$chan" > $tmpf + less +G $tmpf + rm -f $tmpf } o() { @@ -2635,6 +2639,7 @@ wgkey() { host-info-all() { host-info-update bindpushb8 + ssh iank@li.b8.nz conflink wrt-setup } @@ -2644,8 +2649,8 @@ host-info-all() { # wrt-setup host-info-update() { - local -A vpn_ips host_ips host_macs nonvpn_ips - local -a root_hosts nonroot_hosts + local -A vpn_ips host_ips host_macs nonvpn_ips all_ips + local -a root_hosts nonroot_hosts host_usbs # the hosts with no mac root_hosts=( bk je li b8.nz ) @@ -2656,41 +2661,112 @@ host-info-update() { while read -r ip host mac opts; do if [[ $ip == *#* || ! $host ]]; then continue; fi - if [[ $opts == vpn ]]; then + + # opt parsing + vpn=false + root=false + for opt in $opts; do + case $opt in + user=root) + root=true + ;; + vpn) + vpn=true + ;; + esac + done + + all_ips[$host]=$ip + if $vpn; then vpn_ips[$host]=$ip else nonvpn_ips[$host]=$ip fi - - - if [[ $opts == user=root ]]; then - # note: the b8.nz suffix is for the User part, the IdentityFile - # part is redundant to *.b8.nz. - root_hosts+=($host i$host $host.b8.nz i$host.b8.nz) + if $root; then + # note: the reason we have b8.nz suffix here but not for non_root + # hosts is that it is for the User part, the IdentityFile part is + # redundant to *.b8.nz. Also note ${host}i, we only setup those for vpn hosts, but there is no harm in overspecifying here. + root_hosts+=($host ${host}i $host.b8.nz ${host}i.b8.nz) else - nonroot_hosts+=($host i$host) + nonroot_hosts+=($host ${host}i) fi - host_ips[$host]=$ip - host_macs[$host]=$mac + if [[ $mac ]]; then + host_macs[$host]=$mac + fi + done

/p/c/cmc-firewall-data local host ipsuf f files + # shellcheck disable=SC2016 # shellcheck doesnt know this is sed sedi '/edits below here are made automatically/,$d' /p/c/machine_specific/li/filesystem/etc/wireguard/wgmail.conf for host in ${!vpn_ips[@]}; do + if [[ ${root_ips[$host]} ]]; then + # root machines dont actually need vpn, but + # the classification still helps with other + # configurations. + continue + fi ipsuf=${vpn_ips[$host]} wghole $host $ipsuf + sd /b/ds/machine_specific/li/filesystem/etc/openvpn/client-config-hole/$host <