Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Download files for offline access #144

Open
2 tasks done
kojid0 opened this issue Dec 31, 2021 · 22 comments
Open
2 tasks done

Download files for offline access #144

kojid0 opened this issue Dec 31, 2021 · 22 comments
Labels
type:feature-request New feature or request

Comments

@kojid0
Copy link

kojid0 commented Dec 31, 2021

Please agree to the following

Summary

Add an option to download files/folders for offline access

Motivation

In case of slow or no internet, a function to access the files offline is very handy. The files should be encrypted when the vault is locked.

Considered Alternatives

No response

Anything else?

No response

@kojid0 kojid0 added the type:feature-request New feature or request label Dec 31, 2021
@idcristi
Copy link

idcristi commented Feb 1, 2022

I have the same problem. I downloaded the files to access them offline, but the problem is that the files are loading and not working. I checked on the desktop version, and it works without problems. It would be great to have such a feature to access the files in offline mode.

@Marcusg562
Copy link

I think this would be the way:

Motivation
Vaults are mostly stored online which is quite nice because you've on all device the same state. But while on traveling (or anywhere else in the world with a bad connection) you can't access them. It would be nice if you cold add an option for a local stored copy of the online vault. Which is updating frequently or on demand (best like an rsync ;) ).

Considered Alternatives
My actual doing. Deleting the local vault, copy the existing vault to local. But since this is a manual doing it always takes time.

@tobihagemann
Copy link
Member

We've actually explored this option recently and it's actually more challenging than we thought. We thought about adding a "simple" offline access as we did in the old iOS app. Basically, giving the possibility to access the vault contents through the cache that we have. And to make it "simple", it has to be in read-only mode. Because if we'd allow write access as well, we'd immediately get into trouble with two-way syncing, which is a very complex and hard problem.

But our prototype didn't quite behave as we wanted with this "read-only" mode, when the device is offline. It's hard to get it right in the Files app, without making it unusable. That's the current blocker and we don't have a solution for this yet.

@Marcusg562
Copy link

@tobihagemann how would be without a sync and just a download/copy within the App? So for example you add a button in the app for a manual copy to the phone. You can specify an additional offline storage in the app. Especially on iOS you could choose between your Phone and the iCloud. So each Vault you choose will be located in this folder. In case you wanna update the local fault, you perform a delete of the files and download it new again. Not a real sync but at least a possibility to download selected vaults easily.

@nferch
Copy link

nferch commented Nov 16, 2022

Curious what sort of support there is under the hood for the cloud providers.

For example, I can choose to "Make available offline" files in Dropbox, but I get a "Content unavailable" error when trying to open files on a Cryptomator vault when I don't have Internet.

iCloud Drive "just works", allowing me to open and unlock a vault when offline and will upload the changes when Internet connectivity is restored.

@phil1995
Copy link
Collaborator

iCloud Drive "just works", allowing me to open and unlock a vault when offline and will upload the changes when Internet connectivity is restored.

iCloud Drive is special because it actually uses the "local filesystem API", i.e. the FileManager, which masks the whole online / offline thing away from us. Therefore, it just works as we don't do additional reachability checks for detecting a missing internet connection.

Actually if some other cloud provider like Dropbox decides to support folder enumeration with their FileProviderExtension in the futures it would be the same. But to be honest I don't think this will happen since this API was not really designed for cloud providers (and is also completely undocumented!).

Therefore, I still think we need to handle this some time in the future but as @tobihagemann already said it's quite complex to get this right.

@nferch
Copy link

nferch commented Nov 22, 2022

[...]

Actually if some other cloud provider like Dropbox decides to support folder enumeration with their FileProviderExtension in the futures it would be the same. But to be honest I don't think this will happen since this API was not really designed for cloud providers (and is also completely undocumented!).

Therefore, I still think we need to handle this some time in the future but as @tobihagemann already said it's quite complex to get this right.

Makes sense, definitely appreciate the complexity in figuring this out, both from the UX and implementation standpoint.

FWIW my use cases are currently very small files, so having the app syncing a tarball of a Vault seems like it would work, as other apps that handle single files with Dropbox seem to work ok.

@wittymap
Copy link

wittymap commented Nov 27, 2022

iCloud Drive "just works", allowing me to open and unlock a vault when offline and will upload the changes when Internet connectivity is restored.

@nferch - How were you able to get iCloud Drive to "just work", out of curiosity?

I have a vault in iCloud Drive and downloaded the full vault through the iCloud section of the files app while online. However when later offline and trying to view a file in the Cryptomator section of the files app, an error dialog saying "You're offline" prevents me from viewing any files (even though I downloaded the full vault already through the iCloud section) and can open the encrypted files in the iCloud section of the files app.

@nferch
Copy link

nferch commented Nov 28, 2022

