fix(insta): add temporary local fix for insta on nas
This commit is contained in:
parent
b9af444e74
commit
e602d788b0
1 changed files with 63 additions and 56 deletions
|
@ -1,68 +1,75 @@
|
|||
function insta() {
|
||||
local cwd=$(pwd)
|
||||
insta () {
|
||||
local cwd=$(pwd)
|
||||
check_smb_mount () {
|
||||
/sbin/mount | grep -q "$insta_mount_point"
|
||||
}
|
||||
|
||||
check_smb_mount() {
|
||||
/sbin/mount | grep -q "$insta_mount_point"
|
||||
}
|
||||
local stories_only=false
|
||||
local user_list=()
|
||||
while [[ $# -gt 0 ]]
|
||||
do
|
||||
case "$1" in
|
||||
--cron)
|
||||
local random_wait=$((RANDOM % 1800))
|
||||
echo "--------------------------------------------"
|
||||
echo "Waiting for $((random_wait / 60)) minutes..."
|
||||
sleep $random_wait
|
||||
stories_only=true
|
||||
;;
|
||||
--stories)
|
||||
stories_only=true
|
||||
;;
|
||||
*)
|
||||
user_list+=("$1")
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
local stories_only=false
|
||||
local user_list=()
|
||||
echo "-----$(date)------"
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--cron)
|
||||
local random_wait=$((RANDOM % 1800))
|
||||
echo "--------------------------------------------"
|
||||
echo "Waiting for $((random_wait / 60)) minutes..."
|
||||
sleep $random_wait
|
||||
stories_only=true
|
||||
;;
|
||||
--stories)
|
||||
stories_only=true
|
||||
;;
|
||||
*)
|
||||
user_list+=("$1")
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
echo "-----$(date)------"
|
||||
if [ ! -d "$insta_mount_point" ]; then
|
||||
echo "Creating mount point directory..."
|
||||
mkdir -p "$insta_mount_point"
|
||||
fi
|
||||
local is_local_nas=false
|
||||
if [[ "$NAS_IP" == "127.0.0.1" || "$NAS_IP" == "localhost" ]]; then
|
||||
is_local_nas=true
|
||||
fi
|
||||
|
||||
if ! check_smb_mount; then
|
||||
echo "Mounting SMB share..."
|
||||
/sbin/mount_smbfs "smb://janolehuebner:$(pass sudo-lana)@$insta_share_on_nas" "$insta_mount_point"
|
||||
fi
|
||||
if [ ! -d "$insta_mount_point" ]; then
|
||||
echo "Creating mount point directory..."
|
||||
mkdir -p "$insta_mount_point"
|
||||
fi
|
||||
|
||||
if ! check_smb_mount; then
|
||||
echo "Failed to mount SMB share. Exiting."
|
||||
return 1
|
||||
fi
|
||||
if ! $is_local_nas; then
|
||||
if ! check_smb_mount; then
|
||||
echo "Mounting SMB share..."
|
||||
/sbin/mount_smbfs "smb://janolehuebner:$(pass sudo-lana)@$insta_share_on_nas" "$insta_mount_point"
|
||||
fi
|
||||
if ! check_smb_mount; then
|
||||
echo "Failed to mount SMB share. Exiting."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "$insta_mount_point/$insta_path_on_nas" || return 1
|
||||
cd "$insta_mount_point/$insta_path_on_nas" || return 1
|
||||
|
||||
# Use default users if no user was specified
|
||||
if [[ ${#user_list[@]} -eq 0 ]]; then
|
||||
user_list=("${insta_default_users[@]}")
|
||||
fi
|
||||
if [[ ${#user_list[@]} -eq 0 ]]; then
|
||||
user_list=("${insta_default_users[@]}")
|
||||
fi
|
||||
|
||||
# Build the instaloader command
|
||||
local cmd=(uvx --with browser_cookie3 instaloader -b Safari -B "$insta_cookiefile" "${user_list[@]}" --fast-update)
|
||||
local cmd=(uvx --with browser_cookie3 instaloader -b Safari -B "$insta_cookiefile" "${user_list[@]}" --fast-update)
|
||||
if $stories_only; then
|
||||
cmd+=(--stories --no-profile-pic --no-posts)
|
||||
else
|
||||
cmd+=(--stories --reels)
|
||||
fi
|
||||
|
||||
if $stories_only; then
|
||||
cmd+=(--stories --no-profile-pic --no-posts)
|
||||
else
|
||||
cmd+=(--stories --reels)
|
||||
fi
|
||||
"${cmd[@]}"
|
||||
|
||||
"${cmd[@]}"
|
||||
if ! $is_local_nas; then
|
||||
echo "Unmounting SMB share..."
|
||||
sleep 3
|
||||
/sbin/umount -f "$insta_mount_point"
|
||||
fi
|
||||
|
||||
echo "Unmounting SMB share..."
|
||||
sleep 3
|
||||
/sbin/umount -f "$insta_mount_point"
|
||||
cd "$cwd"
|
||||
cd "$cwd"
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue