From: JamesBritt Date: 2002-09-30T12:56:10+09:00 Subject: RE: idea for a much needed application > -----Original Message----- > From: mike henley [mailto:rsrchstr@hotmail.com] > Sent: Sunday, September 29, 2002 3:14 PM > To: ruby-talk ML > Subject: idea for a much needed application > > > I remember a while ago reading about tim burners-lee and how his > vision of the WorldWideWeb as a medium where all can freely and easily > publish information has not materialized properly, and i felt it so > strongly over the past week when trying to look at options for hosting > a website. Hosts are either expensive or limit you in terms of what > languages, modules, applications, and OSs you can use. They also limit > you in terms of space, bandwidth used per period, number of executions > of CGIs... etc. Some of those who give good deals, seem difficult to > trust with either your credit card number or your content. > Not too long ago, while exploring DRuby, I wrote a set of classes that would let me expose a URL on my public web site (hosted by a third party, and with limited storage space) that would trigger a DRuby call to a service running on my home PC. The public web server just needed to know my current home IP address (which, unfortunately, changes since my ISP uses DHCP), and would act as a proxy for the Druby service. A DRuby client on the public web sever would make a request to a DRuby server on my home PC, whch would stream back bytes. The bytes would get passed back to the web site client, none the wiser. I managed so that one could hit a URL on my web site, and stream an MP3 that physically resided on my home PC to another PC on the Internet. In theory it could work the other way, too, to allow data posted data via HTTP, which in turn would be sent to my home PC via a Druby client. Now, this was mostly a "gee, I wonder if ..." sort of thing, but one thing I liked was that I could provide a service on a specific port that would only accept connections from a single remote machine (my public web site). I (and my ISP, I imagine) prefer this to running a complete web server open to the whole 'net. (This, though, raises the question of which has better security for basic operations, Apache or Druby, since I could also restrict Apache to respond to a specific client IP address. So, on second thought ...) I put the project on hold, since the bytes passed through my public web site and racked up my transfer stats. What I would prefer is to have a stable public URL that is a gateway to a Drb-to-Drb exchange negotiation, with my home PC keeping the public site abreast of my current IP address and what port to use. (And I think in that scenario all the web server need do is verify that I'm a Good Guy before telling me the real IP and port to connect of the Druby server on my home PC. The web server could tell the DRuby server what client IP address to expect. Then my remote Druby client negotiates the service directly.) I did just now take a look at DNS2Go, though, and it looks quite useful. You could upload files to your home machine using ftp or a web server. The hard part, I suppose, in these schemes, is having server software that allows you to connect and navigate your content, while keeping put the Bad Guys. Maybe scp or ssh? vnc? You would also need a way to have DNS2Go aware of when your home IP address changes. James, thinking out loud.