explaingit

torrin-app/torrin

13GoAudience · generalComplexity · 4/5LicenseSetup · hard

TLDR

A self-hosted debrid service written in Go that downloads torrents on a remote server through a VPN, stores files in object storage, and returns a signed HTTPS streaming link, no torrent client on your own machine needed.

Mindmap

mindmap
  root((Torrin))
    What it does
      Remote torrent download
      VPN-protected fetching
      Signed HTTPS streaming
    Interfaces
      Built-in web player
      Stremio addon
      WebDAV network mount
    Features
      Shared content cache
      Signed expiring URLs
      4K HDR and AV1 support
      MKV and HEVC playback
    Use Cases
      Private streaming
      Stremio integration
      Network drive mounting
    Setup
      Linux server plus Docker
      Object storage with CDN
      VPN provider required
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Submit a magnet link and get a signed HTTPS URL to stream the video in a browser or media player without exposing your IP address.

USE CASE 2

Mount the stored torrent library as a network drive via WebDAV and open files in VLC, Infuse, or Kodi on any device.

USE CASE 3

Add Torrin as a Stremio addon so you can browse and stream cached content directly inside the Stremio interface.

USE CASE 4

Share cached content across multiple users so repeat requests for the same torrent skip the download step entirely.

Tech stack

GoDockerDocker ComposeWebDAV

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a Linux server with Docker, an object storage bucket behind a CDN, and a VPN provider account.

The core engine is MIT licensed, the API, authentication, and billing components are proprietary and not included in this public repository.

In plain English

Torrin is a self-hosted debrid service written in Go. A debrid service sits between you and a torrent: you give it a magnet link, it downloads the file on a remote server through a VPN, stores the result in object storage, and hands you back a plain HTTPS link you can stream directly in a browser or media player. Your IP address is never exposed, and you do not need a torrent client running on your own machine. When you submit a magnet link, Torrin first checks whether the content is already cached from a previous request by any user. If it is, you get a streaming URL immediately. If not, the server starts downloading in the background through a VPN connection, then moves the finished file to object storage once complete. Streaming links are signed HTTPS URLs, meaning they expire after a set time and are specific to the requester. The project includes a Stremio integration, which lets users of that media center app browse and play content through Torrin without leaving the Stremio interface. There is also a built-in web player that handles common video formats including MKV, HEVC, AV1, and 4K HDR content. A WebDAV server allows you to mount the stored content as a network drive and open it in VLC, Infuse, Kodi, or similar tools. The repository is split into two parts. The core logic (cache checking, download pipeline, object storage client, torrent engine) is open-source under the MIT license. The proprietary parts covering the HTTP API, authentication, billing, and plan management are not included in this public repository. Self-hosting requires a Linux server with Docker, an object storage bucket with a CDN, and a VPN provider. Setup involves copying an environment file, filling in credentials, and running Docker Compose.

Copy-paste prompts

Prompt 1
Set up Torrin with Docker Compose, an S3-compatible object storage bucket, and a VPN provider, submit a magnet link, and get back a working streaming URL.
Prompt 2
Configure the Torrin WebDAV server and mount it in Infuse on my Apple TV so I can browse cached torrents like a local library.
Prompt 3
Install the Torrin Stremio addon and point it at my self-hosted Torrin instance so I can stream content directly from the Stremio catalog view.
Open on GitHub → Explain another repo

← torrin-app on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.