=== VPS Snaps ===
Contributors: vpssnaps
Tags: backup, restore, migration, cloud storage, s3
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Off-site backups for WordPress sites with no SSH access. Backups go to your own cloud storage, through your VPS Snaps account.

== Description ==

VPS Snaps backs up WordPress sites that cannot run a shell — the shared hosting where
`exec()` is disabled, there is no `mysqldump`, and nobody can add a cron job.

Backups are written to **your own** cloud storage (S3, Cloudflare R2, Backblaze B2,
DigitalOcean Spaces, Wasabi, any S3-compatible bucket, or Google Drive). The plugin never
holds your storage credentials: it asks VPS Snaps for a short-lived, single-file upload
link each time it needs one, so a break-in on this site cannot reach the rest of your
bucket. A restore from Google Drive is given a Google token that expires within the hour
and reaches only the files VPS Snaps created, never the rest of your Drive.

= What this plugin sends to an external service =

This plugin requires an account at [vpssnaps.com](https://vpssnaps.com) and does not work
without one. There is a free tier that covers one site, one backup job and one storage
destination, which is everything this plugin needs; paid plans exist for people running
more than one site. Nothing in this plugin is switched on or off by which plan you are on.

You paste a site token from your dashboard into the plugin, and the plugin then talks to
`https://vpssnaps.com` to:

* register this site — its URL, WordPress version, and plugin version;
* ask whether there is a backup or restore to run;
* report progress and results;
* request a temporary upload or download link for one file at a time;
* report a fatal error raised by this plugin's own code, so a backup that has
  silently stopped working can be found and fixed. This is sent only when the
  plugin itself fatals, and carries the error message, the file name and line,
  your PHP and WordPress versions, and nothing else. Fatal errors from other
  plugins and from WordPress are not sent.

Your site's content is uploaded to the storage bucket **you** configure in your VPS Snaps
account. It does not pass through vpssnaps.com.

* Terms: https://vpssnaps.com/terms
* Privacy: https://vpssnaps.com/privacy

When that storage is Google Drive, the plugin uploads backups to, and downloads them for a
restore from, Google's Drive API at `https://www.googleapis.com`, in the Google account you
connected in VPS Snaps. Nothing else is sent to Google.

* Google Terms of Service: https://policies.google.com/terms
* Google Privacy Policy: https://policies.google.com/privacy

= Security =

Every instruction this plugin receives is signed with your site token and verified before
anything runs. An instruction that does not verify is refused and reported, not executed.

== Installation ==

1. Install and activate the plugin.
2. In your VPS Snaps dashboard, create a site token.
3. Go to **Settings → VPS Snaps**, paste the token, and save. The page will tell you
   immediately whether the connection worked.

== Frequently Asked Questions ==

= Do I need SSH or a cron job? =

No. That is the point of this plugin. If your host *does* let you add a real cron job,
pointing one at `wp-cron.php` makes scheduling more reliable — see below.

= Will backups run exactly on schedule? =

Not exactly. WordPress runs scheduled tasks when someone visits the site rather than on a
clock, so on a quiet site a check can run late or be skipped. Treat backup times as
approximate. A real cron job calling `wp-cron.php` every minute removes the guesswork.

= Where are my backups stored? =

In the bucket or Google Drive you configured in your VPS Snaps account. You keep ownership and access.

= Is multisite supported? =

Not in this version.

== Changelog ==

= 1.0.1 =
* Safer restores: a file in a backup is never written outside your site, even if the path check runs into an unexpected error.
* The plugin page and banner now list Google Drive alongside S3-compatible storage.

= 1.0.0 =
* First stable release: backups, restores and site migrations, run from your VPS Snaps dashboard.
* Restore from backups stored in Google Drive.

= 0.1.1 =
* Large backups upload without being held in memory, using WordPress's built-in HTTP functions.
* The plugin reports its own errors to VPS Snaps, so a backup that stops working shows in your dashboard instead of failing silently. See "What this plugin sends to an external service".
* Translation fix.

= 0.1.0 =
* First release: connects your site to VPS Snaps.
