diff --git a/battybirdnet-pi/config.json b/battybirdnet-pi/config.json index 9fe5dc9f9..03695260b 100644 --- a/battybirdnet-pi/config.json +++ b/battybirdnet-pi/config.json @@ -119,6 +119,6 @@ "udev": true, "url": "https://github.com/alexbelgium/hassio-addons/tree/master/battybirdnet-pi", "usb": true, - "version": "0.7", + "version": "0.8", "video": true } diff --git a/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh b/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh index 46e86e191..15753fa61 100755 --- a/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh +++ b/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh @@ -17,6 +17,12 @@ for file in "${DEFAULT_FILES[@]}"; do fi done touch /config/include_species_list.txt # Ensure this is always created +cp /config/birdnet.conf "$HOME/BirdNET-Pi/scripts/thisrun.txt" +cp /config/birdnet.conf "$HOME/BirdNET-Pi/scripts/lastrun.txt" +chown pi:pi "$HOME/BirdNET-Pi/scripts/thisrun.txt" +chown pi:pi "$HOME/BirdNET-Pi/scripts/lastrun.txt" + +touch "$HOME/BirdNET-Pi/scripts/common.php" # Set BirdSongs folder location from configuration if specified BIRDSONGS_FOLDER="/config/BirdSongs" @@ -85,4 +91,3 @@ MPLCONFIGDIR="${MPLCONFIGDIR:-$HOME/.config/matplotlib}" mkdir -p "$MPLCONFIGDIR" chown pi:pi "$MPLCONFIGDIR" chmod 777 "$MPLCONFIGDIR" - diff --git a/battybirdnet-pi/rootfs/etc/cont-init.d/31-checks.sh b/battybirdnet-pi/rootfs/etc/cont-init.d/31-checks.sh index 48b727e3e..c33a2d470 100755 --- a/battybirdnet-pi/rootfs/etc/cont-init.d/31-checks.sh +++ b/battybirdnet-pi/rootfs/etc/cont-init.d/31-checks.sh @@ -48,12 +48,16 @@ fi bashio::log.info "Performing potential updates" # Adapt update_birdnet_snippets +sed -i "/USER=/a USER=\"$USER\"" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh +sed -i "/HOME=/a HOME=\"$HOME\"" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh +sed -i "/chown/d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh +sed -i "/chmod/d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh +sed -i "s|/etc/birdnet/birdnet.conf|/config/birdnet.conf|g" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh +sed -i "/restart_services/d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh +sed -i "/set -x/d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh sed -i "s|systemctl list-unit-files|false \&\& echo|g" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh sed -i "/systemctl /d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh sed -i "/find /d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh -sed -i "/set -x/d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh -sed -i "/restart_services/d" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh -sed -i "s|/etc/birdnet/birdnet.conf|/config/birdnet.conf|g" "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh # Execute update_birdnet_snippets "$HOME"/BirdNET-Pi/scripts/update_birdnet_snippets.sh diff --git a/battybirdnet-pi/rootfs/etc/cont-init.d/91-nginx_ingress.sh b/battybirdnet-pi/rootfs/etc/cont-init.d/91-nginx_ingress.sh index e7adb5eef..107b0057c 100755 --- a/battybirdnet-pi/rootfs/etc/cont-init.d/91-nginx_ingress.sh +++ b/battybirdnet-pi/rootfs/etc/cont-init.d/91-nginx_ingress.sh @@ -35,13 +35,10 @@ echo "... ensuring restricted area access" echo "${ingress_entry}" > /ingress_url # Modify PHP file safely -php_file="$HOME/BirdNET-Pi/scripts/common.php" -if [ -f "$php_file" ]; then - sed -i "/function is_authenticated/a if (strpos(\$_SERVER['HTTP_REFERER'], '/api/hassio_ingress') !== false && strpos(\$_SERVER['HTTP_REFERER'], trim(file_get_contents('/ingress_url'))) !== false) { \$ret = true; return \$ret; }" "$php_file" -else - bashio::log.error "PHP file not found: $php_file" - exit 1 -fi +for php_file in config.php play.php advanced.php overview.php; do + sed -i "s|if (\!isset(\$_SERVER\['PHP_AUTH_USER'\])) {|if (\!isset(\$_SERVER\['PHP_AUTH_USER'\]) \&\& strpos(\$_SERVER\['HTTP_REFERER'\], '/api/hassio_ingress') == false) {|g" "$HOME/BirdNET-Pi/scripts/$php_file" + sed -i "s+if(\$submittedpwd == \$caddypwd \&\& \$submitteduser == 'birdnet')+if((\$submittedpwd == \$caddypwd \&\& \$submitteduser == 'birdnet') || (strpos(\$_SERVER['HTTP_REFERER'], '/api/hassio_ingress') !== false \&\& strpos(\$_SERVER['HTTP_REFERER'], trim(file_get_contents('/ingress_url'))) !== false)+g" "$HOME/BirdNET-Pi/scripts/$php_file" +done echo "... adapting Caddyfile for ingress" chmod +x /helpers/caddy_ingress.sh @@ -57,4 +54,3 @@ else bashio::log.error "Caddy update script not found: $caddy_update_script" exit 1 fi -