Unofficial OpenSilk Android Application

Because the new Syncthing-android app enforces TLS. This is necessary to protect Android’s sandboxing mechanism. The Silk client needs this as well, but the CPU impact will be smaller because the connection stays open.

So this confirms @calmh’s initial hypothesis on issue 362. Really good to know that the issue has been cornered.

@marcelpaulo and @Zillode: the output from top that @marcelpaulo showed also matches my nice experience with this client.

As for the bug report, I closed the original one I submitted since, as @Zillode says, it seems to be working just fine now. But I opened a new one :slight_smile: . Anyway, regardless of whether or not OpenSilk has time to answer the issues (or address them) I guess that is the best place to report them. And, I should say, I am really happy with the app.

With inotify support and defaults set to always run: link

[Moved from https://github.com/OpenSilk/SyncthingAndroid/issues/3 ]

UI seems stuck after importing config file:

Using the version from http://wilma.vub.ac.be/~lhoste/syncthing/unofficial/silk-0.1.50.apk (2015-05-04; sources from https://github.com/Zillode/SyncthingAndroid).

I installed the apk in a device that did not have this client previously. It created keys, etc. Then I imported the config (a zip file containing the cert.pem, key.pem and config.xml files). The UI, however, seems forever stuck trying to start; it is still showing the device name pre-importation of config and giving the “Syncthing seems to be off or there is a problem with your internect connection”. The funny thing, though, is that it is really working just fine most of the time (it is syncing with other devices, the other devices see it with the right version, and I can operate from the Web GUI, changing folder settings, etc).

I turned off and on the phone, but it did not help.

Multiple androids: why is it working?

This is probably my ignorance showing, but here it goes. With the official ST android app I was keeping all the data under Android/data/com.nutomic.syncthingandroid. This, I understand, is about the easiest way to avoid the infamous mtimes issue ( https://github.com/syncthing/syncthing/issues/831). I am now running the Silk client in three Androids, but the data are still in the same place (Android/data/com.nutomic.syncthingandroid). And things keep working just fine.

A few questions then:

  1. Is this expected to happen?
  2. If I were to remove the official client, and to do it cleanly, the directory Android/data/com.nutomic.syncthingandroid would be removed. Or, for that matter, if someone were to install from the start only the Silk client, I guess that directory would not exist. Where should we place the data to circumvent the mtimes issue? /data/data/syncthing.android/ does not seem the right place (and cannot be modified unless one is rooted).

With inotify support and defaults set to always run

Killer combination! Gonna test it right away! Thank you so much, @Zillode.

Trying to change Rescan Interval on all folders to a higher value, now that there’s inotify, but keep getting this, no matter which folder I try:

403 Forbidden

I should mention something I have found confusing since I installed the first version: what the silk client considers a device. I get the impression it refers to 2 different things with the name device: a login name, and an actual physical device.

EDIT: Managed to change Rescan Interval using the Web interface on a browser

EDIT 2: I suspect inotify support is not working, nor manual RESCAN on the GUI. I share folder /storage/emulated/0/Pictures, which has subfolder Screenshots. I took some screenshots, waited a while but they weren’t synced. I then tried to do a manual RESCAN on the GUI, but neither Global State nor Local State changed. I rescanned from the Web interface, and it worked. So, summarizing, the silk client is not doing outbound syncing.

All this means we are not able to communicate to the correct Syncthing (especially the 403 Forbidden). Maybe you have another Syncthing client installed which is still running (also try rebooting if this would still fail).

inotify and manual rescan also doesn’t seem to work with me. taking pictures and nothing happens; a manual rescan doesn’t see the difference either and finally at sime time it does update and syncs it.

I am using a nexus 4 with custom (chroma) lollipop 5.1.1 rom

@Zillode, but then the Web interface wouldn’t work either, but it worked. Regardless, before I installed the silk client, I uninstalled the official client and rebooted my phone.

Will the inotify support be something that can be turned off by the user? (Maybe by setting a non-zero scan interval?). I ask because I am affraid that inotify support can lead to strange conflicts with multiple androids + several computers. And, if a file is being changed regularly/continuously in one Android device during an interval, then inotify support would not be great; one might one to wait and then sync all in one go when all edits are over.

I just installed the latest official client again (0.6.0), but can’t find where I can remotely manage other syncthing instances, besides the local one? Can you show me where to find it?

Please don’t hijack the thread:) (Settings->Syncthing GUI->Listen address)

Was not my intention to hijack it, but the option to add remote devices was mentioned in this thread for the official client :wink: Anyway you’re referring to the local device listening address. On my android it doesn’t show as to manage multiple remote devices at the same time as the silk client does. So I like the silk client better and will switch back to it (even when inotify doesn’t seem to work) :wink:

Indeed, multiple remotes are not supported by the syncthing-android app

Could you try removing the device and entering the specifications again? (url/username/password etc)

tried it, but same result. How long should I have to wait before it should show the correct amount of files? After hitting rescan it doesn’t update either instantly, but a few seconds later it does, so maybe hitting rescan does trigger a rescan, but shows up later

All actions are processed asynchronously because they could potentially take a lot of time and we don’t want to block the UI:o

New release available here!

  • Welcome screen with background key generation
  • Relies on syncthing-inotify instead of custom Java code
  • Updated to Syncthing v0.11.5
  • Virtual mtimes
  • Supports cancellation of login process
  • Support for intel/i386 cpus
  • Bugfixes
  • Rebranded to “Syncthing Silk”

If this version works well, I’ll release it on f-droid and the play store.

4 Likes