Open qstokkink opened 7 years ago
Is this still something we would like to have?
Ideally, yes. Currently we have no choice but to use the wild Internet (slower and more prone to unexpected interference).
@qstokkink and @devos50 .. Would a handy ToDo be?
@synctext twisted
has been removed from Tribler a long time ago, and has been superseded by asyncio
. I would avoid using specialised "services" and use Gumby modules instead (e.g., a UDPTorrentTrackerModule
or HTTPTorrentTrackerModule
).
Note that we are already have code to setup UDP and HTTP torrent trackers in Tribler, see here. This code is part of our unit testing framework and can easily be ported to Gumby since it does not require additional dependencies. It might even be possible to directly import the tracker code from Gumby, without duplicating the tracker logic in the Gumby codebase (although that would not be a very clean solution).
Also, Tribler support in Gumby is still broken unfortunately. @kozlovsky is currently working on this.
Even though we have code for HTTP torrent trackers, this code seems to be very basic and does not follow the HTTP torrent tracker standards. For example, it does not register peers that are announcing their torrent download. I found this because I require a torrent tracker in one of my ongoing experiments.
To allow for experiments to use full-fledged LibTorrent, a functional LibTorrent tracker is required. This should probably be implemented like the Dispersy tracker, using a twistd service (see run_tracker.sh) on the sync node.
Implementation details of the libtorrent udp tracker api can be found here.