System Requirements

License

Version History

Reporting problems

Comments

ol+s3 @ no-distance.net

S3 Browser

S3 browser is a Mac OS X administration tool for the Amazon S3 data storage service.
My goal is to build a small application useful in itself for developers or users subscribed to the S3 service, but also
to provide example code showing how to access S3 through the REST API in a OS X Objective-C client application, on top
of OS X technologies (Keychain, URL loading system, ...).

Basic S3 operations are implemented (bucket list/create/delete), objects deletion, upload and download (using streaming
network code to be able to deal with large files). There is also a small low-level request inspector and a task console.

Latest versions

Since v1.0, S3 Browser has support for multiple files upload. When uploading a directory, the contained files will be mapped to a slash-separated key
to retain the hierarchy. Another important change in file upload is support for content-type, using by default the mime-type provided
by Mac OS X for a given file. Both key and content-type can be changed from the default values when uploading.

The backend code has also been revamped to properly batch multiple parallel requests to the service, streamed
transfer can be also inspected like the non-streaming variety. Large buckets are also supported (by sending successive lists queries to build
the object list), and there's also a lot of small UI and back-end fixes. And a preference panel.

In v1.0.2, support was added for auto-updates through an appcast feed, thanks to Sparkle framework by Andy Matuschak. When launching 1.0.2,
the application should propose an update.

S3 Browser is a good example of something I wrote for myself to play with a technology and
that I'm releasing in the hope it can save some work for others - or motivate to add interesting
features to other apps.

I'm releasing this under a BSD license, so you can basically use the source code at will -
of course, don't hesitate to send patches if you make fixes or additions, no obligations though.
If you're building something using this code, a simple note of thanks in an about box or web page
would be nice. Let me know if you want that I add a link
to you here.

And if you think it made you save time and money, or just find this useful, feel free to
use the PayPal button!

Source code

The UI code is very Cocoa bindings oriented. The backend code uses the Foundation URL loading system, and
the whole thing tries to be as asynchronous as possible. I hope it could be a starting point for S3 support in OS X desktop apps
(or other REST APIs).