From 9a239d186f100d95301e56c4984faee14730590a Mon Sep 17 00:00:00 2001 From: tsgoff Date: Fri, 21 Oct 2022 18:55:15 +0200 Subject: [PATCH 1/4] Create reolink_cloud_download_latest_image.sh Download latest video thumbnail from reolink cloud --- reolink_cloud_download_latest_image.sh | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 reolink_cloud_download_latest_image.sh 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" From 6bd1a80441577bd8806736b716ff7f9aa3459b08 Mon Sep 17 00:00:00 2001 From: tsgoff Date: Mon, 24 Oct 2022 16:34:44 +0200 Subject: [PATCH 2/4] Create reolink_cloud_batch_download.sh script to download all cloud.reolink.com videos and thumbnails for specified date --- https:/reolink_cloud_batch_download.sh | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 https:/reolink_cloud_batch_download.sh diff --git a/https:/reolink_cloud_batch_download.sh b/https:/reolink_cloud_batch_download.sh new file mode 100644 index 0000000..53ed510 --- /dev/null +++ b/https:/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 From 9ee1457c9e82ee5f90dc88430864b44bc64a5d3b Mon Sep 17 00:00:00 2001 From: tsgoff Date: Mon, 24 Oct 2022 16:36:23 +0200 Subject: [PATCH 3/4] Create reolink_cloud_batch_download.sh script to download all cloud.reolink.com videos and thumbnails for specified date --- reolink_cloud_batch_download.sh | 43 +++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 reolink_cloud_batch_download.sh 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 From 7ab0472d98fbd26318d9734b893235ff1b89a460 Mon Sep 17 00:00:00 2001 From: tsgoff Date: Mon, 24 Oct 2022 16:36:40 +0200 Subject: [PATCH 4/4] Delete reolink_cloud_batch_download.sh --- https:/reolink_cloud_batch_download.sh | 43 -------------------------- 1 file changed, 43 deletions(-) delete mode 100644 https:/reolink_cloud_batch_download.sh diff --git a/https:/reolink_cloud_batch_download.sh b/https:/reolink_cloud_batch_download.sh deleted file mode 100644 index 53ed510..0000000 --- a/https:/reolink_cloud_batch_download.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/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