@@ -21,15 +21,15 @@ logfileSetup () {
2121getArrAppInfo () {
2222 # Get Arr App information
2323 if [ -z " $arrUrl " ] || [ -z " $arrApiKey " ]; then
24- arrUrlBase=" $( cat / config/config.xml | xq | jq -r .Config.UrlBase ) "
25- if [ " $arrUrlBase " == " null " ]; then
24+ arrUrlBase=" $( sed -n ' s:.*<UrlBase>\(.*\)</UrlBase>.*:\1:p ' / config/config.xml | head -n1 ) "
25+ if [ -z " $arrUrlBase " ]; then
2626 arrUrlBase=" "
2727 else
28- arrUrlBase=" /$( echo " $arrUrlBase " | sed " s/\/// " ) "
28+ arrUrlBase=" /$( echo " $arrUrlBase " | sed ' s:^/*::; s:/*$:: ' ) "
2929 fi
30- arrName=" $( cat / config/config.xml | xq | jq -r .Config.InstanceName ) "
31- arrApiKey=" $( cat / config/config.xml | xq | jq -r .Config.ApiKey ) "
32- arrPort=" $( cat / config/config.xml | xq | jq -r .Config.Port ) "
30+ arrName=" $( sed -n ' s:.*<InstanceName>\(.*\)</InstanceName>.*:\1:p ' / config/config.xml | head -n1 ) "
31+ arrApiKey=" $( sed -n ' s:.*<ApiKey>\(.*\)</ApiKey>.*:\1:p ' / config/config.xml | head -n1 ) "
32+ arrPort=" $( sed -n ' s:.*<Port>\(.*\)</Port>.*:\1:p ' / config/config.xml | head -n1 ) "
3333 arrUrl=" http://127.0.0.1:${arrPort}${arrUrlBase} "
3434 fi
3535}
@@ -39,15 +39,19 @@ verifyApiAccess () {
3939 do
4040 arrApiTest=" "
4141 arrApiVersion=" "
42- if [ -z " $arrApiTest " ]; then
43- arrApiVersion=" v3"
44- arrApiTest=" $( curl -s " $arrUrl /api/$arrApiVersion /system/status?apikey=$arrApiKey " | jq -r .instanceName) "
45- fi
42+
43+ # Try API v3 first (current standard for Lidarr/Radarr/Sonarr)
44+ arrApiVersion=" v3"
45+ arrApiTest=" $( curl -fsS " $arrUrl /api/$arrApiVersion /system/status?apikey=$arrApiKey " 2> /dev/null | jq -er ' .instanceName // .appName // empty' 2> /dev/null || true) "
46+
47+ # Fall back to v1 for older installations
4648 if [ -z " $arrApiTest " ]; then
4749 arrApiVersion=" v1"
48- arrApiTest=" $( curl -s " $arrUrl /api/$arrApiVersion /system/status?apikey=$arrApiKey " | jq -r .instanceName) "
50+ arrApiTest=" $( curl -fsS " $arrUrl /api/$arrApiVersion /system/status?apikey=$arrApiKey " 2> /dev/null | jq -er ' .instanceName // .appName // empty ' 2> /dev/null || true ) "
4951 fi
50- if [ ! -z " $arrApiTest " ]; then
52+
53+ if [ -n " $arrApiTest " ]; then
54+ log " Connected to $arrName using API $arrApiVersion "
5155 break
5256 else
5357 log " $arrName is not ready, sleeping until valid response..."
0 commit comments