Scheme-Handler is a cross-platform URL scheme tool written in Rust that registers custom protocols for desktop apps so browsers can launch them, with an optional local HTTP Bridge for m3u8 content.
- v2.2.9
- Published at
- Aug 28, 2026
- 1
- Stars
- 244
- Download
- Synced at
- 24d ago
Latest release
v2.2.9Aug 28, 2026, 03:08 PMDownloads slow? Switch the source anytime above
README
Project Overview
Scheme-Handler is a cross-platform URL scheme tool rewritten in Rust, supporting Windows, Linux, and macOS. It lets you register a custom protocol for a desktop app so a browser can launch it with arguments in one click. It also offers an optional local HTTP Bridge that hands m3u8 text from browser scripts to the player.
Hand a video link in the browser straight to your local player.
Key Features
- Protocol registration: adds a custom URL scheme for desktop apps so browsers can launch them
- Cross-platform: the same workflow on Windows, Linux, and macOS
- Custom arguments: passes arbitrary launch commands via gzip-compressed arguments
- Graphical UI: add apps and write registry entries with a few clicks
- HTTP Bridge: an optional local service that serves m3u8 text to the player
- Multiple packages: Inno Setup installer, deb package, and dmg image
Target Audience
- Users who want to open web videos in a local player
- Users who need the browser to launch local programs
- Advanced users on Windows, Linux, or macOS
- Developers writing userscripts
Quick Start
- Download the package for your platform from Releases and install it as described in
RELEASE.md - Open the app and click
+to add an application - Enter the app name on the left and pick the executable to launch on the right, such as
mpv.exe - Click
+ Add to Registryto finish registration - Trigger it from a browser script via
ush://${app_name}?${gzip_args}
Core Advantages
- Configure once: after registration the browser can launch the local program long-term
- Private and safe: the Bridge binds only to
127.0.0.1and never listens on the LAN - Controlled cache: m3u8 is kept in memory and cleared automatically after 30 minutes
- Single responsibility: the Bridge only stores and serves m3u8, never proxying video segments
System Requirements
| Item | Requirement |
|---|---|
| OS | Windows, Linux, macOS |
| Architecture | Windows x86_64, Linux amd64, macOS x86_64 and arm64 |
| Package types | Windows portable EXE, deb, dmg |
Notes
- The app name must match the one used in the script, including letter case
- The HTTP Bridge starts only when the URL contains
needServer=1 - The Bridge does not handle Referer, Cookie, or Authorization; the player requests those itself
- A single m3u8 is capped at 16 MiB, and unused entries are cleaned up automatically
Release history
Sort