The netsys-lab/bittorrent-over-scion application is a BitTorrent client that uses QUIC over SCION as transport protocol.
go install email@example.com
The general usage of BitTorrent over SCION is:
|-inPath||Source .torrent file|
|-file||Source file from which the .torrent file was created, only for seeder|
|-seed||Start as seeder if set to true, otherwise start as leecher|
|-local||The full local SCION address, of format |
|-peer||The full remote SCION address, of format |
|-outPath||Destination to which BitTorrent writes the downloaded file, only for leecher|
|-logLevel||Specifies the loglevel, can be |
At the moment, peers can be either seeders (providing a file) or leechers (requesting a file).
The following command runs BitTorrent as a seeder:
./bittorrent-over-scion -inPath='scion-videos.torrent' -seed=true -file='scion-videos.zip' -local="19-ffaa:1:c3f,[188.8.131.52]:43000"
The following command runs BitTorrent as a leecher:
./bittorrent-over-scion -inPath='scion-videos.torrent' -outPath='scion-videos.zip' -peer="19-ffaa:1:c3f,[184.108.40.206]:43000" -seed=false
We provide a demo torrent seeding a zip file of SCION videos under the following SCION address:
19-ffaa:1:c3f,[220.127.116.11]:43000. To run a leecher and download this file, the respective torrent file needs to be downloaded before starting BitTorrent over SCION with he target SCION address.
We plan to extend the current BitTorrent over SCION implementation with several features to improve its usability.
We think about the following features to implement:
- Support SCION HTTP tracker
- Support Dht based peer discovery
- Support magnet links
- Support multi-file torrents
- Support multiple torrents by one running instance
- Support TCP and SCION connections depending on peer information
- Add a GUI on top of the command line client