Commit 67060a88f15e

Vincent Demeester <vincent@sbr.pm>
2026-04-16 10:53:33
feat: use mosh in shpool wrapper, add python/nmap/age
Changed sp to use mosh by default for resilience on tablet WiFi. Added -s flag for plain SSH fallback. Added python, nmap, and age to package list.
1 parent 7df1ac2
Changed files (2)
dots
config
dots/config/boox/bin/sp
@@ -1,17 +1,27 @@
 #!/data/data/com.termux/files/usr/bin/bash
-# sp - shpool session wrapper for Boox
-# Usage: sp <host> [session]    — attach to shpool session
+# sp - shpool session wrapper for Boox (uses mosh for resilience)
+# Usage: sp <host> [session]    — attach to shpool session via mosh
+#        sp -s <host> [session] — use plain SSH instead of mosh
 #        sp <host>              — attach to 'default' session
-#        sp                     — list recent hosts
+#        sp                     — show usage
 set -euo pipefail
 
+USE_SSH=0
+if [ "${1:-}" = "-s" ]; then
+    USE_SSH=1
+    shift
+fi
+
 if [ $# -eq 0 ]; then
-    echo "Usage: sp <host> [session]"
+    echo "Usage: sp [-s] <host> [session]"
+    echo ""
+    echo "Options:"
+    echo "  -s    Use SSH instead of mosh"
     echo ""
     echo "Examples:"
-    echo "  sp rhea          # attach to 'default' session on rhea.vpn"
-    echo "  sp rhea dev      # attach to 'dev' session on rhea.vpn"
-    echo "  sp okinawa work  # attach to 'work' session on okinawa.vpn"
+    echo "  sp rhea          # mosh to 'default' session on rhea.vpn"
+    echo "  sp rhea dev      # mosh to 'dev' session on rhea.vpn"
+    echo "  sp -s rhea dev   # SSH to 'dev' session on rhea.vpn"
     exit 0
 fi
 
@@ -24,4 +34,8 @@ case "$HOST" in
     *) HOST="${HOST}.vpn" ;;
 esac
 
-exec ssh -t "$HOST" "shpool-ssh-wrapper ${SESSION}"
+if [ "$USE_SSH" -eq 1 ]; then
+    exec ssh -t "$HOST" "shpool-ssh-wrapper ${SESSION}"
+else
+    exec mosh "$HOST" -- shpool-ssh-wrapper "${SESSION}"
+fi
dots/config/boox/sync.sh
@@ -12,7 +12,7 @@ if [ ! -d "$BOOX_DIR" ]; then
 fi
 
 echo "==> Installing packages..."
-pkg install -y openssh git zsh curl wget rsync jq mosh 2>/dev/null || true
+pkg install -y openssh git zsh curl wget rsync jq mosh python nmap age 2>/dev/null || true
 
 echo "==> Syncing SSH config..."
 mkdir -p ~/.ssh