Source Exchange (x-G2alt)

From Gnutella2
Jump to: navigation, search

Source Exchange (x-G2alt)

Source exchange on Gnutella2 is done by HTTP header "x-G2Alt:" in transfer connection. format of the header is basically similar to "x-alt" header of Gnutella source exchange, however there is slight difference for sources behind firewall.


Specification

       X-G2ALT:( <DALT> | <PALT> )
       DALT:   ( <IP>[:<PORT>] )
       PALT:   ( <GUID>[!<DALT>]@<DALT>(|<DALT>)+ )
               ( first DALT above is optional which tells PALT's IP:PORT.
                 second one is PALT's conected Hub addresses deliminated
                 by pipe symbol("|") )
       IP:     ( standard string representation of an IP Address.
                 i.e. Typical dotted IP Address a.b.c.d )
       PORT:   ( text number representing the port.
                 If 6346, you MAY omit it )
       GUID:   ( Base32 encoded version of the proxied hosts'
                 16-byte Gnutella2 GUID )

Example

               X-G2ALT: 111.222.33.44:5555
               X-G2ALT: 111.222.33.44, 55.66.77.88:9999
               X-G2ALT: ABCDEFGHIJKLMNOPQRSTUVWXYZ@111.222.33.44:5555|66.77.88.99
               X-G2ALT: 55.66.77.88:9999, ABCDEFGHIJKLMNOPQRSTUVWXYZ@111.222.33.44:5555|66.77.88.99