diff --git a/reolink_cloud_batch_download.sh b/reolink_cloud_batch_download.sh new file mode 100644 index 0000000..53ed510 --- /dev/null +++ b/reolink_cloud_batch_download.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +USERNAME="***********" +PW="***********" + +BEARER=$(curl -s 'https://apis.reolink.com/v1.0/oauth2/token/' \ + -H 'origin: https://my.reolink.com' \ + --data-urlencode "username=$USERNAME" \ + --data-urlencode "password=$PW" \ + --data 'grant_type=password&session_mode=true&client_id=REO-.AJ%2CHO%2FL6_TG44T78KB7&mfa_trusted=false' \ + | jq -r '.access_token') + +YESTERDAY=$(date -d "-1 day" +"%Y-%m-%d") +STARTDATE=$(date -d "-1 day" +"%s") +ENDDATE=$(date +"%s") +DESTDIR="/tmp/$YESTERDAY" +mkdir -p "$DESTDIR" + +LATEST=$(curl -s "https://apis.reolink.com/v2/videos/?start_at=${STARTDATE}000&end_at=${ENDDATE}514&data_type=create_at&page=1&count=10000" \ + -H "authorization: Bearer $BEARER" \ + -H 'origin: https://cloud.reolink.com' \ + --compressed | jsonlint) + +getVideoURL() { +VIDEODOWNLOADURL=$(curl -s "https://apis.reolink.com/v2/videos/$videoid/url?type=download" \ + -H "authorization: Bearer $BEARER" \ + -H 'origin: https://cloud.reolink.com' \ + | jq -r .url) +} + +count=$(echo "$LATEST" | jq '.items | length') +for ((i=0; i<"$count"; i++)); do + videoid=$(echo "$LATEST" | jq -r '.items['$i'].id') + createdAt=$(echo "$LATEST" | jq -r '.items['$i'].createdAt') + createdAtCut=$(echo "$createdAt" | rev | cut -c4- | rev) + coverUrl=$(echo "$LATEST" | jq -r '.items['$i'].coverUrl') + createdAtHuman=$(date +"%Y-%m-%d-$videoid-%T" -d @"$createdAtCut") + echo "ID: $videoid createdAt timestamp: $createdAtHuman" + wget -O "$DESTDIR"/"$createdAtHuman".jpg "$coverUrl" + getVideoURL + echo "$VIDEODOWNLOADURL" + wget -O "$DESTDIR"/"$createdAtHuman".mp4 "$VIDEODOWNLOADURL" +done diff --git a/reolink_cloud_download_latest_image.sh b/reolink_cloud_download_latest_image.sh new file mode 100644 index 0000000..9068452 --- /dev/null +++ b/reolink_cloud_download_latest_image.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +USERNAME="***********" +PW="***********" + +BEARER=$(curl -s 'https://apis.reolink.com/v1.0/oauth2/token/' \ + -H 'origin: https://my.reolink.com' \ + --data-urlencode "username=$USERNAME" \ + --data-urlencode "password=$PW" \ + --data 'grant_type=password&session_mode=true&client_id=REO-.AJ%2CHO%2FL6_TG44T78KB7&mfa_trusted=false' \ + | jq -r '.access_token') + +STARTDATE=$(date -d "-1 day" +"%s") +ENDDATE=$(date +"%s") + +LATEST=$(curl -s "https://apis.reolink.com/v2/videos/?start_at=${STARTDATE}000&end_at=${ENDDATE}514&data_type=create_at&page=1&count=1" \ + -H "authorization: Bearer $BEARER" \ + -H 'origin: https://cloud.reolink.com' \ + | jq .items[]) + +id=$(echo "$LATEST" | jq -r '.id') +createdAt=$(echo "$LATEST" | jq -r '.createdAt') +coverUrl=$(echo "$LATEST" | jq -r '.coverUrl') +createdAtCut=$(echo "$createdAt" | rev | cut -c4- | rev) +createdAtHuman=$(date +"%Y-%m-%d-$id-%T" -d @"$createdAtCut") + +export LATEST BEARER id createdAt coverUrl createdAtCut createdAtHuman + +wget -q -O /tmp/"$createdAtHuman".jpg "$coverUrl"