Sponsor beta Oct 15 · Public on Halloween Oct 31

Plex compatible · Owns no files · Sponsor beta Oct 15

Your debrid and Usenet library
in every Plex app.

rex is a media server that keeps nothing on disk. Your movies and shows stay with your debrid service or Usenet provider and Plex clients (official or compatible) see a normal server with posters and seasons and your watch history.

No scanning A new release shows up in your library the moment its source tells rex about it. rex never reads a file to find out what it is.

How fast it feels on a real library →

The closed beta for sponsors opens October 15. The first public release lands on Halloween October 31. After that the public release ships every 30 days on the last day of the month and runs 30 days behind the sponsor builds.

A movie library of public domain films with posters, shown by rex in the official web app

01 / What it does

The apps you know.
Nothing on your disk.

It looks like any other server.

Once you add it to your account it shows up in the apps next to your other servers. Movies and shows get posters and summaries and cast and seasons. Watched state and Continue Watching and playlists and collections and edits and Fix Match all work and survive a restart. Each file starts on the audio and subtitle languages your Plex account asks for.

Apps on your home network find it on their own when it runs on port 32400.

Many sources. One library.

Each source sends rex the files it has and keeps it up to date. zurg does this for you today and anything that can run ffprobe can do it too. A debrid account and a Usenet account each behind its own zurg end up in one Movies and one TV library.

The same film from two sources becomes one title with two versions.

It streams straight from the source.

When you press play rex reads the file from where it lives and hands it on. Nothing is downloaded first. Files play in their original quality. Delete a title in the app and it is deleted at its source too.

Give it FFmpeg and it also converts what a device cannot play. With a graphics chip a converted film starts in about 2 seconds even on a small Intel box.

02 / Screens

What you see
in the apps.

Real screenshots of rex in the official web app. The library is public domain films and open movies streamed from a plain web server. Nothing is touched up.

Recommended view of the Movies library with Recently Added and Top Movies in Comedy rows
Recommended rows like any server. Recently Added and genre rows fill in by themselves as titles arrive.
Movie page for Sintel with poster and summary and cast and the file details
Every title gets its page. Poster and summary and cast and the file it plays.
Season page for The Beverly Hillbillies season 1 with cast
Shows come in seasons. Episodes are numbered from the file names and On Deck knows where you stopped.
Night of the Living Dead playing in the web app player
Press play. The file streams straight from its source in its original quality.

03 / Speed

How it feels
on a real library.

0.53s
Library on screen
From a click on Library until the posters are drawn
0.32s
To open a title
A movie page or a show page with its seasons
0.38s
Search results
From typing a word until results show with posters

Measured on a rented server with four dedicated cores. The library was 930 movies and 44 shows on a Real-Debrid account fed by zurg. Each figure is the middle of seven runs of the official web app in Chrome on the same machine with a fresh browser every run. Your own times depend on your machine and your connection. rex used 269 MB of memory during the run.

04 / Limits

The things it will not do.

Movies and TV only.

Music and photo libraries stay empty. There is no Live TV and no DVR.

One person's view.

People you share it with see it the way the owner does and with the owner's watch history.

Converted video has no subtitles yet.

A file that plays as it is keeps its subtitles. One that rex converts for a device plays without them for now.

It needs a source that probes.

rex never opens a file to learn what is inside. A title appears once its source has sent those details. zurg does this and a big library takes a few hours the first time.

Outside your home needs your own address.

The web app only connects over HTTPS and rex has no relay. Give it a certificate for a hostname you own. Keep a Cloudflare tunnel out of the way because it makes every play start read the whole file.

05 / Access

Sponsors first.
Everyone 30 days later.

rex opens as a closed beta for sponsors on October 15 and reaches the public on October 31. The public release ships once every 30 days on the last day of the month. It carries the sponsor builds from 30 days before.

Closed betaSponsors · Oct 15
Every build the day it is made
Linux and macOS and Windows
The zurg nightly that feeds it

Sponsoring happens at gatekeeper. It covers rex and the zurg nightly. Link your GitHub account there and an invite to the rex repository arrives by email. GitHub sends 50 invites a day, so yours can take a few days in the first weeks.

PublicFree · Oct 31
A new release on the last day of each month
Builds 30 days behind sponsors
Free

06 / Setup

Up and running.

  1. Download the build for your machine and unpack it. Linux needs Ubuntu 22.04 or newer.
  2. Start rex with a free TMDB API key. The first start makes an empty Movies and TV library.
  3. Add rex's address to zurg and restart zurg. zurg tells rex where its files are and sends its whole library and then every change.
  4. Keep rex's port off the open internet. Anyone who can reach it can change its library.
  5. Add it to your Plex account with a code from plex.tv/claim if you want it in the apps outside your home. rex never needs your Plex token. This step is optional and at your own risk.
SETUP Linux · macOS · Windows
# start it (the first start makes the library)
export TMDB_KEY=...
rex --catalog rex.db --friendly-name myrex \
  --owner-username <plex username> --owner-email <plex email>

# zurg config.yml
rex_url: http://<rex host>:32400

# optional: code from plex.tv/claim
curl -X POST "http://127.0.0.1:32400/myplex/claim?token=claim-xxxx"