brig: Ship your data around the world

2018/01/26 17:36
阅读数 85

brig: Ship your data around the world


brig is a distributed & secure file synchronization tool with version control. It is based on ipfs, written in Go and will feel familiar to git users.

Key feature highlights:

  • Works even for nodes that are hidden behind a NAT.
  • Encryption of data in rest and transport + compression on the fly.
  • Simplified git version control (no real branches).
  • Sync algorithm that can handle moved files and empty directories and files.
  • Your data does not need to be stored on the device you are using.
  • FUSE filesystem that feels like a normal (sync) folder.
  • No central server at all. Still, central architectures can be build with brig.
  • Simple user management with users that look like email addresses.
  • Hash algorithm can be changed, unlike with git. ;-)

This project has started end of 2015 and has seen many conceptual changes in the meantime. It started out as research project of two computer science students (me and qitta). After writing our master theses on it, it was put down for a few months until I (sahib) picked at up again and currently am trying to push it to a usable prototype.


In it's current status, it's a working proof of concept. I'd love to work on it more, but my day job (and the money that comes with it) forbids that. If you're interested in the development of brig and would think about supporting me financially, then please contact me!

If you'd like to give me a small donation, you can use liberapay:

Donate using Liberapay


brig tries to focus on being up conceptually simple, by hiding a lot of complicated details regarding storage and security. Therefore I hope the end result is easy and pleasant to use, while being to be secure by default. Since brig is a "general purpose" tool for file synchronization it of course cannot excel in all areas. This is especially true for efficiency, which is sometimes sacrificed to get the balance of usability and security right.


$ go get

That should just work if you previously setup Go. Afterwards you'll have a brig command on your computer, which will print it's help when invoked without any arguments.

Getting started

TODO: Make this an asciinema.

$ mkdir sync
$ cd sync
$ brig init
$ brig cat
$ brig remote add QM123...:Smxyz...


0 收藏
0 评论
0 收藏