=== NetRestore ===
Contributors: netchameleon
Tags: backup, restore, google drive, dropbox, onedrive
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Back up your whole site to your own Google Drive, Dropbox or OneDrive, on a schedule, and restore it in a few clicks.

== Description ==

NetRestore backs up your database, media, themes, plugins and other files, and stores the backup in your own cloud storage — not on someone else's servers. If an update, a hack or a server failure breaks your site, you can put it back from the Backups screen.

* **Google Drive, Dropbox and OneDrive.** Connect any of them. NetRestore can only see the files and folder it creates.
* **Works on shared hosting.** Backups and restores run in short steps and carry on where they stopped, so large sites don't time out.
* **Scheduled backups.** Daily, weekly or monthly, at a time you choose. Keeps the number of backups you choose and deletes older ones.
* **Restore in a few clicks.** A safety copy of your current database is saved first, so a restore can be undone.
* **Checked backups.** Every file gets a checksum, which is checked again before a restore.
* **Recover onto a new server.** Install WordPress and NetRestore, connect the same storage, and NetRestore finds your backups.
* **Plain formats.** Files are ordinary zip files; the database is a gzipped SQL file you can import with phpMyAdmin.
* **No nagging.** Notices only when something needs your attention, and you can dismiss them.

= NetRestore Pro =

An optional add-on from netchameleon.co.uk adds incremental backups, more frequent schedules, a backup before every update, partial restores, encryption, moving a site to a new address, and sending each backup to several places at once. Everything above stays free.

== External services ==

NetRestore connects to a cloud storage service only after you connect it on the Storage tab, and only to store, list, download and delete your backups and to show the connected account name and free space.

* **Google Drive** (Google LLC) — accounts.google.com, oauth2.googleapis.com and www.googleapis.com. Sends: your backup files, their names and your sign-in tokens. [Terms](https://policies.google.com/terms), [Privacy](https://policies.google.com/privacy).
* **Dropbox** (Dropbox, Inc.) — www.dropbox.com, api.dropboxapi.com and content.dropboxapi.com. Sends: your backup files, their names and your sign-in tokens. [Terms](https://www.dropbox.com/terms), [Privacy](https://www.dropbox.com/privacy).
* **OneDrive** (Microsoft Corporation) — login.microsoftonline.com and graph.microsoft.com. Sends: your backup files, their names and your sign-in tokens. [Terms](https://www.microsoft.com/servicesagreement), [Privacy](https://privacy.microsoft.com/privacystatement).

Sign-in uses an app you register with the provider (the Storage tab walks you through it). Nothing is sent to Netchameleon.

NetRestore also sends requests to your own site (admin-ajax.php) to run the next step of a backup in the background.

== Installation ==

1. Install and activate NetRestore.
2. Go to Netchameleon → NetRestore → Storage and connect Google Drive, Dropbox or OneDrive.
3. On Schedule, choose how often to back up.
4. On Backups, click "Back up now".

== Frequently Asked Questions ==

= Where are backups kept while they're being made? =

In a folder in wp-content with a random name, protected from web access. Unless you choose to keep a copy on the server, it's removed once the backup is uploaded.

= Does it back up WordPress itself? =

No — WordPress core can be reinstalled. To recover on a new server, install WordPress and NetRestore there, connect the same storage, click "Look in …" on the Backups tab, and restore.

= Is wp-config.php restored? =

It's backed up, but not written back during a restore, so the new server's database details stay as they are.

= What does it need from my server? =

PHP 7.4 or newer with the Zip extension, and enough free disk space to build a backup before it's uploaded.

== Changelog ==

= 1.0.0 =
* First release.
