add yt-dlp-ntfy
This commit is contained in:
parent
64e999d93c
commit
e547a58026
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
set -uexo pipefail
|
||||
|
||||
# Define PID file location
|
||||
PID_FILE="/tmp/yt-dlp-ntfy.pid"
|
||||
|
||||
# Check if the script is already running
|
||||
if [ -e "$PID_FILE" ] && kill -0 $(cat "$PID_FILE"); then
|
||||
echo "Script is already running. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Store the PID of the current process
|
||||
echo $$ > "$PID_FILE"
|
||||
|
||||
# Define ntfy server and channel
|
||||
NTFY_SERVER="https://notify.kucharczyk.xyz"
|
||||
CHANNEL="clipboard"
|
||||
ACCESS_TOKEN="$NTFY_ACCESS_TOKEN"
|
||||
|
||||
# Run the script in an infinite loop to listen for new messages
|
||||
while true; do
|
||||
while read -r message; do
|
||||
video_url=$(echo "$message" | jq -r '.message')
|
||||
|
||||
if [[ $video_url =~ ^https?:// ]]; then
|
||||
echo "Downloading video from $video_url"
|
||||
yt-dlp "$video_url"
|
||||
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" -d "Finished downloading." "$NTFY_SERVER/$CHANNEL"
|
||||
else
|
||||
echo "Received non-URL message: $video_url"
|
||||
fi
|
||||
done
|
||||
|
||||
# Wait a bit before reconnecting if the connection drops
|
||||
echo "Reconnecting..."
|
||||
sleep 5
|
||||
done < <(curl --no-buffer -s -H "Authorization: Bearer $ACCESS_TOKEN" "$NTFY_SERVER/$CHANNEL/json")
|
||||
|
||||
# Cleanup PID file on script exit
|
||||
trap "rm -f $PID_FILE" EXIT
|
||||
|
Loading…
Reference in New Issue