RZBD (Ruby version of Zebedee)

RZBD is a Zebedee clone writen in Ruby language. It consists of

RZBD's goal is


HOW TO USE it as a ftp proxy

1. rzbd's ftp proxy acts as ...

      (client side)           (Internet)             (server side)

source          client                        server           target

ftp client ---> rzbd   -------------------- zebedee server ---> ftp server 
 (plain text ftp protocol)                        (plain text ftp protocol)
                     (encrypted Zebedee protocol)

  * Both command connection and data connection will be encrypted.
  * Zebedee is not needed at client side (rzbd understand Zebedee protocol
  * Standard Zebedee server 2.1.3 or later (not rzbd) is needed at
    server side.
  * Zebedee server must be configured to allow connection to ftp
    server(port 21 for command and 1024-65535 for data)

2. Make configuration file that contains

tunnel 10023:serverhost:telnet
ftpproxy 10021:ftphost:ftp

3. Run rzbd as

$ rzbd -f configuration_file 

4. Run ftp client at source machine

$ ftp client 10021

5. Ftp client talks with ftp server in target machine. Use any ftp
command as usual.

API (for Ruby programer)

require "rzbd/zebedee"
include Zebedee

app = Zebedee::App::instance
app.config.parse_config_file("configuration file")
app.config.server_host = "server.host.name"
app.logger.loglevel = 6

s = ZBDSocket.open("target_host", portno)

a = s.gets
# you can use s as a Socket::Socket object (contains IO::* methods)