Nat to Nat Connector. Connects 2 peer behind differents nats through a public 
visibile server. The server does not stream or relay data between the peers 
but instead it initially exchange information about them and the peers can 
connects together by using UDP Hole Punching method. Once connection is 
established, n2nc connects the standard stream of the passive and active peer.
The peer ID in hexadecimal number is a portion of md5sum of the rsa public key.
To create a new key-pair use the script newrsakey.sh located in myscripts.
Have fun

Usage:  ********** STREAM MODE *********

server: on default it listen on 5555 0.0.0.0
  ./server

n2nc: active mode(the peer that wanna connect)
  ./n2nc -saddr mercedes.cs.unibo.it -bindip 192.168.1.4 -myid 0x0ad9 -otherid 0x245e -filterdir filters/.libs/
  saddr=server address
  bindip=the real ip address on which binds the service sock
         (usually the address for which there is a default gateway)
  myid=the peer identifier, a ID is simply the first 4 hex numbers 
       of the md5hash of the RSA public key used
  otherid=the peer ID i want connect to


n2nc: passive mode(the peer that wait a connection request)
  ./n2nc -p -saddr mercedes.cs.unibo.it -bindip 192.168.0.55 -myid 0x245e -filterdir filters/.libs/
  saddr=server address
  bindip=the real ip address on which binds the service sock
         (usually the address for which there is a default gateway)
  myid=the peer identifier, a ID is simply the first 4 hex numbers 
       of the md5hash of the RSA public key used
  filtersdir=the directory where the filters are stored

usage: ********* VDE BUILTIN MODE ********
n2nc: active mode(the peer that wanna connect)
  ./n2nc -saddr mercedes.cs.unibo.it -bindip 192.168.1.4 -myid 0x0ad9 -otherid 0x245e -filterdir filters/.libs/ -vdesock /path/to/vdectldir

n2nc: passive mode(the peer that wait a connection request)
  ./n2nc -p -saddr mercedes.cs.unibo.it -bindip 192.168.0.55 -myid 0x245e -filterdir filters/.libs/ -vdesock /path/to/vdectldir


