#!/bin/sh

#### EDIT THESE VARIABLES ####
# The URL or IP of your server
serverURL="yourserver.com"

# The username and password of the remote user you'll be using SFTP with
serverUsername="user"
serverPassword="strongandcomplicatedpassword"

# The port expected by the server for sftp
serverPort=22

# Remote path to upload the file to
remote_path=/var/www/public/

# The URL (excluding file name) you expect the file to have to be accessible
expectedURL="https://yourserver.com/public/"

# Path to the file to be uploaded
local_path=$1

# Name of the file to be uploaded
fileName=$(basename $local_path)

# Generates a random number to be prepended to the file name
randomString=$(shuf -i 100000000000-999999999999 -n 1)

cp $local_path /tmp/$fileName
mv /tmp/$fileName /tmp/$randomString$fileName
local_path=/tmp/$randomString$fileName

# Uploading the file
sshpass -p $serverPassword scp -P $serverPort $local_path $serverUsername@$serverURL:$remote_path
link=$expectedURL$randomString$fileName
echo $link | xclip
notify-send --app-name="Server Upload" --icon="cloud-upload" "Link copied to xclip $link" --expire-time=5000 > /dev/null 2>&1