跳至內容

SABnzbd

在 Lock Screen 上追蹤下載進度。即時檢視檔名、速度、剩餘時間與後處理階段。

Live Activity 示範

How It Works

The pushward-sabnzbd bridge container runs an HTTP server that receives webhooks from SABnzbd and tracks download and post-processing progress.

  1. Webhook -- SABnzbd notifies the bridge when a download is added
  2. Download tracking -- polls SABnzbd every 5s (configurable), showing progress, speed (MB/s), ETA, and file name
  3. Post-processing -- tracks Verifying, Repairing, Extracting, and Moving phases
  4. Queue continuation -- if more downloads appear, continues tracking
  5. Summary -- shows total size, duration, and average speed before cleanup

Setup

1. Get Your Integration Key

開啟 PushWard App → 設定 → 整合金鑰,即可找到您的預設 hlk_ 金鑰。

若要為此整合建立專屬金鑰:

  1. 前往 設定 → 管理金鑰
  2. 點按 +
  3. 設定名稱(例如「SABnzbd」),選擇 , 範圍,並可選擇性限定於sabnzbd
  4. 複製產生的 hlk_ 金鑰

2. Deploy the Bridge

docker-compose.yml
services:
  pushward-sabnzbd:
    image: ghcr.io/mac-lucky/pushward-sabnzbd:latest
    ports:
      - "8090:8090"
    environment:
      PUSHWARD_URL: https://api.pushward.app
      PUSHWARD_API_KEY: hlk_YOUR_INTEGRATION_KEY
      PUSHWARD_SABNZBD_URL: http://sabnzbd:8080
      PUSHWARD_SABNZBD_API_KEY: your-sabnzbd-api-key
    restart: unless-stopped

3. Configure SABnzbd Notification Script

In SABnzbd, configure a notification script that sends a POST request to the bridge webhook:

  1. Go to Config > Notifications
  2. Under Notification Script, add a script that calls the webhook
  3. Enable notifications for NZB added

Alternatively, use a curl-based script:

notify.sh
#!/bin/bash
curl -X POST http://pushward-sabnzbd:8090/webhook \
  -H "X-Webhook-Secret: your-secret"

The secret is defined on the bridge container (the PUSHWARD_SABNZBD_WEBHOOK_SECRET env var above) and sent by this script; SABnzbd itself has no field for it.

Configuration

環境變數說明預設值
PUSHWARD_URLPushWard server URL--
PUSHWARD_API_KEYIntegration key (hlk_ prefix)--
PUSHWARD_SABNZBD_URLSABnzbd API URL--
PUSHWARD_SABNZBD_API_KEYSABnzbd API key--
PUSHWARD_SABNZBD_WEBHOOK_SECRETOptional shared secret. When set, POST /webhook requires a matching X-Webhook-Secret header.--
PUSHWARD_SERVER_ADDRESSHTTP listen address:8090
PUSHWARD_PRIORITYActivity priority (0-10)1
PUSHWARD_POLL_INTERVALPoll interval during tracking (min 1s)5s
PUSHWARD_CLEANUP_DELAYDelay before cleanup after completed15m
PUSHWARD_STALE_TIMEOUTEnds activity if no updates received30m
PUSHWARD_SABNZBD_TEMPLATEDisplay template (generic or timeline)generic

Download Phases

PhaseLive ActivityColor
StartingStarting...Blue
Downloading12.3 MB/s · avg 11Blue
PausedPausedBlue
VerifyingVerifying...Orange
RepairingRepairing...Orange
ExtractingExtracting...Orange
CompleteCompleteGreen
💡 提示

The bridge automatically resumes tracking if it detects active downloads on startup, so it recovers gracefully from restarts.

Templates

SABnzbd supports two display templates, configured via PUSHWARD_SABNZBD_TEMPLATE:

TemplateDisplay
generic (default)Progress bar with speed, ETA, and file name
timelineSparkline chart showing download speed over time, with speed (MB/s) as the primary metric

Activity Slug Format

Uses a fixed slug: sabnzbd. All downloads are tracked under a single activity.