eqgo() {
local -a array tmpstr delayon
delayon=true
- if grep -qFx all /etc/exim4/no-delay-eximids; then
+ if grep -qFx all /var/spool/exim4/gw/.no-delay-eximids; then
delayon=false
fi
if $delayon; then
- echo all >/etc/exim4/no-delay-eximids
+ echo all >/var/spool/exim4/gw/.no-delay-eximids
fi
tmpstr=$(exiqgrep -i -r.\*)
mapfile -t array <<<"$tmpstr"
enn -M "${array[@]}"
if $delayon; then
- echo >/etc/exim4/no-delay-eximids
+ echo >/var/spool/exim4/gw/.no-delay-eximids
fi
}
eqgo1() {
local eid
eid="$(exipick -i -r.\*|h1)"
- sed -n "/^all$/p;\$a $eid" /etc/exim4/no-delay-eximids
+ sed -n "/^all$/p;\$a $eid" /var/spool/exim4/gw/.no-delay-eximids
enn -M "$eid"
}
+# exim -M (in namespace and without delay)
ennm() {
local eid
for eid; do
- printf "%s\n" "$eid" >>/etc/exim4/no-delay-eximids
+ printf "%s\n" "$eid" >>/var/spool/exim4/gw/.no-delay-eximids
done
enn -M "$@"
}
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
}
eless2() {
- less /var/log/exim4/mymain
+ less /var/log/exim4/nondmain
}
enn() {
local ecmd pid
- ecmd="/usr/sbin/exim4 -C /etc/exim4/my.conf"
+ ecmd="/usr/sbin/exim4 -C /etc/exim4/nn-mainlog.conf"
if ip a show veth1-mail &>/dev/null; then
s $ecmd "$@"
else
# --no-messages because of annoying errors on broken symlinks
# -z = search .gz etc files
# -. = search dotfiles
- rg() { command rg -. -z --no-messages -L -i -M 900 --no-ignore-parent --no-ignore-vcs -g '!.git' -g '!auto-save-list' -g '!.savehist' "$@" || return $?; }
+ # -n --no-heading: show files and line numbers together allowing for clicking
+ rg() {
+ local path_arg
+ if [[ ${#@} == 1 ]]; then
+ path_arg=.
+ fi
+
+ command rg -. -z --no-messages -Lin --no-heading -M 900 --no-ignore-parent --no-ignore-vcs -g '!.git' -g '!auto-save-list' -g '!.savehist' "$@" $path_arg || return $?
+ }
#fails if not exist. ignore
complete -r rg 2>/dev/null ||:
else
# rg with respecting vcs ignore files
rgv() {
- ret=0
+ local path_arg ret=0
+ if [[ ${#@} == 1 ]]; then
+ path_arg=.
+ fi
# settings that are turned off for pipes, keep them on.
# Found by searching for "terminal" in --help
# --heading
# -z = search zipped files
# -i = case insensitive
# -M = max columns
+ # -n --no-heading: show files and line numbers together allowing for clicking
# --no-messages because of annoying errors on broken symlinks
# --no-ignore-parent because i have /a/.git which ignores almost everything under it.
- command rg -n --heading -. -z --no-messages -i -M 900 --no-ignore-parent -g '!.git' -g '!auto-save-list' -g '!.savehist' "$@" || ret=$?
+ command rg -n --no-heading -. -z --no-messages -i -M 900 --no-ignore-parent -g '!.git' -g '!auto-save-list' -g '!.savehist' "$@" $path_arg || ret=$?
return $ret
}
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 <<EOF
+http_ip=$ip
+EOF
+ bindpush
+ wrt-setup
+ fi
web-conf -e ian@iankelling.org -f 8000 - apache2 live.iankelling.org <<'EOF'
<Location "/fsf.webm">
AuthType Basic
Require valid-user
</Location>
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() {
ls -l /tmp/no-obs-auto-scene-switch