/syncthing-silk

Syncthing-Silk, An open source Android Syncthing Client

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

##Syncthing on Android

This app aims to be a full featured Syncthing client comparable to the web ui.

Secondary objectives include:

###Custom Settings

Syncthing runs with a number of custom settings to optimise your experience and to avoid conflicts with other applications (e.g. Syncthing for Android application). In particular:

  • Default GUI address is set to 127.0.0.1:8385 (TLS on)
  • Default Rescan Interval is set to 86400 seconds (1 day)
  • Default Ignore Permissions are enabled
  • Default folder is set to Environment.DIRECTORY_DCIM

###Building

#####Syncthing binary

Requirements

  • You'll need build-essential or base-devel (including i386 support)
sudo apt-get install libc6:i386 libstdc++6:i386 lib32z1 libsdl1.2debian:i386
  • Android sdk. Set ANDROID_HOME
export ANDROID_HOME=/opt/android/sdk
# Install Android SDK Tools
# Install Android SDK Platform-tools
# Install Android SDK Build-tools, revision 22.0.1
# Install Android Support Library, revision 22.1
# Install Android Support Repository, revision 13
./android list sdk --all
./android update sdk --all -t "<selected nr1,nr2,...>" -u
  • Android ndk. Set ANDROID_NDK to root of ndk install

  • Building Syncthing

# You only need to run these once (or whenever the submodules are updated)

# You must have go 1.5+ installed on the host to bootstrap the cross compilation
# the scripts expect the install to be at /usr/lib/go if yours differs you can
# set GOROOT_BOOTSTRAP to the proper location

# If ANDROID_NDK is not set it defaults to /opt/android/ndk/android-ndk-r10e

# This will build go, syncthing, and syncthing-inotify for arm/x86/amd64
# Binaries will be installed to app/src/main/assets
./make-all.bash

# OR If you are building for your self and know what arch you want.

# Build for android/arm
./make-go.bash arm
./make-syncthing.bash arm
# Build for android/386 (x86)
./make-go.bash 386
./make-syncthing.bash 386
# Build for android/amd64 (x86_64) (only useful for emulator right now)
./make-go.bash amd64
./make-syncthing.bash amd64

Alternatively use docker (This is broken)

#Make the image (only need to run once)
./make-docker-image.bash
#Build syncthing (only need to run once or whenever the submodules are updated)
./make-syncthing-docker.bash

#####App

# Build apk
./gradlew app:assembleDebug

###Contributing

Project is managed through gerrit review.opensilk.org

Easy way

mkdir OpenSilk && cd OpenSilk
repo init -u https://github.com/OpenSilk/Manifest.git
repo sync
cd SyncthingAndroid
repo start mybranch .
#make changes
repo upload .

Hard way git push

Pull requests are ignored