跳至内容

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 应用 → 设置 → 集成密钥,找到您的默认 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.