#!/usr/bin/with-contenv bash echo '------------------------------' echo '| qBittorrent theme.park Mod |' echo '------------------------------' APP_FILEPATH='/config/qBittorrent/qBittorrent.conf' if [ "${TP_HOTIO}" = true ]; then echo 'Changing to Hotio file path!' APP_FILEPATH='/config/config/qBittorrent.conf' fi # Backup config if [[ ! -f "${APP_FILEPATH}.bak" ]]; then echo "Creating qBittorrent.conf backup in /config." cp -p ${APP_FILEPATH} "${APP_FILEPATH}.bak" fi # Restore qBittorrent.conf if [ "${TP_DISABLE_THEME}" = true ]; then echo "Restoring backup of qBittorrent.conf" sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=false/g" "${APP_FILEPATH}"; exit 0 fi if ! [[ -x "$(command -v svn)" ]]; then echo '--------------------------' echo '| Installing svn package |' echo '--------------------------' apt-get update && \ apt-get install -y subversion fi # Display variables for troubleshooting echo -e "Variables set:\\n\ 'APP_FILEPATH'=${APP_FILEPATH}\\n\ 'TP_DISABLE_THEME'=${TP_DISABLE_THEME}\\n\ 'TP_HOTIO'=${TP_HOTIO}\\n\ 'TP_DOMAIN'=${TP_DOMAIN}\\n\ 'TP_THEME'=${TP_THEME}\\n" # Set default if [[ -z ${TP_DOMAIN} ]]; then echo 'No domain set, defaulting to theme-park.dev' TP_DOMAIN='theme-park.dev' fi case ${TP_DOMAIN} in *"github.io"*) echo "Switching to github.io URL style" TP_DOMAIN="${TP_DOMAIN}\/theme.park" ;; esac if [[ -z ${TP_THEME} ]]; then echo 'No theme set, defaulting to organizr-dark' TP_THEME='organizr-dark' fi # Downloading fresh webui files from source. if [[ ! -d /themepark ]]; then echo '---------------------------------------' echo '| Downloading WebUI files from github |' echo '---------------------------------------' printf '\nDownloading qBittorrent webui to "/themepark"..please wait\n' svn export --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/webui/www /themepark printf '\nDownload finished\n\n' printf '\nDownloading qBittorrent webui icons to "/themepark/xxx"..please wait\n' svn export --force --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/icons /temp cp -a /temp/. /themepark/public/icons cp -a /temp/. /themepark/private/icons rm -rf /temp printf '\nDownload finished\n\n' fi sed_file(){ sed -i "s/<\/head>/<\/head> /g" $1 sed -i "s/<\/head>/<\/head> /g" $1 printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1" } # Adding stylesheets echo '---------------------------------------' echo '| Adding the stylesheet to html files |' echo '---------------------------------------' if ! grep -q "${TP_DOMAIN}" /themepark/public/index.html; then sed_file /themepark/public/index.html fi if ! grep -q "${TP_DOMAIN}" /themepark/private/index.html; then find ./themepark/private -type f -iname *.html | while read fname do sed_file $fname done fi if ! grep -q "WebUI\\\RootFolder" "${APP_FILEPATH}"; then echo '--------------------------------------' echo '| Adding WebUI\RootFolder=/themepark |' echo '--------------------------------------' sed -i -e '$aWebUI\\RootFolder=/themepark' "${APP_FILEPATH}"; fi if ! grep -q "WebUI\\\AlternativeUIEnabled" "${APP_FILEPATH}"; then echo '------------------------------------------' echo '| Adding WebUI\AlternativeUIEnabled=true |' echo '------------------------------------------' sed -i -e '$aWebUI\\AlternativeUIEnabled=true' "${APP_FILEPATH}"; fi if ! grep -q "WebUI\\\RootFolder=/themepark" "${APP_FILEPATH}" || ! grep -q "WebUI\\\AlternativeUIEnabled=true" "${APP_FILEPATH}"; then echo '-------------------------------------------------------' echo '| Updating RootFolder and AlternativeUIEnabled values |' echo '-------------------------------------------------------' sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=true/g" "${APP_FILEPATH}"; sed -i "s/WebUI\\\RootFolder=.*$/WebUI\\\RootFolder=\/themepark/g" "${APP_FILEPATH}"; fi