gitwtfhub

wtf is feiying?

hlyylly/feiying — explained in plain English

Analysis updated 2026-05-18

38PythonAudience · generalComplexity · 3/5LicenseSetup · moderate

TL;DR

A self hosted tool that finds a movie or show on Telegram from just its title and adds it to your Emby, Jellyfin, or feiniu media library.

Mindmap

mindmap
  root((feiying))
    What it does
      Finds titles
      Auto adds to library
      Streams while caching
    Tech stack
      Python
      FastAPI
      Docker
    Use cases
      Search by title
      Track new episodes
      Multi platform builds
    Audience
      Home media server users
      NAS owners

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

Why would anyone build with this?

REASON 1

Type a movie or show title and have it automatically located and added to your media library.

REASON 2

Stream a video while it is still downloading, without waiting for the full file first.

REASON 3

Automatically check for and add new episodes of a show you have already added.

REASON 4

Run the same tool on a NAS, Windows PC, phone, or Android TV box.

What's in the stack?

PythonFastAPIDockerTelethon

How it stacks up

hlyylly/feiyingadewale/skill-eval-harnessanil-matcha/seedream-5-pro-api
Stars383838
LanguagePythonPythonPython
Last pushed2026-07-08
MaintenanceActive
Setup difficultymoderatemoderatemoderate
Complexity3/53/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a Telegram account, a way to connect to Telegram from your region, and a media server like Emby or Jellyfin already running.

MIT license: free to use, modify, and distribute for any purpose, including commercial use, as long as the copyright notice is kept.

Wtf does this do

feiying, also written as Fei Ying, is a self hosted tool that lets you type in a movie or show title, or even a vague description of one, and have it automatically found on Telegram, added to your media library, and made ready to stream right away. It is built to plug into home media servers such as feiniu, Emby, or Jellyfin, and ships as a single Docker container, with separate ready made builds for Windows, Android phones and tablets, and Android TV boxes, all sharing the same core program. Once set up, the tool watches a Telegram folder you designate as favorites. When you send a title there, it searches across Telegram channels and bots you have configured, uses an AI model to sort out which result is the actual movie or episode rather than a fake listing or trailer, and figures out episode numbers from natural language. Matched content is filed automatically into separate movie and show libraries, and shows you have already added are checked periodically so new episodes get pulled in without you doing anything. Playback starts almost immediately because the tool streams and caches content as it plays rather than waiting for a full download, and it can resume a partial cache instead of starting over. Setup requires a Telegram account used to log in, a bot or your own channel as a content source, a way to reach Telegram from your network such as a vmess or vless proxy link, and optionally a deepseek API key for the AI matching step, which falls back to simpler pattern matching if left blank. The README stresses pointing the tool at a private bot or your own channel rather than a public group, since repeatedly posting titles to a public group can trigger Telegram's spam detection and get an account temporarily muted. The project describes itself as a self hosted tool only, stating it does not host, store, or distribute any media itself and that all content comes from sources the user configures on their own Telegram account. It is released under the MIT license with a disclaimer that users are responsible for complying with copyright law and local regulations wherever they use it.

Yoink these prompts

Prompt 1
Walk me through setting up feiying with Docker Compose and connecting it to Jellyfin.
Prompt 2
Explain what stream_base and the uid:gid setting do in feiying's configuration.
Prompt 3
How does feiying use an AI model to match a vague title description to the right content?
Prompt 4
What do I need to prepare before running feiying, and what does each requirement do?

Frequently asked questions

wtf is feiying?

A self hosted tool that finds a movie or show on Telegram from just its title and adds it to your Emby, Jellyfin, or feiniu media library.

What language is feiying written in?

Mainly Python. The stack also includes Python, FastAPI, Docker.

What license does feiying use?

MIT license: free to use, modify, and distribute for any purpose, including commercial use, as long as the copyright notice is kept.

How hard is feiying to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is feiying for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.