mgnt
v0.3.1
Published
Extensible bittorrent client.
Downloads
1
Maintainers
Readme
o
|
o-O-o o--o o-o -o-
| | | | | | | |
o o o o--O o o o
|
o--o
Extensible bittorrent client. Built with webtorrent. Probably a bit buggy, as it's still an early prototype.
Install and usage
$ npm install mgnt -g
$ mgnt [path] # default ~/torrents/
Quit with q
.
Extensions
ui
Provides a simple user interface.
list
Active transfer list.
input
Adds support for input (e.g. pasting torrents).
API
Core
core = new Core([path], [options])
/**
* options: {
* dht: Boolean|Object,
* maxPeers: Number,
* nodeId: String|Buffer,
* peerId: String|Buffer,
* rtcConfig: Object,
* tracker: Boolean,
* wrtc: Object
* }
**/
Both path
and options
are optional.
References to torrent
below refers to instances of webtorrent::torrent
.
core.path
Default torrent download path.
core.client
An instance of webtorrent
.
core.package
Contents of this module's package.json
.
core.download(id)
Add id
to client and begin downloading.
core.remove(id)
Remove id
from client.
core.seed(input, options)
Begins seeding input
.
core.extend(Extension)
Extend core with Extension
(has to be a class).
core.round(number, precision)
Rounds number
to precision
. Returns the number as a string.
core.destroy
Destroys the client and exits the process.
Events
add
core.on('add', function(torrent) {
// e.g. console.log(torrent.infoHash);
});
Emitted when a torrent
has been successfully added to the client.
download
core.on('download', function(torrent, chunkSize) {
// e.g. console.log(torrent.downloadSpeed());
});
Emitted when a chunk of chunkSize
has been successfully downloaded from torrent
.
wire
core.on('wire', function(torrent, wire, addr) {
// e.g. wire.use(myExtension);
});
Emitted whenever a new peer is connected to torrent
. wire
is an instance of bittorrent-protocol
.
done
core.on('done', function(torrent) {
// e.g. console.log(torrent.name);
});
Emitted when torrent
has finished downloading.
seed
core.on('seed', function(torrent) {
// e.g. console.log(torrent.uploaded);
});
Emitted when torrent
has begun seeding.
error
core.on('error', function(error) {
// e.g. throw error;
});
Emitted when an error
occurs with the client.
Contribute
If you want to contribute with an extension, create a git repository with your code and send me a link or submit a pull request.
See Extensions above for examples.