exatorrent Is A New Self-Hostable BitTorrent Client Featuring A Responsive Web Interface, Streamable Torrents BitTorrent console Media Server

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:

<img alt="exatorrent torrent list" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/08/echo/exatorrent-torrents.png61277232cd9bd.jpg" data-original-height="770" data-original-width="1110" ezimgfmt="rs rscb269 src ng ngcb269" height="444" src="data:image/svg xml,” title=”exatorrent torrent list” width=”640″>

<img alt="exatorrent streaming torrent" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/08/echo/exatorrent-streaming.png6127723301543.jpg" data-original-height="823" data-original-width="1260" ezimgfmt="rs rscb269 src ng ngcb269" height="418" src="data:image/svg xml,” title=”exatorrent streaming torrent” width=”640″>

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:

exatorrent

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

Replacing 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     Listen Address (Default: ":5000")
 -admin    Default admin username (Default Username: "adminuser" and Default Password: "adminpassword")
 -cert     Path to TLS Certificate (Required for HTTPS)
 -dir      exatorrent Directory (Default: "exadir")
 -engc      Generate Custom Engine Configuration
 -key      Path to TLS Key (Required for HTTPS)
 -psql      Generate Sample Postgresql Connection URL
 -torc      Generate Custom Torrent Client Configuration
 -unix     Unix Socket Path
 -help      Print this Help

Install exatorrent


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

via hn