WP Manifestindependent plugin directory
manifest / updates / savedpixel-remote-backup-monitor

SavedPixel Remote Backup Monitor WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-

Monitor remote SavedPixel backup sites, track backup freshness, and pull completed artifacts into central storage.

★ 7stars
4release downloads
v1.3.0latest · 6mo ago

Install

Download savedpixel-remote-backup-monitor-1.0.zip From the v1.0 release on GitHub, Mar 13, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/savedpixel/savedpixel-remote-backup-monitor/releases/download/v1.0/savedpixel-remote-backup-monitor-1.0.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Monitor remote SavedPixel backup sites from one dashboard and pull finished artifacts into local storage.

What It Does

SavedPixel Remote Backup Monitor is a central oversight tool for remote WordPress sites running SavedPixel Remote Backup. It stores remote site definitions, polls their backup endpoints, tracks freshness and schedule state, shows transfer progress, downloads finished artifacts into local storage, and can trigger remote backups on demand or on a fallback schedule when remote WP-Cron is unreliable.

Key Workflows

  • Add a remote site with a label and optional pull token.
  • Poll a single site or all monitored sites to refresh status.
  • Pull the latest database or files backup from a remote site into central storage.
  • Watch transfer progress live and cancel a running download if needed.
  • Review recent history and locally stored pulled backups per monitored site.
  • Trigger a remote database, files, or combined backup directly from the monitor UI.
  • Configure per-site schedule mode to use remote schedules or monitor-side overrides.
  • Automatically trigger and pull backups on a fallback schedule when remote WP-Cron is unreliable.

Features

  • Standalone monitor plugin with its own storage, logger, monitor core, admin JS, and admin CSS.
  • Works independently from the backup plugin on the monitor site.
  • Remote site registry with labels, URLs, and optional pull-token support.
  • On-demand polling and scheduled due-site polling.
  • Status-only monitoring mode when a site is added without a pull token.
  • Remote schedule sync so the monitor can track when database or files backups are expected to run.
  • Database and files artifact pulls into local storage on the monitor site.
  • Live transfer progress cards with byte counts, percentages, and cancel controls.
  • Async loopback runner fallback for long-running actions when the server cannot finish the response in the background.
  • Per-site history and local pulled-backup storage metadata.
  • Manual remote backup triggering from the monitor dashboard.
  • Per-site schedule mode selection (remote schedule vs monitor override).
  • Monitor-side override scheduling with separate database/files frequency, time, and weekday controls.
  • Automatic fallback scheduling and trigger when remote WP-Cron is unreliable.
  • Auto-pull of completed backup artifacts after monitor-triggered backups.
  • Pending-run tracking and duplicate trigger prevention.
  • Automatic migration of settings and cron schedules from pre-1.3.0 prefix format.
  • Header action buttons for Pull All Now, Monitor Settings, and Add Site.
  • Monitor Settings and Add Site presented as popup modals matching the shared sp-modal design system.
  • Trigger & Schedule Settings modal with modern form layout, labeled fields, and schedule sections.
  • Shared transfer-progress modal with dismiss-to-inline continuation for remote pulls.
  • Shared backup-state reporting so the monitor UI can show remote plugin version, schedule, freshness, and last-download status.
  • Per-site detail panel with identity/actions band, Schedule/Timing/Storage summary cards, and collapsible history panels.
  • Single-panel-open enforcement with snapshot-refresh state preservation for the detail layout.

Admin Page

The Backup Monitor page shows a header row with Back to Overview, Pull All Now, Monitor Settings, and Add Site buttons. Monitor Settings and Add Site open as popup modals. The monitored-site table shows status, schedule, backup window, pull info, and per-site actions. Each site's gear icon opens a Trigger & Schedule Settings modal with labeled form fields for pull token, schedule mode, auto-pull toggle, database/files schedule overrides, and manual trigger buttons. Active pulls open the shared transfer-progress modal and can be dismissed into a full-width inline progress row above the monitored-sites table. Clicking the eye icon on a table row opens a rich detail panel below the table with three bands: site identity and action buttons, Schedule/Timing/Storage summary cards, and a collapsible history section with Recent Checks and Saved Backups tables. Only one detail panel is open at a time.

Requirements

  • WordPress 6.5 or later
  • PHP 8.1 or later

Installation

  1. Upload the savedpixel-remote-backup-monitor folder to wp-content/plugins/.
  2. Activate the plugin from the WordPress Plugins screen.
  3. Open SavedPixel > Backup Monitor.
  4. Add remote sites that already run SavedPixel Remote Backup, then supply a pull token for any site that should allow artifact downloads.

Usage Notes

  • This plugin can trigger remote backups when the monitored site has SavedPixel Remote Backup v1.1.0+ with a valid pull token.
  • A monitored site can be tracked without a pull token, but downloads and remote triggering require pull access on the remote site.
  • The monitor site stores pulled artifacts locally for later review or handoff.

Author

Byron Jacobs
GitHub

License

GPL-2.0-or-later

Releases

4 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.3.0 latest
Apr 10, 2026 6mo ago
tag only
—
Mar 27, 2026 7mo ago
tag only
—
Mar 23, 2026 7mo ago
tag only
—
Mar 13, 2026 7mo ago
savedpixel-remote-backup-monitor-1.0.zip
4
C- grade

Security

SavedPixel Remote Backup Monitor 1.0 · audited by WP Registry

High-severity findings.

1 high
Audited release
1.0
Findings
1
Worst severity
high
Content hash
13dd5e4527993aaacb17f8e8…

Findings

  • high Backup artifacts and pull tokens stored in the document root with only Apache .htaccess

    file_access

    RB_STORAGE_DIR defaults to {ABSPATH}/storage/ (site-root URL /storage/) and RB_DATA_DIR to wp-content/remote-backup/data/. Activation and every save_json/download path call ensure_directories(), which writes index.php ('Silence is golden') and, only if missing, an Apache 2.2 htaccess of 'Order deny,allow\nDeny from all' on the two roots — no Apache 2.4 'Require all denied', no web.config, no nginx snippet, no php_flag engine off, and no htaccess inside per-site subdirectories. index.php does not stop a direct request for a sibling .json/.sql.gz/.zip/.php file. monitor-sites.json is a fixed, guessable path and stores pull_token in plaintext; pulled artifacts are named db-{timestamp}{ext} / files-{timestamp}{ext} under /storage/{remote-hostname}/, and poll_due_sites sets download_artifacts=true so a pull-enabled site deposits dumps on the five-minute cron without a further click. On any host that does not process that htaccess (nginx/LiteSpeed without Apache override, IIS, Apache AllowOverride None, Apache 2.4 without mod_access_compat), an unauthenticated visitor can read pull tokens and remote database/files backups. remote_pull_artifact_extension() also preserves the catalog filename's extension, so a malicious or compromised remote catalog can cause a .php write under /storage/ that the web server would execute if PHP is enabled there. sslverify is false on the catalog/download requests, so the download_url from remote JSON is fetched with no host allowlist.

    includes/class-remote-backup-storage.php:13-43

    Recommendation

    Store artifacts and monitor JSON outside the document root (or behind a PHP capability-checked download that never exposes a direct file URL). If a web-accessible directory cannot be avoided, use a long random path, write Apache 2.4 and 2.2 deny rules plus an IIS web.config, disable PHP execution, and document the nginx deny. Do not keep pull tokens in a static JSON file under wp-content. Allowlist artifact extensions to .sql.gz/.zip and reject download_url hosts that do not match the monitored site.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.