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.

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

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