bootstraptribler.txt: a simple explanation

Imagine a large circle of users (called peers), each of whom use Tribler file sharing software. File sharing software only functions if it can communicate with other peers. File sharing software requires the Internet address of others in order to search, download and share content with others. On initial startup, the sharing software must bootstrap and find at least one other peer.

List of online peers

The most simple method of bootstrapping is using a list of currently online peers plus their port number. See the example below.

# file: bootstraptribler.txt



# default bootstrap peers

server1.always-online.org 6420

host1.never-offline.russia 6420

sealand.routed.org 6420

168.0.0.13 6420



A file sharing program needs a fresh list of peers to bootstrap. Thus a pre-defined list of peers is included in the software installer. As peers can go offline it is important that at least one peer out of possibly thousands on the list is still online. This pre-existing address list of possibly working peers must therefore remain valid for as long as possible.

Bootstrapping is done by contacting peers in the list, possibly in parallel. If a single peers replies, we are connected. Once connected, the peer requests a fresh list of working peer Internet addresses. The peer tries to connect to the nodes it was shipped with, as well as nodes it receives from other peers, until it reaches a certain quota.

By default Tribler software itself has hard coded some well known online peers. Different online peers for bootstrapping can be used by creating a bootstraptribler.txt file in the format shown above.

You need to store this file in the following location, depending on your operating system:

  • Windows:
    C:\Users\<YOUR USER NAME>\AppData\Roaming\.Tribler\bootstraptribler.txt
  • Mac:
    /Users/<YOUR USER NAME>/.Tribler/bootstraptribler.txt
  • Linux:
    /home/<YOUR USER NAME>/.Tribler/bootstraptribler.txt

How to run a bootstraptribler peer

Any computer with a open connection to the Internet can run a bootstraptribler peer. More volunteers will increase the robustness of the peer-to-peer overlay, i.e. if the peers hosted by various universities are unavailable, people can choose to use different peers.

Setup on Ubuntu Linux

Technically inclined people are more likely to run a bootstraptribler peer, hence we only explain how to run one on a Ubuntu Linux distribution from source. While it is easy to run on different distributions or operation systems, we will not go into that here.

  1. Install required package.
        > sudo apt-get install python-m2crypto
    
    
  1. Prepare a directory to store the database.
        > mkdir bootstraptribler
    
        > cd bootstraptribler
    
    
  1. Download the Tribler source code.
        > svn checkout http://svn.tribler.org/abc/branches/release-5.5.x release-5.5.x 
    
    
  1. Prepare your own bootstraptribler.txt.
    # file: bootstraptribler/bootstraptribler.txt
    
    
    
    # default TUDelft bootstraptribler peer
    
    dispersy2.tribler.org 6422
    
    dispersy3.tribler.org 6423
    
    dispersy4.tribler.org 6424
    
    dispersy5.tribler.org 6425
    
    dispersy6.tribler.org 6426
    
    
    
    # my own bootstrap peer
    
    my.hostname.edu 6420
    
    
    
    # other public bootstrap peers
    
    other.hostname.edu 6420
    
    more.hostname.edu 6420
    
    
  1. Run the bootstrap peer on port 6420.
        > cd release-5.5.x
    
        > export PYTHONPATH=.
    
        > python -O Tribler/Main/dispersy-tracker.py --statedir ../ --port 6420
    
    
  1. Spread the word. Use search engines, social media sites, friends, etc. and let people know that you are running a bootstrap peer. Remember that they need to add your Internet address too their bootstraptribler.txt so they can find you!

Thank you for running a bootstrap peer

By running a bootstrap peer you are helping out the file sharing community. Thnx! For over 6 years we have been making Tribler as robust as possible. 10+ year old systems such as Gnutella are also distributed. However, all first, second and third generation file sharing software either uses central servers or offers no protection against spam plus lacks our social features and streaming. We define this as "4G P2P". It is trivial to sabotage Gnutella to the point at which it becomes useless. Several ideas have been proposed on bootstrapping systems without any online peer list, simply by smart brute force pinging. We hope to implement these ideas from University of Denver one day and make this page obsolete, feel free to submit your code...

With a thriving community of bootstraptribler peers we as academics are trying to make something new: extreme robust systems. The Amazon cloud has occasional downtime and many websites like Facebook and Twitter had downtime over the years. That could change if more developers used our self-organising system principles.

Result: The only way to take it down is to take The Internet down.

We are proud that Tribler never had a single second of downtime in the six years since it exists. Yes, we had software bug and version upgrade issues. However, the overlay has always been alive and evolving. We still have a lot of ideas on how to improve matters. Currently we are creating more robust alternatives for all TCP-based protocols, including Bittorrent itself.