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

Feature request: export files directly to disk (without FUSE mount) #817

Open
resolritter opened this issue Jan 14, 2024 · 2 comments
Open

Comments

@resolritter
Copy link

Description

A new feature which allows users to export files from a gocryptfs volume directly to disk. The end goal is to make it possible to access the files without FUSE mounting the volume. The feature could work as follows:

gocryptfs -export /volume /destination

After running the command and inputting the password, /destination would contain a copy of all the files decrypted from /volume, i.e. an export of all the files within /volume. As a future improvement, the -exclude flag (from -reverse) could also be implemented to limit which paths get exported.

Why

It is useful for situations where FUSE mounting capabilities are not available, such as in non-rooted Android devices.

@rfjakob
Copy link
Owner

rfjakob commented Jan 16, 2024

This can export single files: https://github.com/slackner/gocryptfs-inspect

@resolritter
Copy link
Author

Hi @rfjakob, thank you for making me aware of that project. Still, while useful, exporting single files is not good enough for the use cases I had in mind.

On another note, prior to creating this thread I found some old comments at #175 (comment) and #175 (comment)

You mean instead of

User request -> FUSE -> go-fuse -> gocryptfs -> ext4

you want

User request -> [some go code] -> gocryptfs -> ext4

?

Could work, actually. The package is not exported right now, but you can call into https://github.com/rfjakob/gocryptfs/blob/master/internal/fusefrontend/fs.go

I've made a note of these comments in case I try to implement this ticket in the future. If you have anything else to add, please do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants