It doesn't work on my EU bucket

You need to set the AWS_CALLING_FORMAT env variable to SUBDOMAIN

It doesn't work on my US bucket with upper-case or unusual characters in the name

You need to set the AWS_CALLING_FORMAT env variable to REGULAR (which is the default)

I get an error message from ruby about base64, or ssl, or streaming

You need 1.8.4 of ruby or newer. I am using 1.8.5.

When I use back slashes (\) terrible things happen

Use forward slashes. Yes, even on Windows..

My files over 2 Gigabytes won't transfer correctly

This is a bug in S3; I refuse to work around it in the tool. If you need to transfer files within their bug size range, you'll have to split them yourself. (Can someone find and insert the AWS thread here that discusses this officially?) (I believe the following is the link...)

My file names that have 0xD characters aren't handled correctly

The 0D -> 0A issue is occurring in ruby's XML library. The node is stored correctly, but the bucket list (which is an XML document) gets changed by the XML parser, because the bare 0D is interpreted as a line ending, which is subject to being changed into a 0A, per:

So my interpretation is that S3 really should be sending things like 0D's and 0A's in a manner that's protected from mis-interpretation by XML parsers. Really they should know better; white space in XML is a touchy subject all around.

After some files transfer, all I get is time-outs until I start the process over

Try the -s option. Some network device may be viewing the S3 traffic as something to be blocked or traffic shaped. Using SSL usually confounds such restrictions. You could also talk to whoever's in charge (your ISP or your net admin) to find out what's up.

This domain generously donated by Marcus Cuda