tautoup - scripts - random scripts
HTML git clone https://git.parazyd.org/scripts
DIR Log
DIR Files
DIR Refs
---
tautoup (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"