@wittymap I suspect the difference between our usages is that I created the vault using the iOS app, choosing iCloud drive as the storage. So it appears with the cloud icon in the Cryptomator vault list.

I can access the decrypted files in the Files app under "Locations", which shows the Cryptomator vault, which in turn provides access to the files.

@soberdor
Copy link

It’s a pity this seems to be such a hard nut to crack. To me it appears to be a critical feature. While read-only would already be a very nice step forward, even a two-way sync would seem worthwile pursuing (I would be willing to pay for such an upgrade). However being off-network (eg on a plane or a ferry) and not having access to any files at all is a total bummer for everyday use.

@ewerspej
Copy link

This should be a first-class feature in any Cloud-based software. Boxcryptor had this option, this must be implement ASAP in Cryptomator or it's quite useless. Cloud storage and encryption cannot require permanent, fast internet access.

@mythofechelon
Copy link

I'd like this too.

@fiore42
Copy link

fiore42 commented Dec 31, 2024

Happy New Year! (for some)

I just switched to Cryptomator and I'd like to hear if there is any plan to support this.

@ewerspej
Copy link

ewerspej commented Jan 1, 2025

@tobihagemann Any update on this? After all, Cryptomator already has a caching mechanism. Can offline access not build on top of that? While offline access is less important on mobile phones, it certainly is important on desktop computers in case of network outages, etc.

@fiore42
Copy link

fiore42 commented Jan 1, 2025

@ewerspej funny... I have the opposite opinion.

You don't need this option for desktop, since google drive has a "make available offline" option. When you select this for a specific folder, google drive will keep a local copy on your disk.
on the other side, a cache is necessary on mobile if you find yourself offline. No data in a foreign country, out of coverage, etc.

@ewerspej
Copy link

ewerspej commented Jan 1, 2025

@ewerspej funny... I have the opposite opinion.

You don't need this option for desktop, since google drive has a "make available offline" option. When you select this for a specific folder, google drive will keep a local copy on your disk.
on the other side, a cache is necessary on mobile if you find yourself offline. No data in a foreign country, out of coverage, etc.

"Make available offline" requires you to know where the files are located. You would need to know the encrypted names of all the files and folders in question in order to make them available offline in the Cryptomator vault.

While I see some uses cases for offline mobile access, lack of data in a foreign country isn't one, because there are solutions for that (apart from WiFi, you can get an eSIM, e.g. using the Saily app). If you really need files locally on a mobile device, you can always use locally encrypted folders.

@wittymap
Copy link

wittymap commented Jan 1, 2025

While I see some uses cases for offline mobile access, lack of data in a foreign country isn't one, because there are solutions for that (apart from WiFi, you can get an eSIM, e.g. using the Saily app). If you really need files locally on a mobile device, you can always use locally encrypted folders.

Could you say more about what you mean by locally encrypted folders? I frequently need this feature while at work. I work in an office that happens to have bad cell phone service. Cryptomator (via Dropbox) is blocked somehow on my company's guest wifi (the only network I can connect a personal device to). Currently, I have to walk outside nearly 500m down the block to find good cell coverage and get files. It's very frustrating.

@soberdor
Copy link

soberdor commented Jan 1, 2025 via email

@ewerspej
Copy link

ewerspej commented Jan 1, 2025

Could you say more about what you mean by locally encrypted folders?

This solution won't work with Cryptomator.

You could use file encryption tools that work locally only without cloud integration. That way, you would keep an encrypted copy on your mobile device.

On iOS you could use tools like Folder Lock and on Android something like Crypt4All apart from native on-board solutions (Samsung's flavor of Android comes with a secure folder).

@soberdor
Copy link

soberdor commented Jan 1, 2025 via email

@fiore42
Copy link

fiore42 commented Jan 2, 2025

"Make available offline" requires you to know where the files are located. You would need to know the encrypted names of all the files and folders in question in order to make them available offline in the Cryptomator vault.

@ewerspej my apologies - I did not clarify that I assumed on desktop I have enough space to keep offline the entire vault.

currently the only option I see on mobile is creating two vaults - one on cloud and one stored locally with the file I always want with me. Very very suboptimal.

I hope this thread shows interest from users and put a conversation about this feature back on the agenda.

@ewerspej
Copy link

ewerspej commented Jan 2, 2025

@ewerspej my apologies - I did not clarify that I assumed on desktop I have enough space to keep offline the entire vault.

While that may be the case for you, this cannot serve as a generalized assumption. There are scenarios where you only want specific files or folders to be available offline as is the current functionality of existing cloud storage solutions.

An encryption software that claims to be a replacement for Boxcryptor must also tap into this functionality otherwise it's simply not a valid replacement and shouldn't be advertised as such

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature-request New feature or request
Projects
None yet
Development

No branches or pull requests