File synchronization on top of ipfs with git like interface and FUSE filesystem
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Nov 19, 2018
autocomplete cmd: slightly improve stage auto complete Apr 24, 2018
backend backend: ipfs: enable QUIC support Nov 14, 2018
catfs backend: ipfs: fix ipfs api changes Nov 14, 2018
client cmd: disable weird logging from capnp Nov 16, 2018
cmd cmd: readme: fix bad indent Nov 17, 2018
defaults remover another bunch of TODOs Nov 13, 2018
docs docs: small tidy-ups Nov 16, 2018
fuse fuse: test and fix conditional compilation Nov 11, 2018
net cmd: disable weird logging from capnp Nov 16, 2018
repo repo: test: fix build issue Nov 13, 2018
server cmd: disable weird logging from capnp Nov 16, 2018
tests fs: fix another crash in gc Sep 14, 2018
util vendor: monkey patch strings.Builder so we can build on go1.9 Nov 14, 2018
vendor vendor: update capnp Nov 16, 2018
version brig: move main package to github/disorganizer/brig Dec 2, 2017
.gitignore make brig compatible with go1.9 again Nov 9, 2018
.mailmap cmd: Split up handlers.go in specific sub group handlers Dec 10, 2017
.travis.yml travis: add 1.9 and 1.11 Nov 9, 2018
BUGS ipfs: fine tune config a bit Feb 27, 2018 add Nov 9, 2018
Dockerfile cmd: fix a few bugs related to startup code Aug 28, 2018
LICENSE Squashed 'doc/blog/public/' content from commit e8f54cd Jan 16, 2016
Makefile add Nov 9, 2018 Create Nov 19, 2018 cmd: bug: add bug report utility Mar 30, 2018
ROADMAP vcs: diff: make sure that same commit yield an empty diff Jan 26, 2018
brig.go imports: move to new repo location Dec 7, 2017 tests: add integration test framework based on Dockerfile Aug 28, 2018 cmd: implement `brig tar` to easily dump whole directories Oct 10, 2018 cmd: further cleanup of cmd code Aug 29, 2018 cmd: provide "info" command to get the underlying hash of a file Dec 10, 2017

brig: Ship your data around the world

a brig

go reportcard GoDoc Build Status Documentation License: AGPL v3

Table of Contents


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:

  • Encryption of data in rest and transport + compression on the fly.
  • Simplified git version control.
  • 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 currently 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 identification and discovery with users that look like email addresses.

Also take a look at the website draft for a polished list of features.

Getting started


...If you want to know, what to do after you can read the Quickstart.


At the moment it is somewhere in the big void between proof of concept and beta release. If you try it out right now, it will inevitably eat the data you give it and possibly harm your kids. You have been warned. I still encourage you to try it.

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.

If you want to open a bug report, just type brig bug to get a readily filled template for you.


All documentation can be found on


I really would like to work more on brig, but my day job (and the money that comes with it) forbids that. If you're interested in the development and would think about supporting me financially, then please contact me!

If you'd like to give me a small & steady donation, you can always use Liberapay:

Donate using Liberapay

Thank you!


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 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.