First version of the second life mitm proxy.

I used it mostly to investigate the protocol, dump the resource files as
they were downloaded, test the responses of the server to hand crafted
packets, etc.

According to my notes this version was successfully dumping resources but
didn't do much more.

The LoginProxy.py script would intercept login attempts, and SimProxy.py
would intercept connections to the game servers themselves. Both scripts
had to be run at the same time to divert the Second Life client to our
fake server. Internally, the scripts communicate using XMLRPC.

The rip.py script dumps the resources from the packet captures into the
"rip" folder.
Second version of the Second Life MitM proxy.

According to my notes, in this version the packet parser was finally complete.

Back then the Second Life protocol was UDP based. Parsing wasn't hardcoded into the scripts, but rather the packet format was encoded in a text file that came with the Second Life client source code. That means upgrading to a new version mostly just meant replacing that text file.
Third version of the Second Life MitM proxy.

In this version I moved the Second Life protocol code into a library
called "sllib", for better code reuse. A new script was added
(CapProxy.py) and plugins were added for some functionality like
automatically tracking and intercepting teleports.

I don't remember what CapProxy did, or what "seed capabilities" meant,
sorry. It's been a while and I didn't happen to take notes for this
version. :(
Fourth version of the Second Life MitM proxy.

By now the Second Life protocol had begun its migration to HTTP, and I
tried to keep up. However the HTTP server that comes with Python is crap
:P and kept breaking on perfectly valid requests made by the client.

According to my notes, many bugs were fixed in this version, but I didn't
write down what they were about.
Fifth version of the Second Life MitM proxy.

This is the last version I have. There was a sixth version but I lost it
by mistake when backing up my PC before reformatting the hard drive -
after that I kinda lost interest, because redoing the last changes (and
remembering what had to be redone) was quite frustrating. (Wish I had git
back then!).

This version, according to my notes, is broken and at the time I didn't
know how to fix it. I don't remember if I finally managed to fix whatever
crippling bug it had in the code I lost. What I do remember is that all my
problems had to do with the migration to HTTP, since I no longer had a
complete description of the protocol anymore, so by now I was going
through the client source code and sniffing the traffic from a live game
session to figure out the new protocol. There were also some
concurrency problems that were most likely my fault.
This seemed to be part of the chat protocol parser. The last (lost) version of my proxy supported the use of bots, and I had a bot that implemented a Python console through the Second Life chat. That way I could more easily do tests on the protocol, since I could do it directly from a live game session instead of having to think them in advance.
This file probably goes there.
This seems to be an unfinished script to dump the textures from the texture cache.
Merge branch 'master' of github.com:MarioVilas/secondlife-experiments