From 6b2c69af53f89c0c7cfaa32c721a8dbb462a9b5f Mon Sep 17 00:00:00 2001 From: CrazyWolf13 Date: Mon, 11 May 2026 12:09:04 +0200 Subject: [PATCH] fix: qbittorrent-exporter for 5.2 --- tools/addon/qbittorrent-exporter.sh | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/tools/addon/qbittorrent-exporter.sh b/tools/addon/qbittorrent-exporter.sh index d1e63b476..2ae006518 100644 --- a/tools/addon/qbittorrent-exporter.sh +++ b/tools/addon/qbittorrent-exporter.sh @@ -68,6 +68,24 @@ function uninstall() { # ============================================================================== function update() { if check_for_gh_release "qbittorrent-exporter" "martabal/qbittorrent-exporter"; then + if [[ "$(printf '%s\n' "2.0.0" "$CHECK_UPDATE_RELEASE" | sort -V | tail -n1)" == "$CHECK_UPDATE_RELEASE" ]] && \ + ! grep -q "QBITTORRENT_API_KEY" "$CONFIG_PATH" 2>/dev/null; then + echo "" + msg_warn "Version 2.0.0 introduces a breaking change: username/password login has been replaced by an API key." + echo -e "${TAB}${INFO} You must create an API key in qBittorrent under Tools > Options > Web UI > API key" + echo "" + echo -n "${TAB}Enter your qBittorrent API key (or press Enter to abort): " + read -r QBITTORRENT_API_KEY + if [[ -z "$QBITTORRENT_API_KEY" ]]; then + msg_warn "No API key provided. Update aborted." + exit 0 + fi + sed -i '/^QBITTORRENT_USERNAME=/d' "$CONFIG_PATH" + sed -i '/^QBITTORRENT_PASSWORD=/d' "$CONFIG_PATH" + echo "QBITTORRENT_API_KEY=\"${QBITTORRENT_API_KEY}\"" >>"$CONFIG_PATH" + msg_ok "API key saved to configuration" + fi + msg_info "Stopping service" if [[ "$OS" == "Alpine" ]]; then rc-service qbittorrent-exporter stop &>/dev/null @@ -101,9 +119,8 @@ function update() { # ============================================================================== function install() { read -erp "Enter URL of qBittorrent, example: (http://127.0.0.1:8080): " QBITTORRENT_BASE_URL - read -erp "Enter qBittorrent username: " QBITTORRENT_USERNAME - read -rsp "Enter qBittorrent password: " QBITTORRENT_PASSWORD - printf "\n" + echo -e "${TAB}${INFO} Create an API key in qBittorrent under Tools > Options > Web UI > API key" + read -erp "Enter qBittorrent API key: " QBITTORRENT_API_KEY fetch_and_deploy_gh_release "qbittorrent-exporter" "martabal/qbittorrent-exporter" "tarball" "latest" setup_go @@ -116,8 +133,7 @@ function install() { cat <"$CONFIG_PATH" # https://github.com/martabal/qbittorrent-exporter?tab=readme-ov-file#parameters QBITTORRENT_BASE_URL="${QBITTORRENT_BASE_URL}" -QBITTORRENT_USERNAME="${QBITTORRENT_USERNAME}" -QBITTORRENT_PASSWORD="${QBITTORRENT_PASSWORD}" +QBITTORRENT_API_KEY="${QBITTORRENT_API_KEY}" EOF msg_ok "Created configuration"