Exatorrent, a self-hosting BitTorrent client with a web interface

about extorrent

In the next article we are going to take a look at Exatorrent. This is a cross-platform self-hosted BitTorrent client which is written in Go and is still starting. This program can be run locally or hosted on a well-resourced remote server, to be used as SeedBox.

extorrent it is a simple program, but with enough functions available to get the job done. It comes with Beautiful Responsive Web Client, and is written with Slender y TypeScript. Also thanks to exatorrent's documented WebSocket API, users can also write our own client. The program offers multiple ways to add torrents (magnet, infohash or torrent file), speed limiter, multi-user authentication, and even the ability to stream torrents audio / video directly in the web browser, or via VLC or mpv.

In addition, it can work in multi-user mode, managed by administrator users, but can also be used efficiently by a single user. Files shared by torrent are stored on the local disk of the device where it runs, which can then be retrieved or transmitted over HTTP.

General characteristics of exatorrent

extorrent preferences

  • The program can be found as a single executable file with no dependencies, small in size and available for different platforms.
  • Allows open and stream torrents from the browser.
  • We can add torrents by Magnet, by Infohash or Torrent file.

exatorrent home screen

  • It can check individual files (start, stop or delete).
  • Es persistent between sessions.
  • We can stop a torrent once the SeedRatio is reached.
  • We will also have the possibility of set a speed limiter discharge / upload.
  • It can apply a block list.
  • It is configurable through configuration file, but it works fine with the default settings.
  • Allows share a torrent protected by authentication to prevent external access.

iso torrent download

  • It can retrieve or stream files over HTTP.
  • We can stream directly to browser, VLC, mpv or other media players.
  • It has a API Documented.
  • Use Sqlite3 by default for the database, but you can also use PostgreSQL instead.

These are just some of the features of this program. They can consult all of them in detail from the project website on GitHub.

Install exatorrent on Ubuntu

Ubuntu users can install exatorrent using a binary, via Docker, or you can also compile from source. For this example we will use the binary that can be downloaded from the project launch page. This package can be downloaded using the web browser, or by opening a terminal (Ctrl + Alt + T) and using in it wget as follows:

download extorrent

wget https://github.com/varbhat/exatorrent/releases/latest/download/exatorrent-linux-amd64

Once the download is finished, all that remains is give permissions to the downloaded file:

chmod u+x ./exatorrent-linux-amd64

The next step will be start program service running the file:

./exatorrent-linux-amd64

Program start

As indicated in their documentation, exatorrent can be configured using the web client, a configuration file, as well as via command line parameters. Although after trying it with the default values, I have to say that it has worked perfectly well for me.

default login

By default, this program uses port 5000, so we can open the url http://localhost:5000 in the web browser, and log in with the username admin user and the password adminpassword, which are configured by default. Allows you to change the password from the web client, but not the username defined by default. If you want to use another user, you must create a new one from the options available in the web interface.

create user in exatorrent

It can get information about what this program allows us to do typing in terminal (Ctrl + Alt + T):

extorrent help

./exatorrent-linux-amd64 --help

This command will change based on the name of the downloaded file.

Even though it's just still at version 0.0.1, this free and open source app is already quite feature-rich. For get more information on how to use and configure this program, users can use the project GitHub page.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.