Omahub
← All plugins
T

SABarchy

by thecdrz

A keyboard-first SABnzbd queue, history, and recovery dashboard for Omarchy Quattro.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
0fc7d5e
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

Low
AI risk level
Low
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
0fc7d5e
Reviewed
1 month ago

SABarchy is a local-only SABnzbd dashboard that communicates exclusively with 127.0.0.1, reads the API key from the local config file, and performs user-initiated queue actions (pause/resume/retry/archive). The Python helper is well-hardened: it disables redirects and proxies, enforces response and output size limits, validates all fields, and never passes the API key on the command line. No obfuscation, persistence, destructive commands, or credential exfiltration were found.

  • The helper uses an unverified SSL context for loopback HTTPS, which is acceptable for local self-signed certificates but technically allows a local MITM; this is a minor, expected trade-off for local-only operation.
  • The plugin runs with the user's full permissions inside the unsandboxed Omarchy shell, so it can control SABnzbd and open folders via xdg-open; this is inherent to the plugin's purpose and not a hidden risk.
How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/thecdrz/omarchy-sabarchy --enable
System #bar #quickshell #system

SABarchy

The visual SABnzbd dashboard for Omarchy.

A keyboard-first SABnzbd queue dashboard for Omarchy 4 Quattro. It keeps active downloads, post-processing, failures, and recent history visible in a compact theme-aware panel.

Screenshots

Active Omarchy 4 download with clear history

Failure recovery and low-disk warning

Failed download with retry controls and a low-disk warning

Tokyo Night

Active queue and recent history using Tokyo Night

Features

  • Live queue speed, ETA, state, and job progress
  • Stage-aware colors as a job moves through download, verify, unpack, and failure
  • Bar failure indicator when history issues need attention
  • Desktop notifications for finished and failed downloads, with an optional sound
  • Click a notification to open the SABarchy panel
  • Open a completed job's folder straight from the history
  • Responsive 620–960px layout with virtualized, bounded queue and history lists
  • Incremental loading for large queues and histories
  • Pause and resume from the bar or panel
  • Expand active jobs for category, priority, labels, size, and individual pause/resume
  • Keyboard navigation for selecting, expanding, pausing, and collapsing jobs
  • A guided first-run state when SABnzbd has not been configured yet
  • Preserve the last good snapshot during temporary disconnects and show its age
  • Warn when SABnzbd reports less free disk space than the configured threshold
  • Filter completed jobs and issues, retry failures, and archive completed history after confirmation
  • Opens the SABnzbd web interface directly
  • Reads the API key from the local SABnzbd configuration; credentials never appear in QML, shell configuration, or process arguments
  • Local-only by design

Requirements

  • Omarchy Quattro with omarchy-shell
  • SABnzbd running locally
  • Python 3 (standard library only)

Start SABnzbd once before enabling the widget so it creates ~/.sabnzbd/sabnzbd.ini.

Install

omarchy plugin add https://github.com/thecdrz/omarchy-sabarchy.git --enable

For local development:

cp -a . ~/.config/omarchy/plugins/io.github.thecdrz.sabarchy
omarchy-shell shell rescanPlugins
omarchy plugin enable io.github.thecdrz.sabarchy

Usage

  • Left click the bar widget to open the pipeline
  • Right click the widget to pause or resume the queue
  • r refreshes the panel
  • O opens SABnzbd
  • f opens the selected completed job's folder
  • Up/Down or j/k move through the active queue and recent history
  • Enter or Space expands or collapses the selected job
  • p pauses or resumes the selected active job
  • P pauses or resumes the entire queue
  • R retries a selected failed history item
  • X collapses open job details
  • Esc closes the panel

Configuration

The widget auto-detects ~/.sabnzbd/sabnzbd.ini and ~/.config/sabnzbd/sabnzbd.ini. If SABnzbd uses another location, set SABnzbd config path in the Omarchy bar settings. The refresh interval defaults to three seconds.

Notifications fire for downloads that finish or fail while the panel is closed; the first snapshot after a reload only builds a baseline, so existing history never triggers a burst. Failures arrive as critical notifications, and more than five finished jobs collapse into one summary. Play a sound with notifications uses the freedesktop sound theme through PipeWire.

Low disk warning (GB) defaults to 20 and accepts 0 to disable the warning entirely. Open folder actions launch xdg-open on the absolute local path SABnzbd reports for a completed job.

Security

The bundled helper reads only SABnzbd's local configuration and contacts only 127.0.0.1 on SABnzbd's configured port. The API key is used inside the Python process and is never passed on the command line.

Local HTTPS is supported, including SABnzbd installations using a self-signed certificate. Certificate verification is relaxed only for the loopback address; the helper will not contact a remote host.

“Clear completed” uses SABnzbd's normal history archive operation. It does not delete downloaded files and does not clear failed history items.

Development previews

The helper includes deterministic snapshots for visual regression testing without live downloads:

bin/sabnzbd-pipeline-api snapshot --demo downloading
bin/sabnzbd-pipeline-api snapshot --demo clean
bin/sabnzbd-pipeline-api snapshot --demo processing
bin/sabnzbd-pipeline-api snapshot --demo multiple
bin/sabnzbd-pipeline-api snapshot --demo paused
bin/sabnzbd-pipeline-api snapshot --demo failed
bin/sabnzbd-pipeline-api snapshot --demo large
bin/sabnzbd-pipeline-api snapshot --demo not-configured
bin/sabnzbd-pipeline-api snapshot --demo offline

To load one in the installed widget, temporarily add "_demoState": "downloading" to its entry in ~/.config/omarchy/shell.json. This private key is intentionally absent from the public settings schema.

Add "_demoCompact": true alongside it to force the 620px compact layout. Fixture retry actions are simulated and never sent to SABnzbd.

"_demoExpandFirst": true expands the first active job. "_demoStale": true previews the retained-data state. The failed fixture also exercises the low-disk warning. "_demoExpandHistory": true expands the first history item.

"_demoNotify": "completed", "failed", or "both" sends sample notifications once the demo snapshot loads, so notification appearance can be checked without a live download. Fixture retry and open-folder actions are simulated and never sent to SABnzbd or passed to xdg-open.

Run the helper tests with python -m unittest discover -s tests -v.

License

MIT

Remove

omarchy plugin remove io.github.thecdrz.sabarchy