Remote storage

Starting with version 1.5, Disk Decipher provides support for remote storage. This allows access to disk images stored on a remote server. Disk Decipher will only download the parts of the disk image required to open the disk image and access the directories and files you select. This gives quick access to remote disk images independent of the size of the disk image.

For performance reasons, consider defragmenting your disk image occasionally. Downloading a file which is split in multiple fragments will obviously be slower than downloading a file in a single request.

To access a remote disk image simply tap the Edit button on the home screen of Disk Decipher and enter the URL of the remote disk image.

Remote disk URL

The first remote storage protocol implemented in Disk Decipher is the HTTP protocol.

HTTP

To access a disk image using the HTTP protocol, you need to store the disk image on a HTTP 1.1 compliant server. This can be a local Intranet web server if your iPhone/iPad is connected to a local wifi network, or a web server connected to the Internet if you want to access the disk image anywhere.

Disk Decipher uses the HTTP 1.1 Range feature to download only the necessary parts of the disk image.

Disk Decipher will allow HTTP redirects to another HTTP URL, and direct any subsequent requests immediately to the new URL provided by the HTTP redirect.

If needed, the URL can be protected by username/password authentication. Disk Decipher will respond to authentication requests by asking for the username and password. If the URL contains a username, it will be shown as default username. The credentials will be saved until Disk Decipher is restarted.
Note: in general, be careful with using basic authentication in combination with HTTP on an untrusted network. The username and password will be transmitted in clear-text. Consider using digest authentication if you require HTTP authentication, or use HTTPS instead of HTTP to encrypt the credentials automatically.

The implementation is built upon the URL connection framework of iOS, which provides persistent connection support. This allows Disk Decipher to download multiple disk fragments efficiently (without the overhead of establishing a new connection for each individual fragment).

HTTPS
Version 1.7 of Disk Decipher adds support for the HTTPS protocol, i.e. HTTP encapsulated in SSL. The same requirements and comments that apply to HTTP also apply to HTTPS.

Additionally, the HTTPS server is required to present a valid SSL certificate to minimize the risk of a man-in-the-middle attack. If you need to be able to connect to a server with a self-signed certificate, let me know. On sufficient demand I will add an option to allow such connections.

Like HTTP, Disk Decipher will follow HTTP redirects, to another HTTPS URL but also to another HTTP URL (and vice versa) without requiring any user interaction.

WEBDAV

Webdav uses standard HTTP or HTTPS connections to retrieve remote objects, so provided your webdav server conforms to the requirements listed above, Disk Decipher should just work if you provide the URL to the disk image.

Disk Decipher has been tested succesfully with the following cloud storage providers:
  • Box, use URL https://www.box.com/dav/... with ... the path to your disk image.
  • Hidrive, use URL https://webdav.hidrive.strato.com/users/username/... with username your Hidrive username and ... the path to your disk image.
Are you using WEBDAV to connect to another cloud storage provider? Let me know and I'll add the provider to this list to help others.

Dropbox
Dropbox
Version 1.8 of Disk Decipher adds support for Dropbox. Disk Decipher uses the Dropbox API to access disk images stored in your Dropbox account.

To use this feature, you need to link Disk Decipher to your Dropbox account by opening the settings dialog, and selecting "Storage provider accounts". Tapping "Link Dropbox account" will initiate the familiar procedure to link a Dropbox account.

Note: Disk Decipher supports linking multiple Dropbox accounts. If you have access to multiple Dropbox accounts, tap "Link Dropbox account" for each account. This will enable you to access disk images stored in these accounts.

After successfully linking a Dropbox account, the Dropbox ID of the account will be shown. Take a note of this number, as you will need it on entering the URL of a disk image stored inside this Dropbox account.
Note: starting with version 2.3.0 the e-mail address of your Dropbox account will be shown in the list of linked accounts. In that case you will also need to use your e-mail address in the remote disk URL below.

Link Dropbox account

After linking your Dropbox account, you can access disk images stored in this account using a remote disk URL like:

dropbox://DropboxID/...

with DropboxID the Dropbox ID of the account, and ... the path to your disk image. For example, to access a disk image test.tc in the root of your Dropbox account with ID 123456, use the URL dropbox://123456/test.tc

Google Drive
Version 2.3.0 of Disk Decipher adds support for Google Drive. Disk Decipher uses the Google Drive API to access disk images stored in your Google Drive account.

To use this feature, you need to link Disk Decipher to your Google Drive account by opening the settings dialog, and selecting "Storage provider accounts". Tapping "Link Google Drive account" will initiate the familiar procedure to link a Google Drive account.

Note: Disk Decipher supports linking multiple Google Drive accounts. If you have access to multiple Google Drive accounts, tap "Link Google Drive account" for each account. This will enable you to access disk images stored in these accounts.

After successfully linking a Google Drive account, the account will be shown with its e-mail address in the list of storage provider accounts:


Notice the chevron to the right of the linked account. You can use it to easily select a disk image stored in your Google Drive account: just tap the Google Drive account, enter (part of) the filename of the disk image file stored in your Google Drive and select the disk image from the list of search results. The disk image will automatically be added to the list of available remote disks in the main view of Disk Decipher:


The semi-random string shown at the end of the URL is the fileID of the disk image in your Google Drive.

Other protocols
The remote storage support will be extended to other protocols / cloud storage providers (like iCloud, Box, OneDrive, Skydrive, ...). If you like to see a specific protocol implemented first, then please let me know.