diff --git a/upload-text.sh b/upload-text.sh deleted file mode 100755 index d03595e..0000000 --- a/upload-text.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -e -# Upload a text file to a server through SSH so that it can be shared. -# This script expects the server can serve files on the Web. Also expects curl. -# It uses an HTML template instead of the raw text file because browsers -# sometimes do not expect UTF-8 by default and this is always what I upload. -# -# You need to provide those 3 env variables: -# - REMOTE_DEST: the SSH destination to reach -# - REMOTE_WWW: the remote path where the HTML file will be stored -# - REMOTE_URL: the URL of the directory to print; file name is appended - -usage() { - echo "Usage: $0 text_file" - echo "Upload a text file to a simple HTML template on a server." -} - -[ $# -ne 1 ] && usage && exit - -# If a file exists at that path, it is sourced; you can put your env vars here. -CONFIG_PATH="$HOME/.config/upload-text.conf" -[ -f "$CONFIG_PATH" ] && . "$CONFIG_PATH" - -# Check for our environment variables. -if [ ! -v REMOTE_DEST ] || [ ! -v REMOTE_WWW ] || [ ! -v REMOTE_URL ]; then - echo "You need to provide all the required environment variables." - exit -fi - -# Generate a simple HTML page from the content. -BASENAME="$(basename "$1")" -HTML_FILE="$(mktemp)" -cat << EOF > "$HTML_FILE" - - - - - $BASENAME - - - -
-$(cat "$1")
-
- - -EOF - -# Upload the HTML file through SSH. Using SSH rather than SCP allows us to write -# the file in one connection while setting appropriate rights. -REMOTE_FILE="$(mktemp -u -p "$REMOTE_WWW" XXXXXXXXXX.html)" -cat "$HTML_FILE" | ssh -q "$REMOTE_DEST" "umask 027; cat > '$REMOTE_FILE'" -rm "$HTML_FILE" - -# Show the remote file path. -echo "$REMOTE_URL/$(basename "$REMOTE_FILE")"