Threadfin

Threadfin

Docker app from grtgbln's Repository

Overview

An M3U proxy for Kernel/Plex/Jellyfin/Emby based on xTeVe
Threadfin

Threadfin

M3U Proxy for Plex DVR and Emby/Jellyfin Live TV. Based on xTeVe.

You can follow the old xTeVe documentation for now until I update it for Threadfin. Documentation for setup and configuration is here.

Donation

Github Sponsor

Support

Requirements

Plex

  • Plex Media Server (1.11.1.4730 or newer)
  • Plex Client with DVR support
  • Plex Pass

Emby

  • Emby Server (3.5.3.0 or newer)
  • Emby Client with Live-TV support
  • Emby Premiere

Jellyfin

  • Jellyfin Server (10.7.1 or newer)
  • Jellyfin Client with Live-TV support

Threadfin Features

  • New Bootstrap based UI
  • RAM based buffer instead of File based

Filter Group

  • Can now add a starting channel number for the filter group

Map Editor

  • Can now multi select Bulk Edit by holding shift
  • Now has a separate table for inactive channels
  • Can add 3 backup channels for an active channel (backup channels do NOT have to be active)
  • Alpha Numeric sorting now sorts correctly
  • Can now add a starting channel number for Bulk Edit to renumber multiple channels at a time
  • PPV channels can now map the channel name to an EPG
  • Removed old Threadfin buffer option, since FFMPEG/VLC will always be a better solution

xTeVe Features

Files

  • Merge external M3U files
  • Merge external XMLTV files
  • Automatic M3U and XMLTV update
  • M3U and XMLTV export

Channel management

  • Filtering streams
  • Channel mapping
  • Channel order
  • Channel logos
  • Channel categories

Streaming

  • Buffer with HLS / M3U8 support
  • Re-streaming
  • Number of tuners adjustable
  • Compatible with Plex / Emby / Jellyfin EPG

Docker Image

Threadfin

  • Docker compose example
version: "2.3"
services:
  threadfin:
    image: fyb3roptik/threadfin
    container_name: threadfin
    ports:
      - 34400:34400
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=America/Los_Angeles
    volumes:
      - ./data/conf:/home/threadfin/conf
      - ./data/temp:/tmp/threadfin:rw
    restart: unless-stopped

Helm Chart on Kubernetes using TrueCharts

Threadfin

  • Helm-Chart Installation

helm install threadfin oci://tccr.io/truecharts/threadfin


Threadfin Beta branch

New features and bug fixes are only available in beta branch. Only after successful testing are they are merged into the main branch.

It is not recommended to use the beta version in a production system.

With the command line argument branch the Git Branch can be changed. Threadfin must be started via the terminal.

Switch from master to beta branch:

threadfin -branch beta

...
[Threadfin] GitHub:                https://github.com/Threadfin/Threadfin
[Threadfin] Git Branch:            beta [Threadfin]
...

Switch from beta to master branch:

threadfin -branch main

...
[Threadfin] GitHub:                https://github.com/Threadfin/Threadfin
[Threadfin] Git Branch:            main [Threadfin]
...

When the branch is changed, an update is only performed if there is a new version and the update function is activated in the settings.


Build from source code [Go / Golang]

Requirements

  • Go (go1.18 or newer)

Dependencies

Build

  1. Download source code
  2. Install dependencies
go mod tidy && go mod vendor
  1. Build Threadfin
go build threadfin.go
  1. Update web files (optional)

If TypeScript files were changed, run:

tsc -p ./ts/tsconfig.json

Then, to embed updated JavaScript files into the source code (src/webUI.go), run it in development mode at least once:

go build threadfin.go
threadfin -dev

Fork without pull request :mega:

When creating a fork, the Threadfin GitHub account must be changed from the source code or the update function disabled. Future updates of Threadfin would update your fork.

threadfin.go - Line: 29

var GitHub = GitHubStruct{Branch: "main", User: "Threadfin", Repo: "Threadfin", Update: true}

/*
  Branch: GitHub Branch
  User:   GitHub Username
  Repo:   GitHub Repository
  Update: Automatic updates from the GitHub repository [true|false]
*/

Install Threadfin on Unraid in a few clicks.

Find Threadfin in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Threadfin Review the template variables and paths Click Install

Download Statistics

1,814,242
Total Downloads
96,744
This Month
76,451
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
fyb3roptik/threadfin
Last Updated2025-10-20
First Seen2024-05-26

Runtime arguments

Web UI
http://[IP]:[PORT:34400]/web/
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 34400

Target
34400
Default
34400
Value
34400
Configuration dataPathrw

Path to configuration data

Target
/home/threadfin/conf
Default
/mnt/user/appdata/threadfin/config
Value
/mnt/user/appdata/threadfin/config
Temporary dataPathrw

Path to temporary data

Target
/tmp/threadfin
Default
/mnt/user/appdata/threadfin/temp
Value
/mnt/user/appdata/threadfin/temp
PUIDVariable
Default
1001
Value
1001
PGIDVariable
Default
1001
Value
1001