User:Crazycomputers/sandbox/Restic

Restic is a deduplicating backup software with a strong focus on ease of use without compromising security and integrity. It runs on various Unix-like operating systems as well as Windows.

Many storage backends are supported, including local filesystem, SFTP server (via SSH), HTTP REST server (using rest-server ), S3 (from Amazon AWS or using Minio), OpenStack Swift, Backblaze B2, Microsoft Azure Blob Storage and Google Cloud Storage.

History
Restic development began in April 2014 and the first release was version 0.1.0 in August 2015.

Restic has been packaged for various operating systems and distributions, including macOS, Arch Linux, Nix &amp; NixOS, Debian and Docker.

Design
The main design goals of restic are simplicity and speed to encourage backing up and easy restoring, verifiable backups, strong security, a small footprint, and being free for anyone to use. The restic design document elaborates on the technical details of its design.

Being built in Go, restic supports multiple platforms and operating systems, single binary distribution and also cross-compiling.

Restic uses a repository format where any file is written only once and never modified, which allows for multiple clients to access and write to the repository in parallel. Multiple access keys per repository is supported.

Restic has built-in deduplication, allowing it to upload only the relevant parts of changed files, thereby reducing the amount of data that needs to be transferred when backing up incrementally. Compression is currently not implemented, but is being worked on.

A prominent feature of restic is the ability to mount a repository using FUSE, in order to present the user with a browsable directory tree containing the various snapshots and their files and directories, allowing for quick and ad-hoc restores. This feature is not available on Windows and OpenBSD.

By using a local cache, restic can limit the amount of data that has to be downloaded from the repository, speeding up certain operations (at the cost of some disk space).

Reception
In an interview in the Go Time podcast, restic author Alexander Neumann was invited to discuss the choice of Go for building restic, as well as challenges along the way.

Cryptographer Filippo Valsorda did an informal review of restic's cryptography in a post on his blog.

Restic author Alexander Neumann was invited to give a lecture at FrOSCon 2015 in Bonn, Germany.

Another talk was given by Alexander Neumann at CCC Cologne e.V. in Cologne, Germany in 2016.