How it works
Your media, your hardware, reachable anywhere with no ports open. The full technical description of Free-WAN — what it does, what it is made of, and what state it is in.
The premise
A self-hosted media server for video and image libraries spread across many drives. It runs locally in Docker and is reachable from anywhere over Tailscale — no port forwarding, no cloud, no subscription.
Browser-native video direct-plays; anything else is transcoded to HLS on the fly. The library is unified across drives with full-text search and faceted filtering, categorised automatically from your folder structure, and fully brandable.
What is included
Adaptive playback — direct play where possible, on-the-fly HLS transcoding where not
Unified searchable library spanning multiple drives, auto-categorised from folder structure
Embedded and sidecar subtitles, playback speed, and resume-where-you-left-off
Reachable anywhere over Tailscale with no ports forwarded
How it is built
Free-WAN is built on TypeScript, Docker, ffmpeg, HLS and Tailscale.
The repository is 95% TypeScript, 5% JavaScript by volume — a description of what the work actually consists of rather than what it is filed under.
It carries 115 commits since Jun 2026, most recently changed in Aug 2026.
The method behind it
Every project here starts as a written specification, and the specification stays authoritative once code exists. The repository keeps a build plan with live status, an append-only decision log recording where the implementation departed from the plan, and a handoff document describing the true current state — including the parts that are not finished.
That is why a portfolio this wide is not a shallow one, and it is why this page can describe the product without overstating it.
Current state
In development. Under active work right now.
The source is public. Read it rather than taking this page for it.
Next
Get Free-WAN
Ask about availability, a build for your platform, or a licence.