Hi,
It would be nice to have the working mode of btsync, that the client downloads only the files you select, not all of them.
Use-case: I have several series on my PC what I watch on my phone when commuting. I put the episodes in my sync-dir on my PC and I only have several episodes on my phone downloaded, when I finish an episode I delete it (and it is deleted on my PC as well after it). By the time I finis a series it is deleted from my phone and PC too. (So the sync-dir works like a queue for me.)
Thanks,
Stone
Yep, this is planned, see syncthing/syncthing#193
Great, thanks for the info!
Hey, I just came here from btsync as they started crippling their free version (there will be many more I guess :) ).
The 'on demand' download feature was one of the features I liked most about it. That's why I wanted to ask whether there is something like a roadmap for this feature in syncthing?
@Dahaniel There isn't really a roadmap (at least for the Android app). I just make what I have time for, so contributions are always very welcome :)
Also, we should actually keep this issue open.
:+1:
Ticket #193 doesn't seem to be about the same issue, as someone closed it because of "ignore patterns in .stignore", which is totally besides the point.
Selective, or rather on-demand, download would make syncthing really useful on mobile phones since they have limited storage.
Currently I use btsync solely thanks to the on-demand sync (since I have several GB made available). In the btsync app it is possible to select a file to download and then open it directly from the UI.
Btsync uses placeholder files with .bts extension, but on Android it is not associated to the Sync app. Wouldn't it be possible to register a file extension on Android, such as .syncthing, so that files with that extension opens the app and tells the daemon to download the file and open it? For this scenario, a UI with a complete folder tree would not be necessary.
However, there is also the scenario to clear local files (to free up space), which in btsync can be done for individual files and folders as well as the whole synched folder (a repository). At the moment, I have no great idea how to implement this without a folder tree UI in a Syncthing app....
(Now this together with encryption/obfuscation with be exceptionally good as I do no want to have private unprotected document on the phone in case it is lost/stolen (built-in encryption on Android is not user friendly). Currently I clear the local folder often from within btsync, which is a kind of work-around).
I think the best approach is to implement a Storage Provider. This gives us native integration into the system, so it can be used from other apps without any problems.
After we have that GUI, we'd need a functionality to have Syncthing fetch the requested file (I'm not sure if the ignore system would work for that, but I guess it would be rather complicated that way).
Anyway, I don't have the time to implement this, but contributions are more than welcome!
I think implementing a storage provider might also be useful for fleshing out the features of #447. Specifically being able to select exactly where in your sync hierarchy to copy the file that's being shared from another app.
With storage provider implemented, I we wouldn't actually need explicit code for that any more, because apps could write directly to the folders offered by syncthing-android.
That is for client apps supporting storage provider and devices running Kitkat+.
Hi,
I too would welcome this feature.
I really love, that syncthing on android is really synchronizing files (unlike dropbox which only allows me to download selected and upload selsected). With syncthing I move files to and from my phone.
But some folders are just too big and I would like to be able to select only some files when I need them.
Btw syncthing for ios works this way: https://itunes.apple.com/us/app/fsync/id964427882?mt=8
Is this feature feasible, or is it too complicated?
Thanks for your excellent work nutomic.
See a-sync-browser for this feature.
Just wanted to point out to anyone interested in this feature that a-sync-browser has basically been abandoned so our lord and saviour @Nutomic forked and renamed it into Syncthing-Lite:
https://forum.syncthing.net/t/new-android-app-syncthing-lite/11086/7
When will this feature be built into the official android app? It's been so very long and it's so obviously important for a mobile device with limited storage.
There is a separate app for that purpose. Why does it need to be built in?
@AudriusButkevicius yes, but my point is there shouldn't be. Since when do you have two apps for a single cloud application (Google Drive, OneDrive, Dropbox, etc.). It is a feature that shouldn't require a completely separate application.
Well and that point is moot already due to technical reasons: This app is a wrapper around the "normal" Syncthing binary, which doesn't have selective sync. Syncthing-lite is a java implementation of the block exchange protocol, which can thus do selective sync (and does do it). Even without this technical reason, why shouldn't there be two apps to cater two distinct use cases (automatic continuous sync and manual sync).
@imsodin it shouldn't require two apps to do the job for the same reason none of the other apps I mentioned require two separate application installed to support the feature. I understand the technical limitation is in the Syncthing binary not having selective sync, but after all these years it would be good if the feature was finally implemented there so additional hackish wrappers (basically workarounds) with their subpar feature-sets wouldn't be needed. If it was implemented in the main Syncthing binary, then its full feature-set could be leveraged instead of having to use this barebone wrapper.
This is an open source project where nobody gets paid and and you are not a paying customer. If you want to use any of the "competitors", feel free to do so. It's not like anybody here is losing revenue because of that.
Of course it would be great if this feature would've already been finished. I've been waiting for it basically since the initial issue was opened. But as you can see from the PRs and on the release page this is one of the most actively developed and constantly improved upon open source projects in existence.
There are other issues the developers (IMO rightly) deemed more pressing and this is simply a lot of work because it's not just about selective sync, but a host of other features as well. (see https://github.com/syncthing/syncthing/issues/2491)
If you are so impatient, you can either offer to help by coding it yourself or add to the existing bounty so someone with the necessary skills will do it.
Closing this until the upstream has a strategy of implementing this feature. Until that is the case, you can use https://github.com/syncthing/syncthing-lite for selective downloading files from a syncthing folder.
Most helpful comment
See a-sync-browser for this feature.