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
- 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.
- 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.
- 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:
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.
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.
It can get information about what this program allows us to do typing in terminal (Ctrl + Alt + T):
./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.