Skip to content


Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time


self-hostable torrent client

ScreenshotsReleasesFeatures Installation UsageDocker Build License


  • exatorrent is Elegant BitTorrent Client written in Go.
  • It is Simple, easy to use, yet feature rich.
  • It can be run locally or be hosted in Remote Server with good resources.
  • It is Single Completely Statically Linked Binary with Zero External Dependencies.
  • It is lightweight and light on resources.
  • It comes with Beautiful Responsive Web Client written in Svelte and Typescript.
  • Thanks to documented WebSocket API of exatorrent , custom client can be created.
  • It supports Single User Mode and Multi User Mode.
  • Torrented Files are stored in local disk can be downloaded and streamed via HTTP/Browser/Media Players.

exatorrent web client

More Screenshots →


  • Releases:

    chmod u+x ./exatorrent-linux-amd64
  • Docker: exatorrent can also be run inside Docker ( or Podman ). See Docker Docs .

    docker pull
    docker run -p 5000:5000 -p 42069:42069 -v /path/to/directory:/exa/exadir
  • 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 .


  • 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)
  • Perform Actions on Torrent Completion (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 →


Communication about the project is primarily through the Issues.


You are welcome to contribute. If you want to implement any significant feature, please discuss it first.


Special Thanks to anacrolix/torrent, Programming Languages and Libraries used in exatorrent and Users for making this project happen.