Donnerstag, 16. Dezember 2010

CS6223 Distributed Systems Triber P2P Architecture

CS6223 Distributed Systems Triber P2P architecture




Tribler consists of the main source code and a modified version of the
M2Crypto library. However, our modifications are now in the official
M2Crypto 0.16, so you should preferably use that version, available from

Alternatively, look for our unofficial M2Crypto version 0.15-ab1 on the
Tribler website.

So make sure you have
Python >= 2.5
M2Crypto >= 0.16
wxPython >= 2.8 UNICODE (i.e., use --enable-unicode to build)
APSW aka. python-apsw >= 3.6.x (Python wrappers for SQLite database)
pywin32 >= Build 208 (Windows only, for e.g. UPnP support)
vlc >= 1.0.1 and its python bindings (optional, for internal video player)

xulrunner-sdk >= < 1.9.2 (optional, to run SwarmTransport)
7-Zip >= 4.6.5 (optional, to build SwarmTransport)

Note that Tribler only works with wxPython UNICODE, not ANSI. With small
adjustments it probably also works with wxPython 2.6.

Python 2.4 is prefered,as Python 2.3's unicode support is not perfect, and 2.3's bsddb module doesnot support the type of concurrency control we need.

OpenSSL 0.9.8 is required for Elliptic Curve crypto support.


1. Unpack the M2Crypto library, build and install:

python build
python install

When you've installed OpenSSL 0.9.8 in a non-standard directory, you must
edit to point to this location. To install M2Crypto in another
directory, use

python install --prefix=/arno/pkgs/m2crypto-dev

In that case you'll need to set the PYTHONPATH environment variable
to point to that directory. PYTHONPATH can also be used to point
to the UNICODE version of wxPython when multiple versions are installed.

2. Unpack the main source code

3. Tribler Main client can now be started by running

python Tribler/Main/

from the source directory.

Optionally you can install the VLC python bindings. For Ubuntu Linux 8.10
there is a simple procedure described next. For earlier Ubuntus please check

4. To install the VLC python bindings run the following commands:

sudo apt-get install libvlc-dev git-core python-dev
cd /tmp
git clone git://
cd vlc/bindings/python/
python build
sudo python install


Keine Kommentare: