Project Description

SpaceBlock is a simple Windows front-end for managing Amazon S3, Nirvanix, Azure Blob Storage, and now Sun Cloud Object Storage online service accounts.

This project is fully open-sourced via the MIT license, contributions welcome!

To Install and Run (via ClickOnce):
Once installed, the application can be launched via the start menu


  • Amazon S3 Integration
    • Support for EU buckets
    • Handles difficult key/bucket names (like unicode chars outside of the ASCII range & invalid urls)
    • Edit ACL, Bucket Logging Status, generate signed URLs
    • Leverages the cross-platform CodePlex.Resourceful REST library (
  • Define multiple accounts (e.g. allowing for streaming transfer between S3 accounts)
  • Vista compatible
  • Saved settings encrypted via the Windows Data Protection API (



Solution Layout

The codebase currently consists of two solutions:

SpaceBlock.2005 (VS2005)
  • CodePlex.SpaceBlock
    • Core library (for abstracting file systems, etc)
  • CodePlex.SpaceBlock.MSBuild
    • MSBuild task library
  • CodePlex.SpaceBlock.NAnt
    • NAnt task library
  • CodePlex.SpaceBlock.Test
    • MSTest project
  • CodePlex.SpaceBlock.UI
    • WinForms front-end

SpaceBlock.2008 (VS2008)
  • CodePlex.SpaceBlock
  • CodePlex.SpaceBlock.UI
  • CodePlex.SpaceBlock.Test35
    • API examples using some of the new c# 3.0 features

What's New

  • Release
    • Experimental support for a new file system type based on the Sun Cloud Object Storage api (just in time for JavaOne).

  • Release
    • Azure storage settings now make it easy to connect to the local development storage fabric: check Use Development Storage.

  • Supports basic folder management functions, transfers, metadata, and ACL (public/private containers)

  • Release
    • Added a new content-type "text/javascript" to the static list
    • New "Custom..." option to choose a content-type not in the static list

  • Release
    • Added the ability to configure the S3 service host (to connect to an S3 clone instance via baltic-avenue)


  • Release
    • Added mime types for flash files (FLV and SWF)
    • Fixed Nirvanix file system for file uploads (broken by a Nirvanix api upgrade)
    • Using the new Resourceful library 0.0.2

  • Release
    • Handles intermittent S3 server errors more gracefully (retry requests with exponential backoff) - especially noticeable when uploading a large number of small files
    • New Feature: Bucket creation dialog now shows bucket name availability
  • New Feature: Remember values used in the Edit Metadata dialog (user request)
  • New Feature: Ability to display file times in UTC time (user request)

  • Release
    • Enhancement: Prompt to exit if transfers are active
    • Enhancement: Skip S3 log files that cannot be accessed (occasionally unreadable)
    • New Feature: Set S3 default transfer ACL to private, public-read, or bucket (private or public-read depending on bucket ACL)

  • Release
    • Ability to perform server-side file renames on S3! (thanks to the new COPY object beta feature)

  • Release
    • Ability to set custom HTTP headers when uploading to S3

  • Release
    • Enhanced Amazon S3 url generation dialog to include public urls (user request) & virtual host-style urls in addition to signed urls

  • Release
    • Quick fix to underlying CodePlex.Resourceful library that should improve S3 retry logic

  • Release
    • Enhancement: Deleting large numbers of files from an S3 filesystem is now much faster (and happens in the background)
    • New Feature: Open file - launches the file in the OS-default application (or in explorer if no default)

  • Release
    • New Feature: Transfers View - manage multiple simultaneous transfers between file systems (similar to Opera's transfers tab).

  • Release
    • Automatic handling of time differences between the local machine and Amazon's S3 servers. Should minimize or eliminate RequestTimeTooSkewed responses.

  • Release
    • Reduced the number of resources loaded during the initial ClickOnce launch
    • Up-front file-system validation
    • What's New dialog after every version upgrade
    • New Feature: Support for virtual drives backed by the Nirvanix storage network (

  • Release
    • New Feature: Analyze S3 Server Logs context-menu option. Select one or more log files to enable command.

Last edited May 29, 2009 at 3:59 AM by JohnSpurlock, version 34