scripts

random scripts
git clone https://git.parazyd.org/scripts
Log | Files | Refs

autoup (1648B)


      1 #!/bin/sh
      2 
      3 usage() {
      4 	printf "usage: %s [-p|-f|-t] file" "$(basename "$0")"
      5 	exit 1
      6 }
      7 
      8 server="parazyd.org"
      9 webroot="/home/parazyd/public_html/parazyd.org/pub"
     10 webdir="dev/random"
     11 
     12 case "$(basename "$0")" in
     13 memecache)
     14 	webdir="memecache"
     15 	;;
     16 esac
     17 
     18 case "$1" in
     19 -p)
     20 	webdir="tmp/priv"
     21 	shift
     22 	;;
     23 -f)
     24 	webdir="tmp/photo"
     25 	shift
     26 	;;
     27 -t)
     28 	webdir="tmp"
     29 	shift
     30 	;;
     31 esac
     32 
     33 [ -n "$1" ] || usage
     34 
     35 filename="$(basename "$1")"
     36 
     37 case "$filename" in
     38 *scrot*|mpv-shot*)
     39 	webdir="tmp/screenshots"
     40 	num="$(ssh "$server" find "$webroot/$webdir" -type f | sort | tail -n1)"
     41 	num="$(printf "%s" "$num" | tr -d '[a-z]./_')"
     42 	num="$(e "${num}+1")"
     43 
     44 	if [ "$num" -lt 100 ]; then
     45 		num="000${num}"
     46 	elif [ "$num" -lt 1000 ]; then
     47 		num="00${num}"
     48 	elif [ "$num" -lt 10000 ]; then
     49 		num="0${num}"
     50 	fi
     51 
     52 	filename="screenshot${num}.${filename##*.}"
     53 	;;
     54 esac
     55 
     56 scp "$1" "${server}:${webroot}/${webdir}/${filename}" || exit 1
     57 
     58 if [ "$webdir" = memecache ]; then
     59 	oldmemes="$(hurl gopher://$server/0/pub/$webdir/memes.meme)"
     60 	memefile="$(mktemp)"
     61 	t="$(mktemp)"
     62 	chmod 644 "$memefile"
     63 
     64 	printf "%s\n" "$oldmemes" | grep -v ^meme2 > "$t"
     65 	printf "#%s gopher://%s/%s/pub/%s/%s %s\n" \
     66 		"$(basename "$filename" | cut -d. -f1)" \
     67 		"${server}" "$(ext2gopher "$filename")" \
     68 		"${webdir}" "$(basename "$filename")" \
     69 		"$(sha512sum "$filename" | cut -d' ' -f1)" >> "$t"
     70 
     71 	printf "meme2\n" > "$memefile"
     72 	sort "$t" >> "$memefile"
     73 
     74 	scp "$memefile" "${server}:${webroot}/${webdir}/memes.meme"
     75 	rm -f "$memefile" "$t"
     76 fi
     77 
     78 printf "https://%s/pub/%s/%s\n" "$server" "$webdir" "$filename"
     79 printf "gopher://%s/%s/pub/%s/%s\n" "$server" "$(ext2gopher "$filename")" \
     80 	"$webdir" "$filename"