bin/scripts/mup (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
#!/bin/bash # quick and dirty file sharing script using rsync # .share folder has to be on the remote machine's # user's home directory remote_hostname="inty" remote_url="https://m.prithu.dev" # remote_url="https://m.prithu.xyz" slugen () { # generate a slug of alphabets dd if=/dev/urandom status=none bs=1024 count=1 | \ strings | tr -d '[:space:][:punct:][:digit:][lIq]' | cut -c -${1:-3} } if [ "$1" ] then if [ -z "$2" ] then slug=$(slugen) if echo "$1" | grep '\.' 2>&1 > /dev/null then ext=$(echo "$1" | grep '\.' | awk -F'.' '{print "."$NF}') else ext="" fi # if ssh $remote_hostname "test -f .share/$slug$ext" # then # echo "[Error] File already exists: $slug$ext" 1>&2 # exit 1 # else rsync --ignore-existing --info=progress1,skip "$1" "$remote_hostname:.share/$slug$ext" 1>&2 || exit 1 echo "$remote_url/$slug$ext" # fi else # if ssh $remote_hostname "test -f .share/$2" # then # echo "[Error] File already exists: $2" 1>&2 # exit 1 # else rsync --ignore-existing --info=progress1,skip "$1" "$remote_hostname:.share/$2" 1>&2 || exit 1 echo "$remote_url/$2" # fi fi fi |