########################################################################

Title:  Peerchat_proxy
Author: Luigi Auriemma
e-mail: aluigi@autistici.org
web:    aluigi.org

########################################################################


1) Introduction
2) Requirements
3) Hosts file
4) Uninstall
5) Philosophy


########################################################################

===============
1) Introduction
===============


Peerchat_proxy is a proxy utility ables to decrypt the Gamespy IRC
protocol data in real-time.
This protocol is used by some games, you recognize them since they
connect to the server peerchat.gamespy.com and uses encrypted traffic.
Some examples are Gamespy Arcade, Race Driver, Ground Control 2,
Haegemonia, Sacrifice (plain-text traffic) and many others.

The protocol uses an encryption method to avoid that users (the same
users who have bought the game) see what happens on their computers and
what type of data is exchanged.

I have chosen the "proxy" solution because it is more simple to manage
and then after the initial setup (probably a bit unusual for newbies)
it is very simple to use. Then it is easily portable to any operating
system.

The log file peerchat_proxy.log is used to log ALL the data exchanged
between you (client) and peerchat.gamespy.com (server).

When you want to exit, press CTRL-C.
The log file is automatically updated in real-time (fflush) to the disk
so no data will be lost and you can check it also while the tool is
running.


########################################################################

===============
2) Requirements
===============


Peerchat_proxy REQUIRES the presence of Gslist (versions major than 0.6)
in the same directory on which you run it OR in the Gslist system
folder.
The file is available here:

  http://aluigi.org/papers/gslist.zip

Instead Gslist (NOT required) is an opensource servers browser written
by me, you can find it here:

  http://aluigi.org/papers/gslist.zip

When you launch Peerchat_proxy for the first time it will guide you into
a setup process needed to force games to pass through it so it can
decrypt their data.
The modification required is just a line of text in the hosts file which
must be inserted by you, Peerchat_proxy doesn't touch files.


########################################################################

=============
3) Hosts file
=============


To use Peerchat_proxy you must make some operations on your hosts file.
The hosts file is the system file containing static IP addresses for
specific hostnames, it is usually located in one of the following
directories of Windows:

 Windows 95/98/Me       c:\windows\hosts
 Windows NT/2000/XP Pro c:\winnt\system32\drivers\etc\hosts
 Windows XP Home        c:\windows\system32\drivers\etc\hosts

or in /etc/hosts on Linux and other Unix systems.
If the file doesn't exist, CREATE it.

When you launch Peerchat_proxy for the first time or when your hosts
file is not correctly modified as the proxy needs you will receive all
the instructions to do 2 simple modifications to the hosts file.

They are needed to let your computer to connect to the proxy instead of
peerchat.gamespy.com so the proxy can decrypt all the exchanged data.

Practically your system must "think" that peerchat.gamespy.com has the
IP 127.0.0.1 (localhost, yourself) while peerchat_proxy must know and
must connect to the real IP address.


########################################################################

============
4) Uninstall
============


Peerchat doesn't require installation or uninstallation, but when you
want to restore the correct routing of the peerchat.gamespy.com server
you simply need to comment the line in the hosts file you have added the
first time you have launched Peerchat_proxy.

Example of the hosts file before Peerchat_proxy:

  127.0.0.1     localhost

Example of the hosts file after Peerchat_proxy:

  127.0.0.1     localhost
  127.0.0.1     peerchat.gamespy.com

Example of the hosts file after closing Peerchat_proxy and restore the
correct hostname resolution of peerchat.gamespy.com:

  127.0.0.1     localhost
#  127.0.0.1     peerchat.gamespy.com

Hope this example is enough clear, in any case contact me for doubts


########################################################################

=============
5) Philosophy
=============


I don't like and I don't have secrets.

Encryption and encoding are used to hide data and this is not good if
they are used to avoid that the same users who use the software see
their own data.

Encryption and encoding in fact are normally used to avoid that third
people able to see the data if this data is private.

BUT it's BAD to avoid that the same users who have paid for a game or a
product can't see what happens on their own computers and what type of
data is exchanged.


########################################################################
