After spending some time on Google all that I've found so far is ChilKat which only runs on Windows. I'm looking for something similar that'll run on Ubuntu. Obviously there's NET::FTP, Net::SSH and Net::SFTP so I could roll my own and that may be what I'll do, but I'm hoping to save a lot of time by using something else that's already been written.
If it is ubuntu, why not make a bash call to sftp
from within ruby?
I've asked a similar question:
How to transfer a binary file or any file to a remote server? - Ruby
and my conclusion is pretty similar to yours, the only currently available methods are using the Net::FTP, Net::SSH, Net::SCP (being the easiest solution) and the standard TCP, UDP protocol.
The problem with the latter (TCP, UDP) is that you have to write custom code to slice and dice the binary file and package it in such a way you can send it as a "packet", and on the receiving end you have to authorize it, validate it and unpack the damn packet. This is all very low level computing, and can take time. Unless your willing to spend alot of time experimenting, I would suggest using NET::SSH or SCP, they are the easiest/ simplest solution to date. (Note: At the reciving end an SSH server is required! - Duh.. but just in case you didn't know)
Plus an SSH server is pretty standard, you should have no problems installing it.
There is one last solution, you can use ruby-torrent. Its a beautiful idea, sharing bits and bobs, it can actually make updating a systems a lot quicker (See Here). But do be warned, the project is not very updated, the last release was back in 2005.
Hope that helps