diff --git a/qbt-set-forwarded-port.sh b/qbt-set-forwarded-port.sh old mode 100644 new mode 100755 index fc370e5..e32093a --- a/qbt-set-forwarded-port.sh +++ b/qbt-set-forwarded-port.sh @@ -1,40 +1,39 @@ #!/bin/sh # Adapted from https://github.com/claabs/qbittorrent-port-forward-file/blob/master/main.sh -# Until VPN_PORT_FORWARDING_UP_COMMAND is available, this could be run via a cronjob -# Might need to change the container name in the docker exec line -set -e +# set -e -qbt_username="${QBT_USERNAME:-admin}" -qbt_password="${QBT_PASSWORD:-adminadmin}" +qbt_username="${QBT_USERNAME:-sintan}" +qbt_password="${QBT_PASSWORD:-17291998}" qbt_addr="${QBT_ADDR:-http://localhost:8085}" # ex. http://10.0.1.48:8080 -gluetun_container="${GLUETUN_COMTAINER:-qbt-gluetun}" -port_number=$(docker exec "$gluetun_container" cat /tmp/gluetun/forwarded_port) +port_number=$(cat /tmp/gluetun/forwarded_port) if [ -z "$port_number" ]; then echo "Could not figure out which port to set." exit 1 fi -curl --fail --silent --show-error --cookie-jar /tmp/cookies.txt --cookie /tmp/cookies.txt --header "Referer: $qbt_addr" --data "username=$qbt_username" --data "password=$qbt_password" $qbt_addr/api/v2/auth/login 1> /dev/null +wget --save-cookies=/tmp/cookies.txt --keep-session-cookies --header="Referer: $qbt_addr" --header="Content-Type: application/x-www-form-urlencoded" \ + --post-data="username=$qbt_username&password=$qbt_password" --output-document - --quiet "$qbt_addr/api/v2/auth/login" -listen_port=$(curl --fail --silent --show-error --cookie-jar /tmp/cookies.txt --cookie /tmp/cookies.txt $qbt_addr/api/v2/app/preferences | jq '.listen_port') - -if [ ! "$listen_port" ]; then - echo "Could not get current listen port, exiting..." - exit 1 -fi - -if [ "$port_number" = "$listen_port" ]; then - echo "Port already set, exiting..." - exit 0 -fi +# listen_port=$(wget --load-cookies=/tmp/cookies.txt --output-document - --quiet "$qbt_addr/api/v2/app/preferences" | jq '.listen_port') +# +# if [ ! "$listen_port" ]; then +# echo "Could not get current listen port, exiting..." +# exit 1 +# fi +# +# if [ "$port_number" = "$listen_port" ]; then +# echo "Port already set, exiting..." +# exit 0 +# fi echo "Updating port to $port_number" -curl --fail --silent --show-error --cookie-jar /tmp/cookies.txt --cookie /tmp/cookies.txt --data-urlencode "json={\"listen_port\": $port_number}" $qbt_addr/api/v2/app/setPreferences +wget --load-cookies=/tmp/cookies.txt --header="Content-Type: application/x-www-form-urlencoded" --post-data='json={"listen_port": "'$port_number'"}' \ + --output-document - --quiet "$qbt_addr/api/v2/app/setPreferences" echo "Successfully updated port"