Android: Mountable Encrypted Container on External SD Card

What is the problem you are having with rclone?

Hello,

I would like to use Rclone to create a mounted local crypt on my Android smartphone's external SD card. The idea is that the container will be used to securely store pictures and videos, and will be mountable so that the images appear in QuickPic Gallery as if they were stored on the device's native storage.

I am using this Magisk module to install Rclone on my device. It is an updated fork of the old rclone-mount module:

Here's what I have done so far:

I have made a local remote called "local" and then created a crypt remote called "crypt" with the path local:/storage/07FE-1D06/Encrypted/

"local" is the name of the local remote, and "07FE-1D06" is the directory of the external SD card.

The Magisk module handles the mounting process automatically. After it mounts, I can see in my filesystem I have 2 new directories under /mnt/cloud/ called "local" and "crypt"

I am able to copy a picture to /mnt/cloud/crypt/ and I see it also appears in /storage/07FE-1D06/Encrypted/ on the SD card in encrypted form - with a randomised filename.

But when I try to view the picture in the /mnt/ directory, it does not load. The filesize is 0 bytes. The filename is visible with JPG extension but there is no image content. Rclone.log reports that the file was corrupted during transfer.

If I change the crypt remote path to the internal storage (local:/storage/emulated/0/Encrypted/) instead of the external SD card, then everything works perfectly. The full decrypted image is available in the /mnt/cloud/crypt/ directory and I can use SDBIND=1 to make it accessible in the QuickPic Gallery.

My issue is specifically related to having the crypt remote path set to the external SD card.

I have tried both of these paths to no avail:

/storage/07FE-1D06/Encrypted/
/mnt/media_rw/07FE-1D06/Encrypted/

Run the command 'rclone version' and share the full output of the command.

rclone 1.56.0-termux

  • os/version: unknown (I'm on Android 9 Pie)
  • os/kernel: 4.4.153-fuHKernel_by_zbieracz2000+ (aarch64)
  • os/type: android
  • os/arch: arm64
  • go/version: go1.16.6
  • go/linking: dynamic
  • go/tags: noselfupdate

The rclone config contents with secrets removed.

[local]
type = local

[crypt]
type = crypt
remote = local:/storage/07FE-1D06/Encrypted/
password = 

A log from the command with the -vv flag

ERROR : LrDSC_1985.jpg: corrupted on transfer
ERROR : LrDSC_1985.jpg: WriteFileHandle.New Rcat failed: corrupted on transfer
ERROR : LrDSC_1985.jpg: WriteFileHandle.Flush error: corrupted on transfer

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.