MyNixOS website logo
Description

Secure and resilient remote file storage utility.

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.

unbreak is a minimal helper utility to have files accessible, encrypted, and stored remotely, even with an unstable Internet connection. Questions, bug reports, feature requests, and pull requests are welcome.

Current version: 0.3.1 (changelog)

See unbreak's web page for more details.

Build from git source

Stack is the recommended tool to build the latest git version of unbreak.

$ git clone --depth=1 https://github.com/kinoru/unbreak
$ cd unbreak
$ stack install
Metadata

Version

0.3.1

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows