View of Tribler from an outsider

Hey there!

I’ve stumbled upon Tribler while searching for peer to peer networks and while doing so stumbling upon and listening to this lecture from 2012 of one of your professors I guess: https://www.youtube.com/watch?v=JQiLaKdzD0E

After listening 1 and a half hours to “your” goals from 4 years ago, and then looking at what Tribler can do today - I gotta be honest: I’m quite disappointed.

My main interest when starting my research was to find a peer to peer messaging system, and to my eyes it looks like the only functional feature that Tribler has more than an ordinary bittorrent client is the streaming of video torrents (from the start, no control to choose to skip the first x percent)

Now to my experiences with Tribler:
I’m running Ubuntu 16.04 and the first thing I tried was download and install tribler_6.5.1_all.deb released via github pointed to from your main website. Installing didn’t work because of missing dependencies. I tried to download and install a few debs from previous Ubuntu releases but got fed up after about 5 (recursive) dependencies.

So after that failed, I instead followed the guide “Running Tribler from this repository” from https://github.com/Tribler/tribler/ (with the dependency python-wxgtk2.8 replaced by python-wxgtk3.0 and after already having manually downloaded and installed a libsodium13 deb package)

git clone --recursive https://github.com/Tribler/tribler.git
sudo apt-get install libav-tools libjs-excanvas libjs-mootools libsodium13 libx11-6 python-apsw python-cherrypy3 python-crypto python-cryptography python-feedparser python-leveldb python-libtorrent python-m2crypto python-netifaces python-pil python-pyasn1 python-requests python-twisted python-wxgtk3.0 python2.7 vlc python-pip
pip install decorator
cd tribler
./tribler.sh

which got me a running Tribler instance. (though it’s strange that when cloning the master from github I get version 6.5.0 while there is a released version 6.5.1)

Now the channel list built up and I was able to stream one torrent video that was popular with quite a long caching time till it started but still a very nice feature. When switching to the download tab I saw that this started the download non anonymously, which is okey for me (I am more interested in peer to peer in general than onion routing) but still for a software like Tribler I think there should be a warning before that.

What’s kind of strange is the logic of when the “Stream” and the “Download” button are available when browsing through a channel. Torrents that have never been selected have both buttons enabled (on mouse hover). Once I’ve selected a download, its “Stream” button is disabled. In some cases when the file lookup is successful, the “Stream” button will be enabled again, but in others, even with successful lookups that have avi files in it the button stays disabled.

Another thing about the various channels: A lot of content that clearly is not porn is marked as “File Type: XXX”

And finally about the anonymous onion routing type downloading: It does not work at all for me. I mean I understand that if it worked it would probably be extremly slow since there are probably very few people who check the “exit node” tick in the settings (especially since there is no incentive / reward system for it in place, and also because of Tribler 6.5.0 exit node questions ) but I would have expected at least a few kilobytes after many hours, but alas, nothing after letting one download run for around 10 hours. It shows me a “Network Graph” with lots of dot’s in between me and the “darknet / bittorrent swarm” cloud and on the right there is a list of IDs where each of them has between 0.5kb and 80kb up/download values. The tab “Peers” is empty which I guess is because I am not myself participating in the bittorrent swarm for this torrent.

The anonymous seeding that is automatically started once A stream has finished downloading exhibits the same behaviour as the anonymous downloading. Tab “Network Graph” looks fine though the numbers are a little bit low (all strictly in the kilobyte range) and the up speed stays 0kb/s, only while the (non anonymous) download was still running the speed diagram shows up speed > 0kb/s.

Tribler has been using dispersy for years (also developed by us) as the P2P messaging system which is used to implement the content channels, tunnel community etc.

Regarding seeking, it should work. If it doesn’t for you, please create an issue at our github issue tracker.

16.04 was released a few days ago and we are working on an update to support it.

You checked out the devel (development branch) which is not meant for for end users. If you want to run the stabilization branch (what will become the next stable release) then you need to checkout next, if you want to run the latest stable release, you either check out the latest version tag or master (which was out of date, thanks for the heads up).

Good catch, I’m not sure if it was done on purpose as tunneled downloads can get pretty slow, but you are right, it should at least ask about it, I’ve created an isue for that:

re GUI/usability improvements: A new gui is being developed and will be open to public review/discussion ASAP. You can create new issues for any non-existing improvements you can think of and we will consider it for the new GUI design.

Yeah, building an XXX filter is pretty hard (and ours is not particularly good) we are too understaffed to give priority to this, but we will happily accept contributions.

What will become 6.6 already shows a meter of the traffic provided/consumed on the tunnel community. The bandwidth shaping option is not implemented yet though.

Have in mind that the anon tunnel community is an experimental feature and it has a few rough edges. That said. When anon seeding is enabled, hidden seeding is also enabled, which doesn’t require any exit tunnels as everything happens in end to end encrypted tunnels. But there’s probably few peers seeding in this mode.

The university is providing a few big exit nodes to help bootstrap the tunnel community and they are pumping over 6TB a day so you should be able to get some traffic even if it’s not huge. If you are not getting any traffic through and you have tried with a healthy enough torrent, please open an issue and we will do our best to get it solved.

Thanks for your feedback!

Hey there!
Thank you for taking the time to write such a detailed response!

Sorry, I’m afraid my statement of searching for a p2p messaging system was ambiguous: I meant a messaging system for human use, not something I can build upon as a developer, but something that can be installed and used by 2 human users to communicate with each other without a central server. So like RetroShare or Tox clients like Antox.

Hmm. Maybe I simply do not understand the UI. All I see are controls for Pause, Stop, Mute, Volume & Full Screen. I could not find any tooltips nor any mouseover UI anywhere that might explain me how to tell Tribler to start streaming somewhere else but in the beginning, or skip forward or back. Is there some documentation that explains the streaming player interface? I did not find it.

Yes you’re right, it’s quite early. It was not meant as critisism, just to tell you how I was able to get Tribler to run under 16.04.

Oh, I did not see that there where multiple branches. My bad. You’re right, the default checkout seem to have been devel, which works fine for me. Checking out master or next and running tribler.sh afterwards gives me this error:

$ ./tribler.sh 
ERROR   1461767851.17         tribler:60    Unable to use wxversion installed wxversions: ['3.0-gtk2']
Traceback (most recent call last):
  File "Tribler/Main/tribler.py", line 58, in <module>
    wxversion.select("2.8-unicode")
  File "/usr/lib/python2.7/dist-packages/wxversion.py", line 152, in select
    raise VersionError("Requested version of wxPython not found")
VersionError: Requested version of wxPython not found
Traceback (most recent call last):
  File "Tribler/Main/tribler.py", line 92, in <module>
    __main__()
  File "Tribler/Main/tribler.py", line 82, in __main__
    run()
  File "Tribler/Main/tribler.py", line 64, in run
    from Tribler.Main.tribler_main import run as run_main
  File "/home/kaefert/src/tribler/Tribler/Main/tribler_main.py", line 52, in <module>
    import wx
ImportError: No module named wx

You’re welcome! Glad I could do something useful for you :slight_smile:

Hmm, I tried again with another torrent after switching the setting to only a single anonymous hop, and now It works a little bit. Though I’m not sure if this is really tunneled throught the Tribler anonymous network, although it shows in Download list under the “Anonymous” column with “Yes (1 hop)” When I click on the download to see it’s details and switch to the “peers” tab I see one line with IP-adress & port and client software “µTorrent 3.4.6” which looks kind of untunneled traffic to me?

You’re very welcome! Thanks for valuing it!

I see, there’s this (abandoned) project called The global square that had the initial/experimental implementation of a P2P chat system using dispersy: https://github.com/whirm/tgs-pc, it got dropped due to lack of interest (I couldn’t put any more time on it and nobody took over).

You can just drag the progress bar (The new GUI should be more user friendly).

No offense taken :slight_smile:

V6.5.2 should be out of the door as soon as the last bug fix is confirmed to be working by our users (see Tribler 6.5.1 stuck @ building circuits / port status unknown for more info). Right after that, the first v6.6 alpha with WX3 (hence Ubuntu 16.04) support will be released.

Yeah, that’s your system missing WX2.8 and WX3 not being supported :slight_smile:

Those are connections to plain peers on the internet via exit nodes. To them (the peers) it appears as if the one talking to them is the exit node. Those will be the vast majority of the connections as there’s comparatively very few Tribler peers doing tunneled seeding (end to end encrypted).