Coder Social home page Coder Social logo

acrosync-library's Introduction

acrosync-library

Acrosync is a new cross-platform rsync client for Windows/Max/iOS/Android that we built from scratch, without taking any code from the open source rsync project.

This is the library behind Acrosync, which implements a large portion of the client-side of the (undocumented) rsync protocol, including the famous delta sync algorithm.

PhotoBackup, our iOS app for uploading photos and videos to computers, uses a slightly modified version of this library.

##Features

  • Talks the rsync protocol version 29 (rsync 2.6.4+) and version 30 (rsync 3.x.x).
  • Written in C++ and builds on Win32, Mac OS X, Linux, iOS, and Android.
  • The only dependencies are libssh2 and openssl.
  • Can connect to the rsync server either via ssh, or via the rsync daemon protocol.
  • For ssh connections, supports both password login and public key authentication (with or without a passphrase).
  • Symbolic links are supported.

Build Instructions

First you'll need to install openssl and libssh2. Assume we're on a linux machine and these two packages are already installed in the default locations.

Run the following command to build the test programs:

$ python qi/qi-make.py test

You will find a new executable build-linux/rsync/t_rsync_client which can download a remote directory using the rsync over ssh protocol:

$ build-linux/rsync/t_rsync_client <server> <username> <password> <remote dir> <local dir>

The same build command works for Mac and Windows, but you will need to install openssl and libssh2 to a subdirectory named install-mac or install-win under the top level directory.

Here the build system is written with Qi-Make, a tool that we developed by extending the basic syntax of make. The file qi/qi_build.h contains actual rules for building intermediate objects and final test programs. It should be fairly easy to make changes for your own build environments.

##License

This library is licensed under the Reciprocal Public License. If this license does not work for you, a commercial license is available for a one-time fee or on a subscription basis. Contact [email protected] for licensing details.

acrosync-library's People

Contributors

gilbertchen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.