From 6d577c7c23b27a9ac4622465b6b4e4782b165ceb Mon Sep 17 00:00:00 2001 From: 76rhodan Date: Mon, 19 Feb 2024 08:12:34 +0000 Subject: [PATCH] migrating s6 --- rootfs/etc/cont-init.d/50-vrs | 129 ----------- rootfs/etc/cont-init.d/60-marker | 77 ------- rootfs/etc/cont-init.d/61-layer | 106 --------- rootfs/etc/services.d/autoupdate/run | 324 --------------------------- rootfs/etc/services.d/vrs/run | 19 -- 5 files changed, 655 deletions(-) delete mode 100755 rootfs/etc/cont-init.d/50-vrs delete mode 100755 rootfs/etc/cont-init.d/60-marker delete mode 100755 rootfs/etc/cont-init.d/61-layer delete mode 100644 rootfs/etc/services.d/autoupdate/run delete mode 100755 rootfs/etc/services.d/vrs/run diff --git a/rootfs/etc/cont-init.d/50-vrs b/rootfs/etc/cont-init.d/50-vrs deleted file mode 100755 index 96270bf..0000000 --- a/rootfs/etc/cont-init.d/50-vrs +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/with-contenv bash -#shellcheck shell=bash disable=SC2034,SC2164,SC2015 - -APPNAME="$(hostname)/vrs-init" -VRS_DIR="/opt/vrs" -VRS_EXEC="mono VirtualRadar.exe" -VRS_CMDLINE=() -VRS_CMDLINE+=("-nogui") -VRS_CMDLINE+=("-createAdmin:${VRS_ADMIN_USERNAME}") -VRS_CMDLINE+=("-password:${VRS_ADMIN_PASSWORD}") -VRS_CONFIG_DIR="/root/.local/share/VirtualRadar" -VRS_EXTENSION_DIR="/root/.local/share/VirtualRadar/CustomContent/CustomInjectedFiles" -#Silhouettes, OpFlags and DB -FLAGSDB_LINK="https://github.com/rikgale/VRSData/raw/main/BaseStation.zip" - -#max runtime in seconds for VRS init -MAXTIME=15 - -#helper files for updatechecks -ACTUALFILE="$VRS_CONFIG_DIR/commitid" -ACTUALFILE_CM="$VRS_CONFIG_DIR/commitid_cm" -ACTUALFILE_SQB="$VRS_CONFIG_DIR/commitid_sqb" - -#We need that for the update-after-fresh-install prevention -WHICHREPO_SQB="https://api.github.com/repos/rikgale/VRSData/branches" -WHICHBRANCH_SQB="main" - -#if the helper file to store the commit ID isn't there, create it empty -touch $ACTUALFILE -#and the same for the custom markers -touch $ACTUALFILE_CM -#for the database -touch $ACTUALFILE_SQB - -#debugging stuff -#echo $ACTUAL -#echo $PROBE -BUILD_DATE=$(cat "${VRS_DIR}"/builddate) - -echo "[$APPNAME][$(date)] Initializing Virtual Radar Server, build ${BUILD_DATE}..." - -mkdir -p "${VRS_CONFIG_DIR}/flags" -mkdir -p "${VRS_CONFIG_DIR}/silhouettes" -mkdir -p "${VRS_CONFIG_DIR}/photos" -mkdir -p "${VRS_CONFIG_DIR}/db" -mkdir -p "${VRS_CONFIG_DIR}/CustomContent/CustomInjectedFiles" - -#download and install pre-filled DB for operator flags. As this should only happen once, no commit id check needed -if [ ! -e "${VRS_CONFIG_DIR}/db/BaseStation.sqb" ] -then - echo "[$APPNAME][$(date)] Downloading database for Operator Flags" - if curl --fail --compressed -s -L -o "${VRS_CONFIG_DIR}/BaseStation.zip" ${FLAGSDB_LINK} && unzip -qq -o -d "${VRS_CONFIG_DIR}/db" "${VRS_CONFIG_DIR}/BaseStation.zip" - then - echo "[$APPNAME][$(date)] Database for Operator Flags installed successfully" - #that should prevent a DB update right after a fresh download - PROBE_SQB=$(curl -sH "Accept: application/vnd.github.v3+json" $WHICHREPO_SQB | awk "c&&!--c;/$WHICHBRANCH_SQB/{c=2}" | awk '/"sha"/ { print $2}' | sed 's/"//g;s/.$//g') - echo "$PROBE_SQB" > $ACTUALFILE_SQB - echo "[$APPNAME][$(date)] Updated $ACTUALFILE_SQB to commit ID $PROBE_SQB" - else - echo "[$APPNAME][$(date)] Database for Operator Flags not installed - failure" - fi -else - echo "[$APPNAME][$(date)] Found an existing DB in $VRS_CONFIG_DIR, not touching anything!" -fi - -#copy PluginsConfig into place if it's not there -if [ ! -e "${VRS_CONFIG_DIR}/PluginsConfiguration.txt" ] - then - echo "[$APPNAME][$(date)] PluginsConfiguration.txt not found, adding template" - if cp -f /opt/vrs/PluginsConfiguration.txt "${VRS_CONFIG_DIR}/PluginsConfiguration.txt" - then - echo "[$APPNAME][$(date)] PluginsConfiguration.txt not found, adding template - OK" - else - echo "[$APPNAME][$(date)] PluginsConfiguration.txt not found, adding template - Failure" - fi - else - echo "[$APPNAME][$(date)] PluginsConfiguration.txt found, not touching anything" -fi - -# Starting VRS temporarily to create a username and password if none exist -# If VRS has been initialized previously this step will be skipped. -# If it hasn't, a username / password and a bunch of other files will be created... -# ...and VRS will actually stay up and run. We will shut it down after a max runtime of $MAXTIME secs. -if [ ! -e "${VRS_CONFIG_DIR}/Configuration.xml" ] -then - echo "[$APPNAME][$(date)] No Configuration.xml found, doing first run initialization." - cd "${VRS_DIR}" - # shellcheck disable=SC2068,SC2086 - timeout "$MAXTIME" exec ${VRS_EXEC} ${VRS_CMDLINE[@]} #>/dev/null 2>&1 - echo "[$APPNAME][$(date)] Virtual Radar Server has been initialized." -else - echo "[$APPNAME][$(date)] Configuration.xml found, skipping initialization." -fi - -# Replace 127.0.0.1 With ReadSB -sed -i "s#
127.0.0.1
#
${VRS_SBSHOST:-readsb}
#g" "${VRS_CONFIG_DIR}/Configuration.xml" -sed -i "s#30003#${VRS_SBSPORT:-30003}#g" "${VRS_CONFIG_DIR}/Configuration.xml" - -#Injecting settings for silhouettes, OpFlags and DB into Configuration.xml -if ! grep -q "" "${VRS_CONFIG_DIR}/Configuration.xml" -then - sed -i "/^ .*/a \ \/root/.local/share/VirtualRadar/db/BaseStation.sqb" "${VRS_CONFIG_DIR}/Configuration.xml" - echo "[$APPNAME][$(date)] Added database filename to Configuration.xml" -else - echo "[$APPNAME][$(date)] DatabaseFileName found, not touching config." -fi - -if ! grep -q "" "${VRS_CONFIG_DIR}/Configuration.xml" -then - sed -i "/^ .*/a \ \/root/.local/share/VirtualRadar/flags" "${VRS_CONFIG_DIR}/Configuration.xml" - echo "[$APPNAME][$(date)] Added Operator Flags folder to Configuration.xml" -else - echo "[$APPNAME][$(date)] OperatorFlagsFolder found, not touching config." -fi - -if ! grep -q "" "${VRS_CONFIG_DIR}/Configuration.xml" -then - sed -i "/^ .*/a \ \/root/.local/share/VirtualRadar/silhouettes" "${VRS_CONFIG_DIR}/Configuration.xml" - echo "[$APPNAME][$(date)] Added Silhouettes folder to Configuration.xml" -else - echo "[$APPNAME][$(date)] SilhouettesFolder found, not touching config." -fi - -#cleanup and exit -[[ -f "${VRS_CONFIG_DIR}/BaseStation.zip" ]] && rm -f "${VRS_CONFIG_DIR}/BaseStation.zip" || true -echo "[$APPNAME][$(date)] Cleaned up downloaded files." -echo "[$APPNAME][$(date)] Finished basic configuration." - -exit 0 diff --git a/rootfs/etc/cont-init.d/60-marker b/rootfs/etc/cont-init.d/60-marker deleted file mode 100755 index 5cb8049..0000000 --- a/rootfs/etc/cont-init.d/60-marker +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -APPNAME="$(hostname)/vrs-ccmarker" -#VRS_DIR="/opt/vrs" -VRS_CONFIG_DIR="/root/.local/share/VirtualRadar" -VRS_EXTENSION_DIR="/root/.local/share/VirtualRadar/CustomContent/CustomInjectedFiles" - -#PluginConfig Settings (escaped) -CCMARKER_DISABLED="%3cInjectSettings%3e%0a++++%3cInjectSettings%3e%0a++++++%3cEnabled%3efalse%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e\*%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3etrue%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fMyMarkers1\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -CCMARKER_ENABLED="%3cInjectSettings%3e%0a++++%3cInjectSettings%3e%0a++++++%3cEnabled%3etrue%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e\*%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3etrue%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fMyMarkers1\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" - -#Downloadlinks -EXT_MARKERS_LINK="https://raw.githubusercontent.com/rikgale/VRSCustomMarkers/main/MyMarkers1.html" -EXT_HFDLMARKERS_LINK="https://raw.githubusercontent.com/rikgale/VRSCustomMarkers/main/MyMarkers1HFDL.html" - -echo "[$APPNAME][$(date)] Starting CustomContent Markers script..." - -#Create the directory in case it's not there -mkdir -p "${VRS_CONFIG_DIR}/CustomContent/CustomInjectedFiles" - -if [[ -n "${VRS_ENHANCED_MARKERS}" ]] - then - echo "[$APPNAME][$(date)] Downloading and installing Custom Markers" - #normal markers - if [[ "${VRS_ENHANCED_MARKERS}" == "normal" ]] - then - echo "[$APPNAME][$(date)] Normal Custom markers" - if curl --fail -s -L -o "${VRS_EXTENSION_DIR}/MyMarkers1.html" ${EXT_MARKERS_LINK} - then - echo "[$APPNAME][$(date)] Normal Custom marker file download - OK" - echo "[$APPNAME][$(date)] Injecting custom marker config into PluginsConfiguration.txt" - if sed -i -e "s/$CCMARKER_DISABLED/$CCMARKER_ENABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt - then - echo "[$APPNAME][$(date)] Custom marker config enabled - OK" - else - echo "[$APPNAME][$(date)] Custom marker config enabled - Failure" - fi - else - echo "[$APPNAME][$(date)] Normal Custom marker file download - Failure" - fi - #HFDL markers - elif [[ "${VRS_ENHANCED_MARKERS}" == "HFDL" ]] || [[ "${VRS_ENHANCED_MARKERS}" == "hfdl" ]] - then - echo "[$APPNAME][$(date)] HFDL Custom markers" - if curl --fail -s -L -o "${VRS_EXTENSION_DIR}/MyMarkers1.html" ${EXT_HFDLMARKERS_LINK} - then - echo "[$APPNAME][$(date)] HFDL Custom marker file download - OK" - echo "[$APPNAME][$(date)] Injecting custom marker config into PluginsConfiguration.txt" - if sed -i -e "s/$CCMARKER_DISABLED/$CCMARKER_ENABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt - then - echo "[$APPNAME][$(date)] Custom marker config enabled - OK" - else - echo "[$APPNAME][$(date)] Custom marker config enabled - Failure" - fi - else - echo "[$APPNAME][$(date)] HFDL Custom marker file download - Failure" - fi - #disabled - elif [[ "${VRS_ENHANCED_MARKERS}" == "disabled" ]] || [[ "${VRS_ENHANCED_MARKERS}" == "false" ]] - then - echo "[$APPNAME][$(date)] HFDL Custom markers disabled" - if sed -i -e "s/$CCMARKER_ENABLED/$CCMARKER_DISABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt - then - echo "[$APPNAME][$(date)] Custom marker config disabled - OK" - else - echo "[$APPNAME][$(date)] Custom marker config disabled - Failure" - fi - - else echo "[$APPNAME][$(date)] yaml setting unkown. Check readme." - fi - else - echo "[$APPNAME][$(date)] Custom Markers not enabled" -fi - -#cleanup and exit -exit 0 diff --git a/rootfs/etc/cont-init.d/61-layer b/rootfs/etc/cont-init.d/61-layer deleted file mode 100755 index 3f0379b..0000000 --- a/rootfs/etc/cont-init.d/61-layer +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -APPNAME="$(hostname)/vrs-cclayer" -#VRS_DIR="/opt/vrs" -VRS_CONFIG_DIR="/root/.local/share/VirtualRadar" -VRS_EXTENSION_DIR="/root/.local/share/VirtualRadar/CustomContent/CustomInjectedFiles" - -#PluginConfig Settings (escaped) -LAYER_EOB_DISABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3efalse%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e\*%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fEndOfBody\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -LAYER_EOB_ENABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3etrue%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e\*%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fEndOfBody\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -LAYER_EOH_DISABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3efalse%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e\*%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eHead%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fEndOfHead\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -LAYER_EOH_ENABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3etrue%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e\*%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eHead%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fEndOfHead\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -LAYER_SCALE_DISABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3efalse%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e%2fdesktop\.html%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fScale\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -LAYER_SCALE_ENABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3etrue%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e%2fdesktop\.html%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fScale\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -LAYER_FULLSCREEN_DISABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3efalse%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e%2fdesktop\.html%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fFullScreen\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" -LAYER_FULLSCREEN_ENABLED="%3cInjectSettings%3e%0a++++++%3cEnabled%3etrue%3c%2fEnabled%3e%0a++++++%3cPathAndFile%3e%2fdesktop\.html%3c%2fPathAndFile%3e%0a++++++%3cInjectionLocation%3eBody%3c%2fInjectionLocation%3e%0a++++++%3cStart%3efalse%3c%2fStart%3e%0a++++++%3cFile%3e%2froot%2f\.local%2fshare%2fVirtualRadar%2fCustomContent%2fCustomInjectedFiles%2fFullScreen\.html%3c%2fFile%3e%0a++++%3c%2fInjectSettings%3e%0a" - -#Downloadlinks -EXT_LAYERS_LINK="https://github.com/rikgale/VRSCustomLayers/raw/main/VRSCustomLayers.zip" - -echo "[$APPNAME][$(date)] Starting CustomContent Layers script..." - -#Create the directory in case it's not there -[ -d "${VRS_EXTENSION_DIR}" ] && mkdir -p "${VRS_CONFIG_DIR}/CustomContent/CustomInjectedFiles" - -if [[ -n "${VRS_ENHANCED_LAYERS_COUNTRY}" ]] - then - #cleaning up first - cd "${VRS_EXTENSION_DIR}" || exit - rm "${VRS_CONFIG_DIR}/CustomContent/CustomInjectedFiles"/*.geojson - echo "[$APPNAME][$(date)] Downloading and installing Enhanced Layers" - if curl --fail --compressed -s -L -o "${VRS_EXTENSION_DIR}/enhancedlayers.zip" ${EXT_LAYERS_LINK} &&\ - unzip -q -o "${VRS_EXTENSION_DIR}/enhancedlayers.zip" &&\ - rm "${VRS_EXTENSION_DIR}/enhancedlayers.zip" &&\ - cp -r "${VRS_EXTENSION_DIR}"/VRSCustomLayers/* "${VRS_EXTENSION_DIR}" &&\ - cp -r "${VRS_EXTENSION_DIR}"/'Put these files in VRS root folder'/* "${VRS_EXTENSION_DIR}" &&\ - rm -r 'Put these files in VRS root folder' - then - echo "[$APPNAME][$(date)] Enhanced Layers archive download and uncompress - OK" - case "${VRS_ENHANCED_LAYERS_COUNTRY,,}" in - (uk) echo "[$APPNAME][$(date)] Enhanced Layers renaming country files for: ${VRS_ENHANCED_LAYERS_COUNTRY}" - rename -f 's/UK//' -- *.geojson - ;; - (de) echo "[$APPNAME][$(date)] Enhanced Layers renaming country files for: ${VRS_ENHANCED_LAYERS_COUNTRY}" - rename -f 's/DE//' -- *.geojson - ;; - (usa1) echo "[$APPNAME][$(date)] Enhanced Layers renaming country files for: ${VRS_ENHANCED_LAYERS_COUNTRY}" - rename -f 's/USA1//' -- *.geojson - ;; - (usaaz) echo "[$APPNAME][$(date)] Enhanced Layers renaming country files for: ${VRS_ENHANCED_LAYERS_COUNTRY}" - rename -f 's/USAAZ//' -- *.geojson - ;; - (se) echo "[$APPNAME][$(date)] Enhanced Layers renaming country files for: ${VRS_ENHANCED_LAYERS_COUNTRY}" - rename -f 's/SE//' -- *.geojson - ;; - (au) echo "[$APPNAME][$(date)] Enhanced Layers renaming country files for: ${VRS_ENHANCED_LAYERS_COUNTRY}" - rename -f 's/AU//' -- *.geojson - ;; - (*) echo "[$APPNAME][$(date)] Unknown or wrong country, default set to UK" - ;; - esac - if sed -i -e "s/$LAYER_EOB_DISABLED/$LAYER_EOB_ENABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt &&\ - sed -i -e "s/$LAYER_EOH_DISABLED/$LAYER_EOH_ENABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt &&\ - sed -i -e "s/$LAYER_SCALE_DISABLED/$LAYER_SCALE_ENABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt &&\ - sed -i -e "s/$LAYER_FULLSCREEN_DISABLED/$LAYER_FULLSCREEN_ENABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt - then - echo "[$APPNAME][$(date)] Enhanced Layers config enabled - OK" - else - echo "[$APPNAME][$(date)] Enhanced Layers config enabled - Failure" - fi - if ! [[ -n "${VRS_ENHANCED_LAYERS_OPENAIP_APIKEY}" || "${VRS_ENHANCED_LAYERS_OPENWX_APIKEY}" ]] - then - echo "[$APPNAME][$(date)] VRS_ENHANCED_LAYERS_OPENAIP_APIKEY and VRS_ENHANCED_LAYERS_OPENWX_APIKEY not set. Expect those layers not to work." - else - if sed -i -e "s/##OPENWXAPIKEY##/${VRS_ENHANCED_LAYERS_OPENWX_APIKEY}/g" ${VRS_EXTENSION_DIR}/EndOfBody.html &&\ - sed -i -e "s/##OPENAIPKEY##/${VRS_ENHANCED_LAYERS_OPENAIP_APIKEY}/g" ${VRS_EXTENSION_DIR}/EndOfBody.html - then - echo "[$APPNAME][$(date)] Enhanced Layers API Keys config injection - OK" - else - echo "[$APPNAME][$(date)] Enhanced Layers API Keys config injection - Failure" - fi - fi - if [[ -n "${VRS_ENHANCED_LAYERS_CONFIG}" ]] - then - #shellcheck disable=SC2001 - sed -i "s|##EXTERNALCONFIG##|$(sed -e 's|/\*[^*]*\*/||g' <<< "${VRS_ENHANCED_LAYERS_CONFIG//[[:space:]]/}")|g" "${VRS_EXTENSION_DIR}"/EndOfBody.html - fi - else - echo "[$APPNAME][$(date)] Enhanced Layers archive download and uncompress - Failure" - fi - else - echo "[$APPNAME][$(date)] Enhanced Layers not set in the yaml. Exiting." - if sed -i -e "s/$LAYER_EOB_ENABLED/$LAYER_EOB_DISABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt &&\ - sed -i -e "s/$LAYER_EOH_ENABLED/$LAYER_EOH_DISABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt &&\ - sed -i -e "s/$LAYER_SCALE_ENABLED/$LAYER_SCALE_DISABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt &&\ - sed -i -e "s/$LAYER_FULLSCREEN_ENABLED/$LAYER_FULLSCREEN_DISABLED/g" ${VRS_CONFIG_DIR}/PluginsConfiguration.txt - then - echo "[$APPNAME][$(date)] Enhanced Layers config enabled - OK" - else - echo "[$APPNAME][$(date)] Enhanced Layers config enabled - Failure" - fi - exit 0 -fi -#cleanup and exit -exit 0 diff --git a/rootfs/etc/services.d/autoupdate/run b/rootfs/etc/services.d/autoupdate/run deleted file mode 100644 index f03aecd..0000000 --- a/rootfs/etc/services.d/autoupdate/run +++ /dev/null @@ -1,324 +0,0 @@ -#!/usr/bin/with-contenv bash -#shellcheck shell=bash disable=SC2128 - -APPNAME="$(hostname)/autoupdate" -VRS_CONFIG_DIR="/root/.local/share/VirtualRadar" -VRS_EXTENSION_DIR="/root/.local/share/VirtualRadar/CustomContent/CustomInjectedFiles" -export VRS_CONFIG_DIR - -#Silhouettes, OpFlags and DB -SILH_LINK="https://github.com/rikgale/VRSOperatorFlags/raw/main/Silhouettes.zip" -SILH_DV_LINK="https://github.com/rikgale/VRSOperatorFlags/raw/main/DVSilhouettes.zip" -FLAGS_LINK="https://github.com/rikgale/VRSOperatorFlags/raw/main/OperatorFlags.zip" -#we need a permanent variable to reset if the sils are changed -SILH_FILE="$VRS_CONFIG_DIR/silh" - -#rickgales extras -#LocalAircraft.txt -EXT_LOCALAC_LINK="https://raw.githubusercontent.com/rikgale/LocalAircraft/main/LocalAircraft.txt" -#ExtraMarkers -EXT_MARKERS_LINK="https://raw.githubusercontent.com/rikgale/VRSCustomMarkers/main/MyMarkers1.html" -EXT_HFDLMARKERS_LINK="https://raw.githubusercontent.com/rikgale/VRSCustomMarkers/main/MyMarkers1HFDL.html" - -#sqb update link -FULLAIRCRAFT_LINK="https://github.com/rikgale/VRSData/raw/main/FullAircraft.zip" -INCREMENTAL_UPD_LINK="https://raw.githubusercontent.com/rikgale/VRSData/main/DailyUpdates/" - -#Variables for optimized downloads -WHICHREPO="https://api.github.com/repos/rikgale/VRSOperatorFlags/branches" -WHICHBRANCH="main" -ACTUALFILE="$VRS_CONFIG_DIR/commitid" -#the same for CustomMarkers -WHICHREPO_CM="https://api.github.com/repos/rikgale/VRSCustomMarkers/branches" -WHICHBRANCH_CM="main" -ACTUALFILE_CM="$VRS_CONFIG_DIR/commitid_cm" -#and the sqb -WHICHREPO_SQB="https://api.github.com/repos/rikgale/VRSData/branches" -WHICHBRANCH_SQB="main" -ACTUALFILE_SQB="$VRS_CONFIG_DIR/commitid_sqb" - -#Tine of the updatecheck. Changed from 02:20 to 03:30 to hopefully prevent any daylightsavings mishaps -UPDATETIME="03:20" - -#Failsetting for the SQB Backup -SQBFAIL=0 - -#Give VRS a bit of time to start -sleep 5 - -#Who we are and what we are doing -echo "[$APPNAME][$(date)] Autoupdate service started." - -#mopping up first because of some changes - incremental updates -[[ -f "${VRS_CONFIG_DIR}/db/FullAircraft.csv" ]] && rm -f "${VRS_CONFIG_DIR}/db/FullAircraft.csv" - -if [[ -n "${VRS_DEBUG_NOAUTOUPDATE}" ]] - then - echo "[$APPNAME][$(date)] debugging set, exited" - sleep infinity -fi - -#Let's go -while true -do - #lets reset this variable first - export FULLAIRCRAFT_NAME="none" - #we need these in the loop, otherwise they will never get updated - ACTUAL=$(<"$ACTUALFILE") - PROBE=$(curl -sH "Accept: application/vnd.github.v3+json" $WHICHREPO | awk "c&&!--c;/$WHICHBRANCH/{c=2}" | awk '/"sha"/ { print $2}' | sed 's/"//g;s/.$//g') - #The same check as above but for the custom markers - ACTUAL_CM=$(<"$ACTUALFILE_CM") - PROBE_CM=$(curl -sH "Accept: application/vnd.github.v3+json" $WHICHREPO_CM | awk "c&&!--c;/$WHICHBRANCH_CM/{c=2}" | awk '/"sha"/ { print $2}' | sed 's/"//g;s/.$//g') - #and the database - ACTUAL_SQB=$(<"$ACTUALFILE_SQB") - PROBE_SQB=$(curl -sH "Accept: application/vnd.github.v3+json" $WHICHREPO_SQB | awk "c&&!--c;/$WHICHBRANCH_SQB/{c=2}" | awk '/"sha"/ { print $2}' | sed 's/"//g;s/.$//g') - #Here are some files we're gonna update anyway, no matter of repo updates - echo "[$APPNAME][$(date)] Updating LocalAircraft.txt" - if curl --fail -s -L -o "${VRS_CONFIG_DIR}/LocalAircraft.txt" ${EXT_LOCALAC_LINK} - then - echo "[$APPNAME][$(date)] LocalAircraft.txt downloaded and installed successfully" - else - echo "[$APPNAME][$(date)] LocalAircraft.txt - failure" - fi - - #if there is a change in the commit ID, download and install sil/opflags - echo "[$APPNAME][$(date)] ----------------------------------------" - echo "[$APPNAME][$(date)] Looking for Sil / Operator Flags updates" - #following is some logic to force a download of the silh files if the dv envar is changed - SILH_PROBE=$(<"$SILH_FILE") - [ -n "${VRS_SILHOUETTES_DUALVIEW}" ] && echo "dv" > $SILH_FILE || echo "sv" > $SILH_FILE - ACTUAL_SILH=$(<"$SILH_FILE") - if [[ "$SILH_PROBE" != "$ACTUAL_SILH" ]] - then - ACTUAL="reset" - fi - if [[ "$ACTUAL" != "$PROBE" ]] - then - echo "[$APPNAME][$(date)] Looks like there was an update for Sil /Operator Flags. Going to download the files" - echo "$PROBE" > $ACTUALFILE - echo "[$APPNAME][$(date)] Updated $ACTUALFILE to commit ID $PROBE" - if [[ -n "${VRS_SILHOUETTES_DUALVIEW}" ]] - then - if curl --fail --compressed -s -L -o "${VRS_CONFIG_DIR}/silhouettesDV.zip" ${SILH_DV_LINK} && rm ${VRS_CONFIG_DIR}/silhouettes/* && unzip -u -qq -d "${VRS_CONFIG_DIR}/silhouettes" "${VRS_CONFIG_DIR}/silhouettesDV.zip" - then - echo "[$APPNAME][$(date)] Dual View Silhouettes installed successfully" - else - echo "[$APPNAME][$(date)] Dual View Silhouettes not installed - failure" - fi - fi - if [[ -n "${VRS_SILHOUETTES_DUALVIEW}" ]] - then - if curl --fail --compressed -s -L -o "${VRS_CONFIG_DIR}/silhouettes.zip" ${SILH_LINK} && unzip -u -qq -n -d "${VRS_CONFIG_DIR}/silhouettes" "${VRS_CONFIG_DIR}/silhouettes.zip" - then - echo "[$APPNAME][$(date)] Silhouettes installed successfully - DV Setup" - else - echo "[$APPNAME][$(date)] Silhouettes not installed - DV Setup - failure" - fi - else - if curl --fail --compressed -s -L -o "${VRS_CONFIG_DIR}/silhouettes.zip" ${SILH_LINK} && unzip -u -qq -o -d "${VRS_CONFIG_DIR}/silhouettes" "${VRS_CONFIG_DIR}/silhouettes.zip" - then - echo "[$APPNAME][$(date)] Silhouettes installed successfully" - else - echo "[$APPNAME][$(date)] Silhouettes not installed - failure" - fi - fi - #download and install operator flags - if curl --fail --compressed -s -L -o "${VRS_CONFIG_DIR}/OperatorFlags.zip" ${FLAGS_LINK} && unzip -u -qq -o -d "${VRS_CONFIG_DIR}/flags" "${VRS_CONFIG_DIR}/OperatorFlags.zip" - then - echo "[$APPNAME][$(date)] Operator Flags installed successfully" - else - echo "[$APPNAME][$(date)] Operator Flags not installed - failure" - fi - else - echo "[$APPNAME][$(date)] No changes found, nothing was downloaded." - fi - #looking for updates of the custom markers html file - echo "[$APPNAME][$(date)] ----------------------------------------" - echo "[$APPNAME][$(date)] Looking for updates for the custom markers file" - if [[ "$ACTUAL_CM" != "$PROBE_CM" ]] - then - echo "[$APPNAME][$(date)] Looks like there was an update for the custom markers. Going to download the file" - echo "$PROBE_CM" > $ACTUALFILE_CM - echo "[$APPNAME][$(date)] Updated $ACTUALFILE_CM to commit ID $PROBE_CM" - if [[ "${VRS_ENHANCED_MARKERS}" == "normal" ]] - then - if curl --fail -s -L -o "${VRS_EXTENSION_DIR}/MyMarkers1.html" ${EXT_MARKERS_LINK} - then - echo "[$APPNAME][$(date)] New ADSB custom marker file installed successfully" - else - echo "[$APPNAME][$(date)] New ADSB custom marker file not installed - failure" - fi - elif [[ "${VRS_ENHANCED_MARKERS}" == "HFDL" ]] || [[ "${VRS_ENHANCED_MARKERS}" == "hfdl" ]] - then - if curl --fail -s -L -o "${VRS_EXTENSION_DIR}/MyMarkers1.html" ${EXT_HFDLMARKERS_LINK} - then - echo "[$APPNAME][$(date)] New HFDL custom marker file installed successfully" - else - echo "[$APPNAME][$(date)] New HFDL custom marker file not installed - failure" - fi - else - echo "[$APPNAME][$(date)] No custom markers downloaded, not set in the yaml." - fi - else - echo "[$APPNAME][$(date)] No changes found, nothing was downloaded." - fi - #BaseSation SQB Update - if [[ -n "${VRS_DB_UPDATE_POLICY_FULLAUTO}" ]] - then - echo "[$APPNAME][$(date)] ----------------------------------------" - echo "[$APPNAME][$(date)] Looking for updates for the BaseStation.sqb" - if [[ "$ACTUAL_SQB" != "$PROBE_SQB" ]] - then - echo "[$APPNAME][$(date)] Looks like there was an update for the database. Going to download the updatefile" - #date of yesterday portion for the filename - DATE_YESTERDAY=$(date -d "yesterday" -I) - INCREMENTAL_UPD_FILENAME="Updates_${DATE_YESTERDAY}.zip" - INCREMENTAL_UPD_DL_LINK="${INCREMENTAL_UPD_LINK}${INCREMENTAL_UPD_FILENAME}" - if curl --fail --compressed -s -L -o "${VRS_CONFIG_DIR}/db/${INCREMENTAL_UPD_FILENAME}" "${INCREMENTAL_UPD_DL_LINK}" && FULLAIRCRAFT_NAME=$(unzip -o "${VRS_CONFIG_DIR}/db/${INCREMENTAL_UPD_FILENAME}" -d "${VRS_CONFIG_DIR}/db/" | grep inflating | awk -F "/" '{print $NF}') - then - echo "[$APPNAME][$(date)] Incremental Update file ${INCREMENTAL_UPD_DL_LINK} downloaded" - echo "[$APPNAME][$(date)] Filename extrated from the zip: ${FULLAIRCRAFT_NAME}" - export FULLAIRCRAFT_NAME - else - echo "[$APPNAME][$(date)] no incremental update file found, going to download the full update" - if curl --fail --compressed -s -L -o "${VRS_CONFIG_DIR}/db/FullAircraft.zip" ${FULLAIRCRAFT_LINK} && FULLAIRCRAFT_NAME=$(unzip -o "${VRS_CONFIG_DIR}/db/FullAircraft.zip" -d "${VRS_CONFIG_DIR}/db/" | grep inflating | awk -F "/" '{print $NF}') - then - echo "[$APPNAME][$(date)] Download of the latest FullAircraft update file - OK" - echo "[$APPNAME][$(date)] Filename extrated from the zip: ${FULLAIRCRAFT_NAME}" - export FULLAIRCRAFT_NAME - else - echo "[$APPNAME][$(date)] Download of the latest FullAircraft update file - FAIL!" - SQBFAIL=1 - fi - fi - #shutting down VRS for the DB backup and update -# echo "[$APPNAME][$(date)] Shutting down VRS temporarily as we are going to deal with the database." -# s6-svc -wD -d -T 5000 /run/s6/services/vrs/ -# echo "[$APPNAME][$(date)] It's dead, Jim" - sleep 1 - #delete the prior backup -# if [ -e "${VRS_CONFIG_DIR}/db/Basestation_Backup.sqb" ] -# then -# mv -f "${VRS_CONFIG_DIR}"/db/Basestation_Backup.sqb "${VRS_CONFIG_DIR}"/db/Basestation_Backup.sqb.1 -# echo "[$APPNAME][$(date)] Prior backup moved to secondary." -# else -# echo "[$APPNAME][$(date)] No prior backup found." -# fi - echo "[$APPNAME][$(date)] Create a backup of the BaseStation.sqb" - if [[ -n "${VRS_DB_UPDATE_BACKUP_UNCOMPRESSED}" ]] - then - if [ -e "${VRS_CONFIG_DIR}/db/Basestation_Backup.sqb" ] - then - mv -f "${VRS_CONFIG_DIR}"/db/Basestation_Backup.sqb "${VRS_CONFIG_DIR}"/db/Basestation_Backup.sqb.1 - echo "[$APPNAME][$(date)] Prior backup moved to secondary." - else - echo "[$APPNAME][$(date)] No prior backup found." - fi - #uncompressed backup - if /opt/vrs/scripts/db_backup - then - echo "[$APPNAME][$(date)] Uncompressed Backup of BaseStation.sqb - OK" - else - echo "[$APPNAME][$(date)] Uncompressed Backup of BaseStation.sqb - FAIL!" - SQBFAIL=1 - fi - else - if [ -e "${VRS_CONFIG_DIR}/db/Basestation_Backup.sqb.gz" ] - then - mv -f "${VRS_CONFIG_DIR}"/db/Basestation_Backup.sqb.gz "${VRS_CONFIG_DIR}"/db/Basestation_Backup.sqb.gz.1 - echo "[$APPNAME][$(date)] Prior backup moved to secondary." - else - echo "[$APPNAME][$(date)] No prior backup found." - fi - #compressed backup - if /opt/vrs/scripts/db_backup && gzip -f ${VRS_CONFIG_DIR}/db/Basestation_Backup.sqb - then - echo "[$APPNAME][$(date)] Compressed Backup of BaseStation.sqb - OK" - else - echo "[$APPNAME][$(date)] Compressed Backup of BaseStation.sqb - FAIL!" - SQBFAIL=1 - fi - fi - #Starting the merge process - but check for any fails first. If one is found, we'll nope out here - if ! [[ $SQBFAIL == 0 ]] - then - echo "[$APPNAME][$(date)] Something went wrong with the Updatefile or the backup. Merge will be skipped" - else - echo "[$APPNAME][$(date)] Merging updates into BaseStation.sqb - this might take a few moments" - #we want to see how long this takes... - sleep 2 - if TIMEFORMAT='Runtime of the update: %R seconds.' - time { - if [[ -n "${VRS_DB_UPDATE_WITH_VACUUM}" ]] - then - echo "[$APPNAME][$(date)] Started script with vacuum" - /opt/vrs/scripts/update_with_vacuum - else - echo "[$APPNAME][$(date)] Started script without vacuum" - /opt/vrs/scripts/update_without_vacuum - fi - } - then - echo "[$APPNAME][$(date)] Merging updates into BaseStation.sqb - OK" - echo "$PROBE_SQB" > $ACTUALFILE_SQB - echo "[$APPNAME][$(date)] Updated $ACTUALFILE_SQB to commit ID $PROBE_SQB" - else - echo "[$APPNAME][$(date)] Merging updates into BaseStation.sqb - FAIL!" - echo "[$APPNAME][$(date)] Restoring Backup." - if [[ -n "${VRS_DB_UPDATE_BACKUP_UNCOMPRESSED}" ]] - then - #uncompressed restore - echo "[$APPNAME][$(date)] Sleeping for 2 Seconds to let VRS do it's thing with the db" - sleep 2 - if /opt/vrs/scripts/db_restore - then - echo "[$APPNAME][$(date)] Uncompressed Restore of BaseStation.sqb - OK" - else - echo "[$APPNAME][$(date)] Uncompressed Restore of BaseStation.sqb - FAIL!" - fi - else - #compressed restore - echo "[$APPNAME][$(date)] Sleeping for 2 Seconds to let VRS do it's thing with the db" - sleep 2 - if gunzip -f -k ${VRS_CONFIG_DIR}/db/Basestation_Backup.sqb.gz && /opt/vrs/scripts/db_restore - then - echo "[$APPNAME][$(date)] Compressed Restore of BaseStation.sqb - OK" - else - echo "[$APPNAME][$(date)] Compressed Restore of BaseStation.sqb - FAIL!" - fi - fi - fi - fi - #Restarting VRS after we're finished with the DB thingies - echo "[$APPNAME][$(date)] DB maintenance finished" -# s6-svc -u /run/s6/services/vrs/ - else - echo "[$APPNAME][$(date)] No update for the database found" - fi - else - echo "[$APPNAME][$(date)] VRS_DB_UPDATE_POLICY_FULLAUTO not set, skipped DB updates" - fi - - #cleaning up downloaded files - [[ -f "${VRS_CONFIG_DIR}/silhouettes.zip" ]] && rm -f "${VRS_CONFIG_DIR}/silhouettes.zip" - [[ -f "${VRS_CONFIG_DIR}/OperatorFlags.zip" ]] && rm -f "${VRS_CONFIG_DIR}/OperatorFlags.zip" - #deleting any left over .csv files in the db folder - DBUPDATECSVFILES=("${VRS_CONFIG_DIR}/db/*.csv") - for CSVUPD in $DBUPDATECSVFILES - do -# echo "[$APPNAME][$(date)] Deleting file: ${CSVUPD}" - rm -f "${CSVUPD}" - done - [[ -f "${VRS_CONFIG_DIR}/db/${INCREMENTAL_UPD_FILENAME}" ]] && rm -f "${VRS_CONFIG_DIR}/db/${INCREMENTAL_UPD_FILENAME}" - [[ -d "${VRS_EXTENSION_DIR}/VRSCustomLayers" ]] && rm -r -f "${VRS_EXTENSION_DIR}/VRSCustomLayers" - echo "[$APPNAME][$(date)] Cleaned up downloaded files - if any" - #calculationg the next run - NEXTRUN_SECONDS=$((($(date -f - +%s- <<<${UPDATETIME}$' tomorrow\nnow')0)%86400)) - TIMENOW=$(date +%s) - SECONDS_TO_NEXT=$((TIMENOW+NEXTRUN_SECONDS)) - NEXTRUN_TIME=$(date --date @$SECONDS_TO_NEXT) - echo "[$APPNAME][$(date)] Finished. Next run in $NEXTRUN_TIME" - echo "[$APPNAME][$(date)] ----------------------------------------" - #sleep a bit until the next run - sleep $NEXTRUN_SECONDS -done diff --git a/rootfs/etc/services.d/vrs/run b/rootfs/etc/services.d/vrs/run deleted file mode 100755 index ab231a1..0000000 --- a/rootfs/etc/services.d/vrs/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/with-contenv bash -#shellcheck shell=bash disable=SC2015 - -APPNAME="$(hostname)/vrs-runtime" -VRS_DIR="/opt/vrs" -VRS_EXEC="mono VirtualRadar.exe" -VRS_CMDLINE=() -VRS_CMDLINE+=("-nogui") -[[ -n "${VRS_CULTURE}" ]] && VRS_CMDLINE+=("-culture:${VRS_CULTURE}") || true - -# start VRS and keep it in the foreground: -cd "${VRS_DIR}" || exit -echo "[$APPNAME][$(date)] Starting ${VRS_DIR}/${VRS_EXEC} ${VRS_CMDLINE[*]}" -#exec ${VRS_EXEC} ${VRS_CMDLINE[@]} | stdbuf -o0 awk -v label=${APPNAME} '{print "[" label "][" strftime("%F %T%z", systime()) "] " $0}' -exec ${VRS_EXEC} "${VRS_CMDLINE[@]}" - -#by wiedehopf. Trying to fix the s6-svc pipe trouble -#trap 'kill 0' TERM -#( ${VRS_EXEC} ${VRS_CMDLINE[@]} | stdbuf -o0 awk -v label=${APPNAME} '{print "[" label "][" strftime("%F %T%z", systime()) "] " $0}' )