Skip to content
Wrapper of syncthing for Android.
Branch: master
Clone or download
Pull request Compare This branch is 340 commits ahead, 54 commits behind syncthing:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.tx Create Transifex config (#28) Aug 24, 2018
app Merge branch 'master' of https://github.com/Catfriend1/syncthing-android May 11, 2019
docker Update native build to use go 1.11.4 (fixes #213) (#214) Feb 5, 2019
fdroiddata/metadata Update native build to use go 1.11.4 (fixes #213) (#214) Feb 5, 2019
gradle/wrapper Raise targetSdk to 28 (#378) Mar 23, 2019
graphics Integrate gradle plugin for translation uploads (fixes #408, syncthin… Nov 16, 2015
roboscript Add robo script for gplay prelaunch crawler (#221) Jan 12, 2019
syncthing Update SyncthingNative to v1.1.3 May 11, 2019
wiki Add wiki article: Nokia-HMD-phone-preparations.md Apr 27, 2019
.gitignore Update SyncthingNative to v1.1.0 (#348) Mar 5, 2019
.gitmodules Revert "Revert build script changes" Oct 24, 2017
.travis.yml Revert build tools back to 28.0.3 (#391) Mar 30, 2019
CONTRIBUTING.md Update CONTRIBUTING, ISSUE_TEMPLATE Jan 20, 2019
ISSUE_TEMPLATE.md Update CONTRIBUTING, ISSUE_TEMPLATE Jan 20, 2019
LICENSE Change license to MPLv2. Mar 17, 2015
README.md Update APK version to 1.1.3.1 / 1010301 May 11, 2019
adb_forward_webui.cmd Settings: Split gui tcp port and bind address (fixes #168) (#179) Jan 2, 2019
build.gradle Update build.gradle Mar 25, 2019
build_submodule.cmd Add automastic fallback to http on Android 4.x (fixes #137) (fixes #139 Dec 16, 2018
git_fetch_branch.sh Import translations / Force lint checks before build (#132) Nov 29, 2018
git_update_submodule.cmd Add helper script: postbuild_rename_apk.cmd (#174) Jan 1, 2019
gradlew Updated dependencies Nov 13, 2017
gradlew.bat Updated gradle Jan 26, 2017
lint_disable.cmd Add helper scripts to quickly enable/disable lint (#212) Jan 7, 2019
lint_enable.cmd Add helper scripts to quickly enable/disable lint (#212) Jan 7, 2019
postbuild_rename_apk.cmd Update helper script for renaming built APKs Jan 7, 2019
prepare-release.bash Use WebViewActivity in MainActivity#previewUr (fixes #241) (#259) Jan 20, 2019
privacy-policy.md Add privacy policy statement for the Syncthing-Fork wrapper (#185) (f… Jan 3, 2019
publish-release.sh Publish listings on GPlay (#338) Feb 24, 2019
settings.gradle Revert "Revert build script changes" Oct 24, 2017
tx_pull_de_translation.cmd Add helper script: tx_pull_de_translation.cmd Mar 10, 2019

README.md

Fork of Syncthing-Android:

License: MPLv2

Major enhancements in this fork are:

  • "Sync every hour" to save even more battery
  • Individual sync conditions can be applied per device and per folder (for expert users).
  • Recent changes UI, click to open files.
  • Changes to folder and device config can be made regardless if syncthing is running or not.
  • UI explains why syncthing is running or not.
  • "Battery eater" problem is fixed.
  • Android 8, 9 and Q support.
  • Light and Dark theme.

A wrapper of Syncthing for Android. Head to the "releases" section or F-Droid for builds. Please open an issue under this fork if you need help. Important: Please don't file bugs at the upstream repository "syncthing-android" if you are using this fork.

screenshot 1 screenshot 2 screenshot 3

Privacy Policy

See our document on privacy: privacy-policy.md.

Goal of the forked version

  • Develop and try out enhancements together
  • Release the wrapper more frequently to identify and fix bugs together caused by changes in the syncthing submodule
  • Make enhancements configurable in the settings UI, e.g. users should be able to turn them on and off
  • Let's get ready for newer Android versions that put limits on background syncing tools. We need your bug reports as detailed as possible

Translations

The project is translated on Transifex.

Building

Prerequisites

  • Android SDK You can skip this if you are using Android Studio.
  • Android NDK r16b $ANDROID_NDK_HOME environment variable should point at the root directory of your NDK. If the variable is not set, build-syncthing.py will automatically try to download and setup the NDK.
  • Go 1.9.7 Make sure, Go is installed and available on the PATH environment variable. If Go is not found on the PATH environment variable, build-syncthing.py will automatically try to download and setup GO on the PATH.
  • Python 2.7 Make sure, Python is installed and available on the PATH environment variable.
  • Git (for Linux) or Git for Windows Make sure, git (or git.exe) is installed and available on the PATH environment variable. If Git is not found on the PATH environment variable, build-syncthing.py will automatically try to download and setup MinGit 2.19.0-x64 on the PATH.
  • Java Version 8 (you might need to set $JAVA_HOME accordingly)

Build instructions

Make sure you clone the project with git clone https://github.com/Catfriend1/syncthing-android.git --recursive. Alternatively, run git submodule init && git submodule update in the project folder.

A Linux VM, for example running Debian, is recommended to build this.

Build Syncthing and the Syncthing-Android wrapper using the following commands:

./gradlew buildNative

./gradlew lint assembleDebug

You can also use Android Studio to build the apk after you manually ran the ./gradlew buildNative command in the repository root.

To clean up all files generated during build, use the following commands:

./gradlew cleanNative

./gradlew clean

Development Notes

It is recommended to change the GUI and Listen Address ports for the debug app, e.g. to 8385 and 22001 respectively.

The Syncthing native used for this android application provides a web interface by default. It can be accessed via the Settings menu -> 'Web GUI'. It is quite helpful to access this web interface from your development machine. Read android documentation on how to access the network of your emulator. Or use the following command to connect to the single currently running emulator/AVD.

adb forward tcp:18384 tcp:8384

Start Syncthing app on your emulator and access the web interface from you favorite browser of your development machine via https://127.0.0.1:18384

License

The project is licensed under the MPLv2.

You can’t perform that action at this time.