ystyle / exatorrent

Self-hostable , easy-to-use , lightweight and feature-rich torrent client written in Go . It comes with beautiful Web UI and Optional Multi-User Support . Run Locally or Host in Server . Open/Download/Stream Torrents in Browser Right Away!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

exatorrent

self-hostable torrent client


ScreenshotsReleasesFeatures Installation UsageDocker Build License


Introduction

exatorrent is BitTorrent Client written in Go. It can be run locally or be hosted in Remote Server with good resources to use that Server as SeedBox. It is Single Completely Statically Linked Binary with Zero External Dependencies .

exatorrent is simple yet feature-rich . It is lightweight and light on resources. It comes with Beautiful Responsive Web Client written in Svelte and Typescript , but thanks to documented WebSocket API of exatorrent , you can also write your own client if you want to.

exatorrent can operate in Optional Multi-User Mode administrated by admin user/s but it can successfully be used by Single-User as well. Torrented Files are stored in local disk of device where it's run, which are then retrievable or streamable via HTTP.


exatorrent web client

More Screenshots →


Installation

exatorrent can be installed in 3 ways.

  • Releases: You can download binary for your OS from Releases . Mark it as executable and run it . Refer Usage .
    wget https://github.com/varbhat/exatorrent/releases/latest/download/exatorrent-linux-amd64
    chmod u+x ./exatorrent-linux-amd64
    ./exatorrent-linux-amd64
  • Docker: exatorrent can also be run inside Docker ( or Podman ). See Docker Docs .
    docker pull ghcr.io/varbhat/exatorrent:latest
    docker run -p 5000:5000 -p 42069:42069 -v /path/to/directory:/exa/exadir ghcr.io/varbhat/exatorrent:latest
  • Build: exatorrent is open source and can be built from sources . See Build Docs .
    make web && make app

Note that Username and Password of Default User created on first run are adminuser and adminpassword respectively. You can change Password later but Username of Account can't be changed after creation. Refer Usage .

Github Actions is used to build and publish Releases and Docker/Podman Images of exatorrent .

If you want to deploy exatorrent on server , please also refer Deploy Docs .

Features

  • Single Executable File with No Dependencies
  • Small in Size
  • Cross Platform
  • Download (or Build ) Single Executable Binary and run . That's it
  • Open and Stream Torrents in your Browser
  • Add Torrents by Magnet or by Infohash or Torrent File
  • Individual File Control (Start, Stop or Delete )
  • Stop , Remove or Delete Torrent
  • Persistent between Sessions
  • Stop Torrent once SeedRatio is reached (Optional)
  • Powered by anacrolix/torrent
  • Download/Upload Rate limiter (Optional)
  • Apply Blocklist (Optional)
  • Configurable via Config File but works fine with Zero Configuration
  • Share Files by Unlocking Torrent or Lock Torrent (protect by Auth) to prevent External Access
  • Retrieve or Stream Files via HTTP
  • Multi-Users with Authentication
  • Auto Add Trackers to Torrent from TrackerList URL
  • Auto Fetch Torrent Metainfo from Online/Local Metainfo Cache
  • Download Directory as Zip or as Tarball
  • Stream directly on Browser or VLC or mpv or other Media Players
  • Documented API
  • Uses Sqlite3 (embedded database with no setup and no configuration) by Default for Database but PostgreSQL can be used instead too

Read More →

Help

Communication about the project is primarily through Discussions and the Issues.

Contribute

You are welcome to contribute . Please Read the contributing docs first.

Sponsor

If you like this Project , please consider this as an opportunity to sponsor / donate to this project . This would help me maintain this project and also work on other Open Source Projects . Use Liberapay , Paypal , Ko-fi or UPI (VPA: mailvarbhat@okhdfcbank) to Sponsor / Donate to this Project .

License

GPL-v3

About

Self-hostable , easy-to-use , lightweight and feature-rich torrent client written in Go . It comes with beautiful Web UI and Optional Multi-User Support . Run Locally or Host in Server . Open/Download/Stream Torrents in Browser Right Away!

License:GNU General Public License v3.0


Languages

Language:Go 53.1%Language:Svelte 39.9%Language:TypeScript 5.5%Language:Makefile 0.6%Language:JavaScript 0.6%Language:Dockerfile 0.1%Language:HTML 0.1%