2024-02-14 07:54:31 +01:00
|
|
|
#!/bin/sh -e
|
|
|
|
|
2024-12-23 14:32:10 +01:00
|
|
|
for arg in "$@"
|
|
|
|
do
|
|
|
|
case "$arg" in
|
|
|
|
sh) _ext=".sh" ;;
|
|
|
|
ksh) _ext=".ksh" ;;
|
|
|
|
txt) _ext=".txt" ;;
|
|
|
|
log) _ext=".log" ;;
|
|
|
|
rm) _rm=1 ;;
|
2024-12-23 15:26:32 +01:00
|
|
|
rmlast) _rmlast=1 ;;
|
2024-12-23 14:32:10 +01:00
|
|
|
ls) _ls=1 ;;
|
2024-12-23 15:26:32 +01:00
|
|
|
-[0-9]?) _last="$arg" ;;
|
2024-12-23 14:32:10 +01:00
|
|
|
mv) _mv=1 ;;
|
2024-12-23 15:26:32 +01:00
|
|
|
mvlast) _mvlast=1 ;;
|
2024-12-23 14:32:10 +01:00
|
|
|
*) break; ;;
|
|
|
|
esac
|
|
|
|
shift;
|
|
|
|
done
|
|
|
|
|
2024-12-23 15:26:32 +01:00
|
|
|
upload_list() {
|
|
|
|
ssh sdk@codevoid.de \
|
|
|
|
"cd /home/www/htdocs/ptrace/paste/ \
|
|
|
|
&& ls -1tr"
|
|
|
|
}
|
|
|
|
|
|
|
|
if [ -n "$_ls" ]
|
|
|
|
then
|
|
|
|
upload_list \
|
|
|
|
| while read f
|
|
|
|
do
|
|
|
|
echo "https://ptrace.org/$(echo "$f" | sed 's/ /%20/g') ($f)"
|
|
|
|
done
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -n "$_last" ]
|
|
|
|
then
|
|
|
|
upload_list \
|
|
|
|
| tail $_last \
|
|
|
|
| while read f
|
|
|
|
do
|
|
|
|
echo "https://ptrace.org/$(echo "$f" | sed 's/ /%20/g') ($f)"
|
|
|
|
done
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -n "$_mv" ]
|
|
|
|
then
|
|
|
|
ssh sdk@codevoid.de \
|
|
|
|
"cd /home/www/htdocs/ptrace/paste/ \
|
|
|
|
&& mv -v \"$1\" \"$2\""
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -n "$_mvlast" ]
|
|
|
|
then
|
|
|
|
lastfile="$(upload_list | tail -1)"
|
|
|
|
ssh sdk@codevoid.de \
|
|
|
|
"cd /home/www/htdocs/ptrace/paste/ \
|
|
|
|
&& mv -v \"$lastfile\" \"$2\""
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -n "$_rm" ]
|
2024-12-22 09:05:32 +01:00
|
|
|
then
|
2024-12-23 14:32:10 +01:00
|
|
|
for file in "$@"
|
2024-12-22 09:05:32 +01:00
|
|
|
do
|
2024-12-23 14:32:10 +01:00
|
|
|
ssh sdk@codevoid.de \
|
|
|
|
"cd /home/www/htdocs/ptrace/paste/ \
|
2024-12-23 15:26:32 +01:00
|
|
|
&& rm -v \"$(basename "$file")\"" \
|
2024-12-23 14:32:10 +01:00
|
|
|
|| true
|
2024-12-22 09:05:32 +01:00
|
|
|
done
|
2024-12-23 14:32:10 +01:00
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2024-12-23 15:26:32 +01:00
|
|
|
if [ -n "$_rmlast" ]
|
2024-12-23 14:32:10 +01:00
|
|
|
then
|
2024-12-23 15:26:32 +01:00
|
|
|
lastfile="$(upload_list | tail -1)"
|
2024-12-23 14:32:10 +01:00
|
|
|
ssh sdk@codevoid.de \
|
|
|
|
"cd /home/www/htdocs/ptrace/paste/ \
|
2024-12-23 15:26:32 +01:00
|
|
|
&& rm -v \"$lastfile\"" \
|
|
|
|
|| true
|
2024-12-23 14:32:10 +01:00
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2024-12-23 15:26:32 +01:00
|
|
|
echo $#
|
2024-12-23 14:32:10 +01:00
|
|
|
|
2024-12-23 15:26:32 +01:00
|
|
|
if [ $# -gt 0 ]
|
2024-12-22 09:05:32 +01:00
|
|
|
then
|
2024-12-23 14:32:10 +01:00
|
|
|
for file in "$@"
|
2024-12-22 09:05:32 +01:00
|
|
|
do
|
2024-12-23 15:26:32 +01:00
|
|
|
[ ! -f "$file" ] \
|
|
|
|
&& echo "file not found: $file" \
|
|
|
|
&& exit 1
|
2024-12-23 14:32:10 +01:00
|
|
|
# make sure the file is least owner rw and group r
|
|
|
|
# the sticky bit in the destiation folder will assign user+group
|
|
|
|
chmod u+rw,g+r "$file"
|
|
|
|
scp "$file" "sdk@codevoid.de:/home/www/htdocs/ptrace/paste/${file}${_ext}"
|
2024-12-23 15:26:32 +01:00
|
|
|
echo "https://ptrace.org/$(basename "$file")${_ext}" \
|
2024-12-22 09:05:32 +01:00
|
|
|
| sed 's/ /%20/g' \
|
|
|
|
| xclip -f -r
|
|
|
|
echo
|
|
|
|
done
|
|
|
|
fi
|
2024-12-23 15:26:32 +01:00
|
|
|
|
|
|
|
if [ $# -eq 0 ]
|
|
|
|
then
|
|
|
|
echo "usage: upload [command] [<files>]"
|
|
|
|
echo " commands:"
|
|
|
|
echo " rm <files> - remove files"
|
|
|
|
echo " rmlast - remove last upload"
|
|
|
|
echo " ls - list files"
|
|
|
|
echo " -0..N - list N last uploads"
|
|
|
|
echo " mv <oldname> <newname> - rename file"
|
|
|
|
echo " <files> - upload files"
|
|
|
|
exit 2
|
|
|
|
fi
|