toyotacorolla

vroom
Log | Files | Refs

mounter (993B)


      1 #!/bin/sh
      2 
      3 set -e
      4 
      5 sudo -v || exit 1
      6 
      7 i=1
      8 devices=""
      9 echo "Devices Found"
     10 while read -r dev; do
     11 	if sudo cryptsetup isLuks "/dev/$dev" 2>/dev/null; then
     12 		echo "[$i] /dev/$dev"
     13 		devices="$devices /dev/$dev"
     14 		i=$((i + 1))
     15 	fi
     16 done <<EOF
     17 $(lsblk -do NAME)
     18 EOF
     19 
     20 [ "$i" -eq 1 ] && exit 1
     21 
     22 set -- $devices
     23 
     24 if [ "$i" -eq 2 ]; then
     25 	chosen_index=1
     26 else
     27 	printf "select a device to unlock [1-%d]: " $((i - 1))
     28 	read chosen_index
     29 fi
     30 
     31 n=1
     32 for dev in "$@"; do
     33 	if [ "$n" -eq "$chosen_index" ]; then
     34 		chosen="$dev"
     35 		break
     36 	fi
     37 	n=$((n + 1))
     38 done
     39 
     40 [ -z "$chosen" ] && exit 1
     41 
     42 default_name="usb$chosen_index"
     43 printf "name to assign to unlocked device [%s]: " "$default_name"
     44 read name
     45 [ -z "$name" ] && name="$default_name"
     46 
     47 echo "cryptsetup opening $chosen as $name"
     48 sudo cryptsetup open "$chosen" "$name" || exit 1
     49 
     50 mount_point="/mnt/$name"
     51 sudo mkdir -p "$mount_point"
     52 echo "mounting $name"
     53 sudo mount "/dev/mapper/$name" "$mount_point" || exit 1
     54 
     55 echo "$chosen mounted successfully at $mount_point"