a="-ahviSAXPH --specials --devices --delete --relative --exclude-from=/p/c/li-rsync-excludes"
ret=0
for h in li je bk; do
- m s rsync "$@" $a ${p[@]} /p/c/machine_specific/$h root@$h.b8.nz:/ || ret=$?
+ m s rsync "$@" $a ${p[@]} /p/c/machine_specific/$h root@$h.b8.nz:/
## only li is debian11
#p[0]=/a/opt/emacs-trisuqel10
#p[1]=/a/opt/emacs-trisquel10-nox
}
+mns() { # mount namespace
+ ns=$1
+ shift
+ s mkdir -p /root/mount_namespaces
+ if ! s mountpoint /root/mount_namespaces >/dev/null; then
+ m s mount --bind /root/mount_namespaces /root/mount_namespaces
+ fi
+ m s mount --make-private /root/mount_namespaces
+ if [[ ! -e /root/mount_namespaces/$ns ]]; then
+ s touch /root/mount_namespaces/$ns
+ fi
+ if ! s mountpoint /root/mount_namespaces/$ns >/dev/null; then
+ m unshare --propagation slave --mount=/root/mount_namespaces/$ns /bin/true
+ fi
+ m sudo -E /usr/bin/nsenter --mount=/root/mount_namespaces/$ns "$@"
+}
+
+mnsnonet() {
+ ns=$1
+ if ! s ip netns list | grep -Fx nonet &>/dev/null; then
+ s ip netns add nonet
+ fi
+ mns $ns --net=/var/run/netns/nonet sudo -E -u iank /bin/bash
+}
+
+
lom() {
local l base
if [[ $1 == /* ]]; then
fi
fi
m sudo mkdir -p /mnt/$base
- m sudo mount /dev/mapper/$base /mnt/$base
- m sudo chown $USER:$USER /mnt/$base
+ m mns mount /dev/mapper/$base /mnt/$base
+ m mns chown $USER:$USER /mnt/$base
else
base=$1
- if mountpoint /mnt/$base &>/dev/null; then
- m sudo umount /mnt/$base
+ if mns mountpoint /mnt/$base &>/dev/null; then
+ m mns umount /mnt/$base
fi
if sudo cryptsetup status /dev/mapper/$base &>/dev/null; then
if ! m sudo cryptsetup luksClose /dev/mapper/$base; then
}
vpnf() {
sudo -v
- vpncmd sudo -E -u iank env "PATH=$PATH" abrowser -no-remote -P vpn & r
+ vpncmd sudo -E -u iank env "PATH=$PATH" abrowser -no-remote -P vpn &
+ sleep 5
+ r
}
vpn2f() {
sudo -v
source $f
fi
-
+electrum() {
+ # https://electrum.readthedocs.io/en/latest/tor.html
+ # https://github.com/spesmilo/electrum-docs/issues/129
+ s rsync -ptog --chown bitcoin:bitcoin ~/.Xauthority /var/lib/bitcoind/.Xauthority
+ sudo -u bitcoin DISPLAY=$DISPLAY XAUTHORITY=/var/lib/bitcoind/.Xauthority /a/opt/electrum-4.2.1-x86_64.AppImage -p socks5:localhost:9050
+}
+monero() {
+ sudo -u bitcoin DISPLAY=$DISPLAY XAUTHORITY=/var/lib/bitcoind/.Xauthority /a/opt/monero-gui-v0.17.3.2/monero-wallet-gui
+}
reset-konsole() {
EOF
}
+# make a page of links found in the files $@. redirect output
+linkhtml() {
+ gr -oh 'https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)' "$@" | \
+ rev | sort -u | rev | sed 's,.*,<a href="\0">\0</a><br\>,'
+}
+
reset-xscreensaver() {
# except for spash, i set these by setting gui options in
# xscreensaver-command -demo