All Projects → andrewchambers → Bupstash

andrewchambers / Bupstash

Licence: mit
Easy and efficient encrypted backups.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Bupstash

Rxfingerprint
Android Fingerprint authentication and encryption with RxJava
Stars: ✭ 373 (-18.38%)
Mutual labels:  encryption
Docker Ipsec Vpn Server
Docker image to run an IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
Stars: ✭ 4,356 (+853.17%)
Mutual labels:  encryption
Covertutils
A framework for Backdoor development!
Stars: ✭ 424 (-7.22%)
Mutual labels:  encryption
Libzip
A C library for reading, creating, and modifying zip archives.
Stars: ✭ 379 (-17.07%)
Mutual labels:  encryption
Vbad
VBA Obfuscation Tools combined with an MS office document generator
Stars: ✭ 403 (-11.82%)
Mutual labels:  encryption
Cloak
Elixir encryption library designed for Ecto
Stars: ✭ 413 (-9.63%)
Mutual labels:  encryption
Constellation
Peer-to-peer encrypted message exchange
Stars: ✭ 365 (-20.13%)
Mutual labels:  encryption
Symmetric Encryption
Symmetric Encryption for Ruby Projects using OpenSSL
Stars: ✭ 436 (-4.6%)
Mutual labels:  encryption
Tutanota
Tutanota is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.
Stars: ✭ 4,326 (+846.61%)
Mutual labels:  encryption
Link Lock
Password-protect URLs using AES in the browser; create hidden bookmarks without a browser extension
Stars: ✭ 418 (-8.53%)
Mutual labels:  encryption
Hawk
✔️ Secure, simple key-value storage for Android
Stars: ✭ 3,827 (+737.42%)
Mutual labels:  encryption
Sharpyshell
SharPyShell - tiny and obfuscated ASP.NET webshell for C# web applications
Stars: ✭ 402 (-12.04%)
Mutual labels:  encryption
Libdime
The DIME resolver library and command line utilities.
Stars: ✭ 416 (-8.97%)
Mutual labels:  encryption
Raasnet
Open-Source Ransomware As A Service for Linux, MacOS and Windows
Stars: ✭ 371 (-18.82%)
Mutual labels:  encryption
Scytale
One tool to manage key generation, key storing and encryption on different APIs of Android.
Stars: ✭ 432 (-5.47%)
Mutual labels:  encryption
Cingulata
Cingulata (pronounced "tchingulata") is a compiler toolchain and RTE for running C++ programs over encrypted data by means of fully homomorphic encryption techniques.
Stars: ✭ 369 (-19.26%)
Mutual labels:  encryption
S2n Tls
s2n : an implementation of the TLS/SSL protocols
Stars: ✭ 4,029 (+781.62%)
Mutual labels:  encryption
Algo
Set up a personal VPN in the cloud
Stars: ✭ 24,275 (+5211.82%)
Mutual labels:  encryption
Xorstr
heavily vectorized c++17 compile time string encryption.
Stars: ✭ 435 (-4.81%)
Mutual labels:  encryption
Eth Crypto
Cryptographic javascript-functions for ethereum and tutorials to use them with web3js and solidity
Stars: ✭ 420 (-8.1%)
Mutual labels:  encryption

Bupstash

Gitter

Bupstash is a tool for encrypted backups - if you need secure backups, Bupstash is the tool for you.

Bupstash was designed to have:

  • Efficient deduplication - Bupstash can store hundreds of encrypted directory snapshots using a fraction of the space encrypted tarballs would require.

  • Strong privacy - Data is encrypted client side and the repository never needs has access to the decryption keys.

  • Offline decryption keys - Backups do not require the decryption key be anywhere near an at-risk server or computer.

  • Key/value tagging with search - all while keeping the tags fully encrypted.

  • Great performance on slow networks - Bupstash really strives to work well on high latency networks like cellular and connections to far-off lands.

  • Secure remote access controls - Ransomware, angry spouses, and disgruntled business partners will be powerless to delete your remote backups.

  • Efficient incremental backups - Bupstash knows what it backed up last time and skips that work.

  • Fantastic performance with low ram usage - Bupstash won't bog down your production servers.

  • Safety against malicious attacks - Bupstash is written in a memory safe language to dramatically reduce the attack surface over the network.

Stability and Backwards Compatibility

Bupstash is alpha software, while all efforts are made to keep bupstash bug free, we currently recommend using bupstash for making REDUNDANT backups where failure can be tolerated.

The repository format is approaching stability, and will not be changed in a backwards incompatible way unless there is very strong justification. Future changes will most likely be backwards compatible, or come with a migration path if it is needed at all.

Guides, documentation and support

Typical usage

Initialize a new Bupstash repository via ssh.

$ export BUPSTASH_REPOSITORY=ssh://$SERVER/home/me/backups
$ bupstash init

Create a new encryption key, and tell bupstash to use it.

$ bupstash new-key -o backups.key
$ export BUPSTASH_KEY="$(pwd)/backups.key"

Save a directory as a tarball snapshot.

$ bupstash put hostname="$(hostname)" ./some-data
ebb66f3baa5d432e9f9a28934888a23d

Save the output of a command, checking for errors.

$ bupstash put --exec name=database.sql pgdump mydatabase
14ebd2073b258b1f55c5bbc889c49db4

List items matching a query.

$ bupstash list name="backup.tar" and hostname="server-1"
id="bcb8684e6bf5cb453e77486decf61685" name="some-file.txt" hostname="server-1" timestamp="2020/07/27 11:26:16"

Get an item matching a query.

$ bupstash get id=bcb8684e6bf5cb453e77486decf61685
some data...

$ bupstash get id="ebb66*" | tar -C ./restore -xf -

Remove items matching a query.

$ bupstash rm name=some-data.txt and older-than 30d

Run the garbage collector to reclaim disk space.

$ bupstash gc

Installation

From source

First ensure you have a recent rust+cargo, pkg-config and libsodium-dev package installed.

Next clone the repository and run cargo build.

$ git clone https://github.com/andrewchambers/bupstash
$ cd bupstash
$ cargo build --release
$ cp ./target/release/bupstash $INSTALL_DIR

Test suites

Install bash automated test framework and run the following to run both the unit tests, and cli integration test suite.

$ cargo test
$ cargo build --release
$ export PATH=`pwd`/target/release:$PATH
$ bats ./cli-tests

Precompiled releases

Head to the releases page and download for a build for your platform. Simply extract the archive and add the single bupstash binary to your PATH.

Currently we only precompile for linux (help wanted for more platforms).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].