Awesome
exatorrent
🧲 self-hostable torrent client
<p><a href="docs/screenshots.md">Screenshots</a> • <a href="https://github.com/varbhat/exatorrent/releases/latest">Releases</a> • <a href="#features">Features</a> • <a href="#usage"> Installation </a> • <a href="docs/usage.md"> Usage</a> • <a href="docs/docker.md">Docker</a> • <a href="docs/build.md"> Build </a> • <a href="LICENSE">License</a></p> <hr>
- 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.
Usage
Exatorrent can be operated using either of the following methods:
- Releases: You can download precompiled binary for your Operating System 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: Docker images of exatorrent are also provided which lets exatorrent to be run in a Docker container. 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
- Manual Build: exatorrent is open source and can be built from sources. See Build Docs.
make web && make app
Notes:
- Note that Username and Password of Default User created on first run are
adminuser
andadminpassword
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 Images of exatorrent.
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)
- 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