100 - 500 downloads

Add this app to your lists
UnisonSync brings the Unison File Synchronizer - a powerful cross-platform file synchronization tool - to Android!

UnisonSync allows you to use Unison without having to use it from the command line. Root is not required.

Unison is a powerful cross-platform file synchronization tool available on Linux, OS X, Windows, etc. Unison takes two roots, that can be on different machines and can be modified separately, and brings them up to date by smartly propagating the changes between the roots.

The key features of Unison are:
- Synchronization between different platforms
- Handles simultaneous updates to both roots
- Smart and safe: Unison resolves most simultaneous changes on both roots automatically, and prompts the user for input if it cannot determine the copy to propagate
- Synchronization to a server over SSH: any machine with an SSH server and Unison can act as server
- Resilient: handles interruptions, network disconnections, etc.
- Bandwidth efficient: the data is transfered by a compressed protocol similar to rsync, and only modified files (or parts of files) are transferred.

As an Android application, UnisonSync hides all the complexities of using Unison on the command line.
UnisonSync allows:
- to generate the public/private keys (using the included OpenSSH) to allow the Android device to connect to the SSH server against which you want .
- to configure the roots and unison parameters (fully manually configurable as well; one profile or synchronization directory at a time only).
- to launch the synchronization (which requires a button press! hint to Tasker users). Synchronization then happens in the background as an Android service. Once the synchronization is over or if user input is needed a notification pops up.
- to browse through Unison's command line output

- Only for ARM devices

UnisonSync comprises binaries of Unison and OpenSSH compiled from the existing open-source repositories (see acknowledgements).
Binaries are packaged alongside UnisonSync's APK, but UnisonSync does not actually link against these unmodified apps.
Therefore UnisonSync does not violate the GPL license.


- Benjamin Pierce et al.'s Unison File Synchronizer (http://www.cis.upenn.edu/~bcpierce/unison)
- Keigo Imai's patch to to cross-compile OCaml on Android (http://sites.google.com/site/keigoattic/ocaml-on-android)
- Jérôme Vouillon's OPAM Android repository (http://github.com/vouillon/opam-android-repository)
- Matt Johnston's Dropbear SSH client (http://matt.ucc.asn.au/dropbear/dropbear.html)

Recently changed in this version

- 04.03.2014:
-- Substituted DropbearSSH with OpenSSH: this requires to regenerate the public/private keys and update the server's authorized keys
-- Bugfix: the interleaving of stdout/stderr on the console was sometimes mixed up; fixed with OpenSSH and native exec


- 14.10.2013: first release (Unison 2.40.102)

Comments and ratings for UnisonSync
  • (56 stars)

    by Tom Bertalan on 21/03/2014

    Works well, but is crippled by its inability to create multiple profiles. This should be an easy fix, since it's built in to unison itself. If this changes, I'll change my rating to five stars. $6 is rather pricey for an app without this feature, especial

  • (56 stars)

    by Tim Abell on 21/03/2014

    Thanks for creating this. Couldn't find proper place for reporting bugs. Loses output on rotation and screen blanking which is a bit annoying but not a showstopper. Automatically creating and sharing the key would be handy. Had issues with "Uncaught exce

  • (56 stars)

    by Geoff M on 13/01/2014

    I was expecting the ability to set up multiple profiles for different directories (like in 'rsync backup for Android'). But apparently it allows only a single account to be set up an run at a time. Am I missing something here?

  • (56 stars)

    by A Google User on 08/12/2013

    Crashed on launch.

  • (56 stars)

    by David Ibbetson on 03/12/2013

    The configuration is somewhat messy but that is a unison problem. You do need to know how to configure the far end to handle the ssh authentication, but I would assume that anyone running unison could do that. Having got it working I didn't want to alter