shield Fully local. No cloud. No accounts.

YOUR MEDIA.
YOUR NETWORK.

MediaLink turns your personal movie and TV collection into a beautiful, self-hosted streaming experience accessible from every device on your network.

Terminal
# 30 seconds to your own media server
$ cd MediaLinkServer
$ python3 server.py
Scanning library …
Generated library.json
HTTPS running at https://localhost:8443
MEDIALINK Home search settings
Continue Watching
movie
The Matrix
movie
Inception
movie
Interstellar
movie
Blade Runner
movie
Arrival
movie
Dune
Popular Movies
movie
Tenet
movie
Gravity
movie
Ex Machina
movie
Primer
movie
Moon
movie
Annihilation

Everything you need.
Nothing you don't.

A complete media server and playback system designed for simplicity, privacy, and a premium experience across all your devices.

folder_special

Local + Online Media

Drop local files into folders or use .link.json files to point to online streams. Both coexist seamlessly in one unified library.

devices

Every Device, One Library

Access your collection from phones, tablets, laptops, and TVs. Any device on your network sees the same library with full playback.

lock

100% Private & Local

No cloud, no accounts, no telemetry. Your media stays on your network. HTTPS-encrypted with auto-generated certificates.

play_circle

Built-in Player

A gorgeous, TV-optimized receiver with HLS.js support, subtitle overlays, segmented playback, and a cinematic backdrop experience.

smart_display

Web Dashboard

Browse your library, view stats, and manage content through a responsive web dashboard accessible from any browser.

api

RESTful API

A clean JSON API for search, metadata, stream resolution, and library management. Build your own integrations or extend the ecosystem.

Up and running
in three steps.

No Docker. No databases. No configuration headaches. Just drop in your media and go.

01

Add Your Media

Drop movie files into libraries/movies/ and TV shows into libraries/tv/. Or create .link.json files for online streams.

02

Start the Server

Run python3 server.py and MediaLink scans your library, generates metadata, and boots a secure HTTPS server.

03

Play Anywhere

Open the receiver on any device at https://your-ip:8443. Browse, search, and stream your entire collection.

start.sh
# Clone or copy MediaLinkServer
cd MediaLinkServer

# Drop your media in
mkdir -p libraries/movies libraries/tv
cp ~/Movies/*.mp4 libraries/movies/

# Start the server
python3 server.py

# That's it. Server is live at:
https://localhost:8443

# Access from any device on your network:
https://192.168.1.XXX:8443

Zero-config setup.

MediaLinkServer auto-generates SSL certificates, scans your library, and builds a unified library.json — all on first run.

  • check_circle Auto-generated HTTPS certificates
  • check_circle Smart filename parsing (title, year, season, episode)
  • check_circle Supports .mp4, .mkv, .avi, .mov, .webm and more
  • check_circle Interactive setup wizard with --setup
  • check_circle Hot-rescan with --rescan or API call
  • check_circle Works on macOS, Linux, and Windows

Two parts.
One seamless experience.

MediaLink is built on a clean server/client architecture. The server handles content, metadata, and streaming. The receiver delivers a premium playback experience.

dns

MediaLinkServer

Python + FastAPI. Scans libraries, serves content over HTTPS, provides a RESTful API and web dashboard.

swap_horiz JSON API
tv

MediaLink Receiver

HTML + CSS + JS. A TV-optimized client with rich playback, backdrops, subtitles, and IndexedDB history.

Python 3
FastAPI
Uvicorn
HTTPS
HLS.js
IndexedDB

Ready to take control
of your media?

Download MediaLinkServer, drop in your files, and start streaming in under a minute. No subscriptions, no limits, no cloud.