exatorrent is a new cross-platform self-hostable BitTorrent client written in Go. It’s made with servers / seedboxes in mind, but you can also run it locally.
Even though it just had its 0.0.1 release, the free and open source application is already quite feature-rich, having a responsive web client (written in Svelte and Typescript) as well as WebSocket API support (so you can write your own client for it), multiple ways of adding torrents (magnet, infohash or torrent file), speed limiter, multi-user authentication, and even the ability to stream audio / video torrents directly in the web browser, or via VLC or mpv.
The application is lightweight and easy to use, available as a single executable with no dependencies, and it can run on Linux, macOS, Microsoft Windows and Android (via Termux). There are binaries available for Linux (amd64 and arm64), and you can also use Docker, but there are no Windows or macOS binaries for now (so in that case you either have to use Docker or build it from source).
exatorrent features include:
- Open and stream audio / video torrents in your web browser or using VLC, mpv and other media players
- Add torrents by magnet link, infohash or torrent file
- Start, stop, remove or delete torrents
- Stop torrents when reaching a certain ration
- Peer blocklist
- Upload / Download rate limiting
- Besides streaming, files downloaded by exatorrent can be shared (with authentication) – directories can be retrieved as zip / tarballs
- Multi-user support
- Add trackers to torrent from trackerlist URLs
- Fetch torrent metainfo from online cache
Here are a couple of screenshots showing the exatorrent torrent list, and the torrent stream page:
exatorrent can be configured using the web client, a config file, as well as via command line parameters, but using it with the defaults should be perfectly fine in most cases. So you can run it by opening a terminal and typing:
By default, it uses
:5000 as the listen address, so open
http://localhost:5000 in your web browser, and login with the default
adminuser username and
adminpassword password. You can change the password using the web client, but not the username. If you want to use a custom username, the first time you launch Exatorrent, use:
exatorrent -admin ADMINUSERNAME
ADMINUSERNAME with the username you want to set.
You can also specify the listen address, SSL certificate, etc. via command line parameters:
Usage of exatorrent: -addr <addr> Listen Address (Default: ":5000") -admin <user> Default admin username (Default Username: "adminuser" and Default Password: "adminpassword") -cert <path> Path to TLS Certificate (Required for HTTPS) -dir <path> exatorrent Directory (Default: "exadir") -engc <opt> Generate Custom Engine Configuration -key <path> Path to TLS Key (Required for HTTPS) -psql <opt> Generate Sample Postgresql Connection URL -torc <opt> Generate Custom Torrent Client Configuration -unix <path> Unix Socket Path -help <opt> Print this Help
For now, you can install exatorrent using a binary on Linux, and via Docker, or you can build it from source.
You might also like: Easy rTorrent + ruTorrent Installation And Configuration Script For Debian Or Ubuntu