unbreak is a secure remote file storage utility written in Haskell.
Other than a working SSH server and an empty directory, it requires no
configuration on the server-side to set up the file storage. Leveraging
existing commands, it simplifies the process of fetching and saving files
with a client-side encryption. It aims to make the work flow natural, as
if the user is using an unencrypted local file, while keeping the
local-remote interaction as rare as possible to be usable even with a
highly unstable Internet connection.
unbreak uses modern crypto primitives such as scrypt and ChaCha20-Poly1305
to protect user security and privacy. Some of its usage is documented in
the Unbreak.Crypto
module. The API is internal and you should not
directly depend on them from your code, but browsing the source code from
the API docs and copying them to adapt to another free software is
highly encouraged.
For a detailed information on how to actually use this utility, please
refer to its official web page at https://e.xtendo.org/scs/unbreak.