Skip to content

A Java client implementation of the Syncthing protocol

License

Notifications You must be signed in to change notification settings

l-jonas/syncthing-java

 
 

Repository files navigation

a-sync

MPLv2 License

This project is an java client implementation of Syncthing protocols. It is made of several modules, providing:

  1. a command line utility for accessing a Syncthing network (ie a network of devices that speak Syncthing protocols)'

  2. a service implementation for the 'http-relay' protocol (that proxies 'relay' protocol over an http connection);

  3. a client library for Syncthing protocol, that can be used by third-party applications (such as mobile apps) to integrate with Syncthing.

Care is taken to make sure the client library is compatible with android (min sdk 19), so it can be used for the syncthing-lite project.

This is a client-oriented implementation, designed to work online by downloading and uploading files from an active device on the network (instead of synchronizing a local copy of the entire repository). This is quite different from the way the syncthing-android app works, and its useful from those implementations that cannot or wish not to download the entire repository (for example, mobile devices with limited storage available, wishing to access a syncthing share).

Building

The project uses a standard gradle build. After installing gradle, simply run gradle assemble to compile, or gradle install to add it to your local maven repository.

Running

To use the command line client, run gradle run -Pargs="-h".

License

All code is licensed under the MPLv2 License.

About

A Java client implementation of the Syncthing protocol

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 99.8%
  • Shell 0.2%