marcusklaas / backbonzo Goto Github PK
View Code? Open in Web Editor NEWsecure backup automater in rust
License: MIT License
secure backup automater in rust
License: MIT License
We probably need to store hashes after encryption as well, which will inflate our index size... The alternative is to decrypt files and compute hashes after. Which can be done now by restoring to /dev/null
.
Need to think about this a bit more...
For example when a directory contains a symlink to itself. The easiest solution would be to ignore symlinks altogether.
It seems to die on cargo test because sqlite3 cannot handle pragma queries very well...
Specifically on how to drive this thing.
Should be twice as dense as hex encoding.
Idem for &Path
/ PathBuf
.
Number of deleted blocks/ bytes.
It will show up in the process list etc. There are plenty of alternatives:
Check that data has not been tampered with
Write 1 hour and 30 seconds
instead of 3630 seconds
, for example.
This way we don't wait for the sqlite file to be flushed to disk for every update. It will speed up the backup process significantly.
With a commit hash, version and link to this page.
Goal is to make clear to whoever finds a backbonzo backup what it is and how to decrypt it.
If we manage this ourselves, we no longer have to pass databases to our exporter threads. It will reduce database contention as well. Ideally, we'd just use the sqlite database a storage mechanism. We could do the same for file hashes.
Combining a backup and cleanup in a single operation is problematic. When a file backup isn't fully completed in a backup due to a time out, its blocks are removed in the cleanup. This means work is discarded.
After many months of neglect, it has finally stopped compiling.
For example: set all timestamps to the unix epoch after completing a transfer.
Currently, an attacker can gather more information on the sequence of blocks.
The reason is twofold: std::fs::Metadata
has been removed from the stdlib. Instead, we should use something like https://github.com/alexcrichton/filetime. Secondly, we still rely on the iter_reduce crate, which is gone now. We should be able to switch to itertools relatively easily (http://bluss.github.io/rust-itertools/doc/itertools/trait.Itertools.html#method.fold_results).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.