0.0.2 • Published 3 years ago

bittorrent-tester v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Fake BitTorrent Client

A Node.js BitTorrent API implementation for testing or cheating on trackers.

All in name, this API will never upload or download data from peers, it will only notify tracker.

Usage

import { FakeBitTorrentClient } from 'fake-bittorrent-client';

const trackerUrl = 'http://my.tracker.com:8080/announce';
const torrentHash = 'ee8d8728f435fd550f83852aabab5234ce1da528';
const options = {
  peerId: '-DE13F0-ABCDEF', // Deluge 1.3.15
  port: 31452, // Listen port ( for fake, API will never open a port )
  timeout: 1500, // Optional
  uploaded: 1024 * 16, // Optional, data "already" uploaded
  downloaded: 1024 * 16 // Optinal, data "already" downloaded
};

const client = new FakeBitTorrentClient(trackerUrl, torrentHash, options);

const bytes = 1024 * 1024 * 32; // 32 MB

client
  .upload(bytes)
  .then(() => console.log(['Uploaded ', bytes, ' bytes to ', trackerUrl].join('')))
  .catch(err => console.error(['Error : ', err].join('')));

client
  .download(bytes)
  .then(() => console.log(['Downloaded ', bytes, ' bytes from ', trackerUrl].join('')))
  .catch(err => console.error(['Error : ', err].join('')));
$ fake-bittorrent-client --tracker 'http://my.tracker.com:8080/announce' --hash 'ee8d8728f435fd550f83852aabab5234ce1da528' --upload 33554432 --timeout 1500
Uploaded 33554432 bytes to http://my.tracker.com:8080/announce
$ fake-bittorrent-client --tracker 'http://my.tracker.com:8080/announce' --hash 'ee8d8728f435fd550f83852aabab5234ce1da528' --download 33554432 --timeout 1500
Downloaded 33554432 bytes from http://my.tracker.com:8080/announce

Built With

  • Atom - The hackable text editor
  • npm - The package manager for JavaScript
  • Node.js - Node.js JavaScript runtime ✨🐢🚀✨
  • minimist - Parse argument options

Contributing

All contributions are welcome, juste open a pull request.

Versioning

I use GitHub for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

0.0.2

3 years ago

0.0.1

3 years ago