a few days ago I thought about making encrypted storage real at Syncthing, because I think it’s very important for many users. Unfortunately this “project” is hanging in the air for more than 2 years and even the funding with more than $1000 at bountysource isn’t leading to results.
Unfortunately I’m not a Go developer. Instead of spending some money on bountysource I was wondering if hiring a Go developer at Upwork might be a solution. I would even pay for this (of course up to a certain limit).
What do you think? Would this be a way to go? How many hours are necassary to make the encrypted storage work in a very basic version, so others can continue to develop it? What special skills (except of Go) are required?
Implementing it by itself is not that much of a hard task, mending and refactoring large portions of existing code to be able to fit it in in a non-invasive fluent fashion that would be accepted upstream is the much harder task, which is why I suppose nobody picks it up.
I suspect the “very basic version” would be something that would be slapped on top which is unlikely to get merged.
@calmh has an idea in motion which abstracts the filesystem access layer. Once that’s in place, I am happy to implement encryption on top of that.
I see. Is there anything I can do as a non-developer to speed things up?
Not sure, but to be honest, that’s my view of this, which might be extreme. @calmh’s the boss here, so perhaps he has a different opinion. Maybe you can encourage @calmh to finish the filesystem stuff.
There are already work-arounds for the problem, such as using syncthing with encfs containers etc etc.
There was an attempt trying to implement it, but it was full of if cases throughout the code that’s not idiomatic and high maintenance.
Getting an extreme opinion is better than investing the money and don’t get the merge.
Believe me, I tried several work-arounds, but there was always some issue.
Is there any ticket where I can read about the file system thing?
and there were a few pull requests and commits moving towards the goal.