Open tobihagemann opened 7 years ago
Hi, I'm the creator of "encdroid multi cloud" app, and i built a streaming feature on this app. Now i'm supporting cryptomator because of encfs lack of security and lack of maintenance, I would be happy to add this functionnality if you share me the source code of cryptomator-android. regard Stephane
edit: i juste noticed that the android app does not use the open source engine of cryptomator ( org.cryptomator.cryptofs ) but it s own closed source implementation. i cannot participate on this kind of security software.
+1 and +to open the android sourcecode... 👎
Would love to see this implemented. The Android source code is now released.
@name01019 great i'm gonna check the code asap, it should be easy to add the streaming feature then.
@tobihagemann I'm no programmer so excuse me trying to be Mr Smarty Pants, but in my little research I found that Mega is able to stream encrypted videos by using client-side decryption and partial data retrieval, allowing real-time decryption of video segments as they are streamed. Could Cryptomator perhaps implement a similar system where video files are fetched in segments or chunks, decrypted on-the-fly, and streamed without downloading the entire file? This would involve mechanisms for partial file fetching, real-time decryption, and integration with media players for seamless playback. Just trying to throw something that will perhaps stick.
I never doubted the technical feasibility. Cryptomator's encryption scheme allows random access for streaming, because the file encryption is done in fixed-length chunks. And then we have to check for each cloud storage service if they support range requests when accessing a file. This feature request is currently not on our roadmap, but maybe @starn is still interested in helping out?
Hi @tobihagemann You re right, cryptomator use a fixed sized block encryption, so there is no technical limit to stream a content. However, by analysing the source code, I saw 2 implementations:
Solution : I have created a kind of proxy that you can run on a server (raspberry or anything else). It shares your volt as a webdav share and can be used by a lot of file managers on ios/Android. I can share the source and binary if you wish (though the code is not pretty I didn t expect to share it :)
It might be possible to create an Android app for remote access on some clouds (not for local files ) but I dont have enough time right now
Audio/video files could be streamed instead of completely downloaded first. I don't know if it's even possible but it could be worth a look in the future. I suppose, one requirement is that we have an in-app previewing activity that is capable of streaming content. We probably also have to check each cloud storage service if it has suitable APIs for streaming.