Basically I've slaped both the functionalities of a regular Bittorrent Tracker and a ZeroNet Tracker into one server and made it easily usable
Node.js implementation of a ZeroNet Tracker (which is a BitTorrent tracker that has support for the ZeroProtocol and .onion addresses)
A ZeroNet tracker is a web service which responds to requests from ZeroNet clients. The requests include metrics from clients that help the tracker keep overall statistics about the torrent. The response includes a peer list that helps the client participate in the torrent swarm.
This module is used by ZeroNetJS.
- Includes client & server implementations
- Supports all mainstream tracker types:
- HTTP trackers
- UDP trackers (BEP 15)
- WebTorrent trackers (BEP forthcoming)
- Zero trackers (No spec, just code)
- Supports ipv4 & ipv6 & onion
- Supports tracker "scrape" extension
- Robust and well-tested
- Comprehensive test suite (runs entirely offline, so it's reliable)
- Tracker statistics available via web interface at
/stats
or JSON data at/stats.json
Also see zeronet-swarm.
npm install zeronet-tracker
Install zeronet-tracker
globally:
$ npm install -g zeronet-tracker
Easily start a tracker server:
$ zeronet-tracker
http server listening on 8000
udp server listening on 8000
ws server listening on 8000
Lots of options:
$ zeronet-tracker --help
zeronet-tracker - Start a bittorrent tracker server
Usage:
zeronet-tracker [OPTIONS]
If no --http, --udp, or --ws option is supplied, all tracker types will be started.
Options:
-p, --port [number] change the port [default: 8000]
--trust-proxy trust 'x-forwarded-for' header from reverse proxy
--interval client announce interval (ms) [default: 600000]
--http enable http server
--udp enable udp server
--ws enable websocket server
--zero enable zeronet server
-q, --quiet only show error output
-s, --silent show no output
-v, --version print the current version
MIT. Copyright (c) Feross Aboukhadijeh, WebTorrent, LLC and Maciej Krüger.