storrent

command module
v0.0.0-...-c8d95c1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2024 License: MIT Imports: 26 Imported by: 0

README

Storrent
========

Storrent is a BitTorrent implementation that is optimised for streaming
media: it allows you to watch a movie or to listen to music from a Torrent
without downloading it entirely.

Storrent works entirely in RAM: except for the DHT bootstrap database, it
will never write anything to disk.  It requires a fair amount of memory
(1GB will do, 4GB is better).


Installation
------------

    git clone https://github.com/jech/storrent
    cd storrent
    CGO_ENABLED=1 go build

This will yield a binary called `storrent` or `storrent.exe`.

Running
-------

    ./storrent &
      
Now go to

    http://localhost:8088
    
and add a magnet link or a link to a torrent file.  Wait a few seconds,
then hit reload; you should see a link to a playlist which you may
download and feed to your favourite media player.


Command-line options
--------------------

    storrent -help
    
By default, storrent takes 1/2 of the total RAM on your machine.  You may
tune this with the `-mem` command-line flag:

    storrent -mem $((4 * 1024 * 1024)) &

By default, storrent attempts to open ports in your NAT box or firewall
using NAT-PMP, or, failing that, uPNP.  You may disable port mapping with
the `-portmap` flag:

    storrent -portmap=off

I usually run storrent in a slightly more paranoid mode than the default:

    storrent -force-encryption -dht-passive

For privacy reasons, storrent doesn't use trackers or webseeds by default;
you may enable them on a torrent-by-torrent basis in the user interface.
Should you wish to override the default, do:

    storrent -use-trackers -use-webseeds


Author
------

Juliusz Chroboczek <https://www.irif.fr/~jch/>

Documentation

Overview

STorrent is a BitTorrent implementation that is optimised for streaming media.

Directories

Path Synopsis
Package bitmap implements bitmaps that maintain their length in bytes and behave compatibly with the bitfields used in the BitTorrent protocol.
Package bitmap implements bitmaps that maintain their length in bytes and behave compatibly with the bitfields used in the BitTorrent protocol.
Package config implements global configuration data for storrent.
Package config implements global configuration data for storrent.
Package crypto implements BitTorrent protocol encryption.
Package crypto implements BitTorrent protocol encryption.
Package dht provides Go bindings for libdht, a library implementing the BitTorrent DHT.
Package dht provides Go bindings for libdht, a library implementing the BitTorrent DHT.
Package hash implements 20-byte hashes as used by the BitTorrent protocol.
Package hash implements 20-byte hashes as used by the BitTorrent protocol.
Package mono implements monotonic time in seconds.
Package mono implements monotonic time in seconds.
requests
Package requests implements a queue of pending requests.
Package requests implements a queue of pending requests.
Package PEX implements the data structures used by BitTorrent peer exchange.
Package PEX implements the data structures used by BitTorrent peer exchange.
Package protocol implements low-level details of the BitTorrent protocol.
Package protocol implements low-level details of the BitTorrent protocol.
Package rate implements a rate estimator.
Package rate implements a rate estimator.
Package rundht implements the interface between storrent and the DHT.
Package rundht implements the interface between storrent and the DHT.
tor
Package tor implements behaviour of torrents in storrent.
Package tor implements behaviour of torrents in storrent.
piece
Package piece implements a data structure used for storing the actual contents of a torrent.
Package piece implements a data structure used for storing the actual contents of a torrent.
Package tracker implements the HTTP and UDP BitTorrent tracker protocols, as defined in BEP-3, BEP-7, BEP-23 and BEP-15.
Package tracker implements the HTTP and UDP BitTorrent tracker protocols, as defined in BEP-3, BEP-7, BEP-23 and BEP-15.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL