Každý nápad. Každá obrazovka.
Postav rádiovou aplikaci za jedno odpoledne.
mHub je otevřená platforma, která mění složky jednoduchých souborů a obyčejné weby v aplikace pro telefony, televize a počítače. Nemusíš být programátor: když dokážeš popsat, co chceš, AI to postaví a mHub tomu dá místo, kde to poběží.
Jedna platforma, tři části.
mHub není jedna aplikace. Jsou to tři části, které do sebe zapadají, a každá z nich je otevřená. Dvě jsou základy: formát obsahu a API prohlížeče. Třetí jsou aplikace a každá z nich stojí na jednom ze základů, nebo na obou.
Aplikace
To, co opravdu používáš. Vuma dělá z doplňků jednu obrazovku k procházení a každá z dalších aplikací přenáší jeden nápad na všechny obrazovky v domě. Všechny jsou webové aplikace: nic se neinstaluje. Prohlédnout aplikace
Obsah: doplňky
Doplněk je zdroj obsahu: filmy, rádiové stanice, podcasty, kurzy. Pod kapotou je to složka malých textových souborů na libovolném webhostingu, popsaná protokolem Addon Protocol v2. AI ti ho může napsat. Prohlédnout protokol
Schopnosti: window.mhub
Otevři normální web uvnitř aplikace mHub a zvládne věci, které prohlížeč nikdy nedovolí: číst data odkudkoli, přežít mrtvou doménu, žít na tvé televizi. Jeden jmenný prostor, jeden tag script: mHub Browser API. Prohlédnout API
Naše oblíbené. Všechny naživo.
Vuma stojí na obou základech; aplikace vedle ní ukazují, jak daleko se dostaneš s jediným základem. Pět aplikací, pět různých nápadů a každá z nich je místo, odkud začít.
Vuma
Dej aplikaci Vuma doplňky a ona z nich udělá jednu obrazovku k procházení: každý katalog, který tvoje doplňky nabízejí, vyhledávání napříč všemi, knihovnu a přehrávač, který naváže tam, kde sledování skončilo. Je to jedna webová aplikace, která běží na telefonech, televizích i počítačích a sama zvládá dotyk, dálkový ovladač i myš.
Stojí na obou základech: doplňky přinášejí obsah a uvnitř prohlížeče mHub přidává Browser API schopnosti, které obyčejná stránka nikdy nemá. Můžeš ji dokonce umístit na vlastní stránku, s tvými doplňky a tvým jménem: jeden soubor HTML.


Waves
Rádiové stanice, podcasty a audioknihy zdarma v jedné aplikaci. Waves je jeden soubor HTML nad stejným sestavením Vuma: pět zvukových doplňků, tyrkysový akcent a addonManager: "fixed", takže zdroje jsou pevně dané a uživatel je jen zapíná a vypíná. Podívej se na zdrojový kód stránky: ta stránka je celý návod.
Junior
Dětská televize. Jeden doplněk, jasné barvy, němčina od první obrazovky (locale: "de") a addonManager: "hidden": z gauče se nedá nic rozbít. Taky jeden soubor HTML nad sestavením Vuma.
Mediathek
Doplněk jsou data; co na nich někdo postaví, je aplikace. Mediathek je jeden soubor HTML přímo nad doplňkem ard-mediathek, bez Vuma pod ním: řady, vyhledávání, seriály s epizodami, titulky a přehrávač, který si pamatuje, kde sledování skončilo. Doplněk data stahuje, stránka se stará o vzhled.
Glance
Druhý základ sám o sobě: Glance nepoužívá vůbec žádné doplňky. Jeden soubor HTML nad Browser API, který na jednu klidnou obrazovku stahuje živé počasí, titulky zpráv, tržní ceny a stav tvých vlastních serverů. V obyčejném prohlížeči se elegantně omezí; uvnitř aplikace mHub ožije každá dlaždice.
Jeden nápad, jedna složka, každá obrazovka.
Cokoli se seznamem může být doplněk a cokoli, co prohlížeč odmítne udělat, může být web uvnitř mHub. Tohle jsou nápady, které bychom rádi viděli hotové, a každý z nich je jen jeden prompt daleko: vyber si jeden a objeví se v promptu pro AI níže.
Sledovat
Tvoje regionální televize
Každé vysílání, které stanice dá na internet, v řadách podle pořadů, večerní zprávy jako první.
Filmový festival
Program s trailery a anotacemi, k procházení podle dne, místa a sekce.
Němý film
Filmy ve veřejné doméně z Internet Archive, seřazené podle desetiletí a režiséra.
Tvůj sportovní klub
Sestřihy, celé zápasy a rozpis sezóny jako živý katalog.
Živé kamery města
Veřejné webkamery jednoho města, přístav, náměstí, hora, jako živé kanály.
Zasedání zastupitelstva
Záznamy a živé přenosy zastupitelstva tvého města, podle zasedání a bodu programu.
Poslouchat
Tvoje rádiové stanice
Deset stanic, které opravdu posloucháš, s logy, v pořadí, jaké se ti líbí.
Jedna podcastová síť
Všechny pořady jedné sítě z jejích RSS kanálů, nejnovější epizody první.
Audioknihy podle autora
Nahrávky jednoho autora z LibriVox, kapitoly jako epizody, s možností pokračovat.
Pohádky na dobrou noc
Krátké audio příběhy pro děti, s klidným obrázkem ke každému příběhu a bez reklam.
Náboženská obec
Bohoslužby a přednášky tvého kostela, mešity nebo obce, živě i ze záznamu.
Vlastní aplikace stanice
Waves se streamy a podcasty jedné stanice a jejími vlastními barvami. Jeden soubor HTML.
Učit se
Přednášky jedné univerzity
Veřejné záznamy přednášek podle fakulty a semestru, na televizi místo notebooku.
Jazykový kurz
Lekce jako epizody, v pořadí, s poslechovými cvičeními vedle videí.
Prohlídky muzea
Video a audio průvodci muzea, sál po sálu.
Kuchařská škola
Videa s recepty podle chodu a kuchyně, s ingrediencemi v popisu.
Prohlížeč archivu
Přívětivá tvář pro Archive.org nebo Project Gutenberg: procházej, hledej a čti jako v aplikaci.
Přednášky z jedné konference
Každá nahraná přednáška jedné série konferencí, podle roku a sekce.
Domov a rodina
Rodinná obrazovka
Počasí, titulky zpráv a ceny věcí, na kterých ti záleží, na jedné klidné obrazovce. Tuhle jsme postavili my: je to Glance.
Ovládací panel domácnosti
Světla, NAS, tiskárna, router. Prohlížeče takové místní požadavky odmítají; aplikace mHub je udělá za tebe.
Stěna kamer
Tvoje vlastní kamery z místní sítě jako mřížka na televizi.
Rodinný fotorámeček
Fotky z tvého vlastního serveru jako katalog obrázků: z televize se stane rámeček.
Pohádky z jednoho kanálu
Bezplatné díly jednoho dětského kanálu, podle pořadů, klidně je dáš dětem.
Nástroje
Čtečka zpráv
Načti jakýkoli kanál přímo ze zdroje. Běžné prohlížeče to blokují; uvnitř mHub to prostě funguje a z gauče se to dobře čte.
Hlídač cen
Kontroluj ceny a dostupnost v obchodech, veď si seznam sledovaných věcí a odpověď uvidíš na jakékoli obrazovce.
Přehled stavu serverů
Tvoje vlastní stroje, jejich disky a služby jako dlaždice, které zčervenají dřív, než někdo zavolá.
Kanál z YouTube přes resolver
Doplněk typu resolver: vlož kanál a dostaneš jeho videa jako katalog, který jde přehrát.
Titulky pro jeden jazyk
Doplněk titulků pro jeden jazyk, odpovídá na imdb id, z otevřeného zdroje titulků.
Kde se titul streamuje
Napiš film a uvidíš, kde běží ve tvé zemi. Doplněk položek nad otevřenou databází.
Máš něco z toho hotové? Zveřejni to na mhub.mx: zkontrolujeme to, budeme to hostovat pod tvým jménem a zařadíme to do komunitního repozitáře.
Tvoje vlastní aplikace je jeden soubor HTML.
Waves a Junior jsou přesně tohle: načti sestavení Vuma, dej mu element a zavolej mount. Tenhle soubor je na libovolném statickém hostingu hotová aplikace s tvými doplňky, tvým jménem a tvými barvami a sám drží krok s novými vydáními Vuma. Bez sestavování, bez serverového kódu, bez účtu.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no">
<title>My App</title>
<link rel="stylesheet" href="https://vuma.mx/latest/style.css">
</head>
<body>
<div id="app"></div>
<script type="module">
import { mount } from "https://vuma.mx/latest/app.js";
mount({
addons: [
"https://www.mhub.mx/radio-and-podcasts",
"https://www.mhub.mx/public-domain",
],
brand: { name: "My App", colors: { accent: "#00AAFF" } },
});
</script>
</body>
</html>
Doplněk je URL jeho manifestu. Ty, které hostujeme tady, najdeš v přehledu doplňků a AI ti může postavit nový.
Každá volba pro mount a to, odkud se berou soubory, je popsané přímo v aplikaci: Jak si udělat vlastní aplikaci. Návod se dodává se sestavením, takže popisuje verzi, kterou se chystáš načíst, a ne tu, podle které vznikla tahle stránka.
Doplněk je složka souborů JSON.
Doplněk je zdroj obsahu: filmy, rádiové stanice, podcasty, recepty, kurzy. Dej složku kamkoli na web, přidej její adresu v aplikaci a všechno, co obsahuje, se tam objeví a dá se to procházet. Verze 2 protokolu nepotřebuje server: každý endpoint může být statický soubor na libovolném CDN. Každý existující doplněk v1 dál funguje; aplikace mezi oběma verzemi překládají a v1 zůstává podporovaná.
Především statické
Všechny endpointy jsou GET, všechny jdou cachovat a všechny jdou hostovat jako obyčejné soubory. Jeden volitelný POST pro systém úloh.
/mhub-addon.json /catalog/{type}/{catalogId}.json /item/{type}/{id}.json /source/{type}/{id}.json
Skládací
Katalogy, detaily položek, zdroje, resolvery a titulky jsou samostatné prostředky. Jeden doplněk může poskytovat všechny, nebo jen jeden.
"resources": ["catalog", "item", "source", "resolve", "subtitle"]
Úlohy client-fetch
Endpoint může místo dat odpovědět úlohou. Aplikace pak data stáhne s vlastní IP adresou uživatele, takže statický doplněk funguje i s geoblokovanými API.
// doplněk zůstává statický,
// cestu podnikne klient
mhub-addon.json
Minimální doplněk je jeden manifest a jeden soubor katalogu. Nahraj oba na libovolný statický hosting a funguje to. Specifikace je OpenAPI 3.1 s generovanými typy pro TypeScript a klientskou knihovnou bez závislostí, pod licencí MIT, na GitHubu.
{ "id": "my-movies", "name": "My Movies", "specVersion": 2, "resources": ["catalog"], "types": ["video"], "catalogs": [{ "id": "all", "name": "All", "type": "video" }] }
Popiš to. AI to postaví.
Celý formát doplňků se vejde do jednoho promptu a nikdy ho nemusíš číst. Zkopíruj prompt, přidej svůj nápad a AI odpoví složkou souborů. Nahraj je kamkoli a tvůj doplněk je online.
Zkopíruj prompt
Nasměruje AI na specifikaci. Funguje s každým asistentem, který umí číst odkazy, třeba ChatGPT nebo Claude.
Přidej svůj nápad
„Moje oblíbené rádiové stanice.“ „Všechny filmy jednoho režiséra.“ „Veřejné přednášky mé univerzity.“ Cokoli se seznamem.
Nahraj soubory
Poslouží jakýkoli statický hosting, GitHub Pages je zdarma. Přidej adresu v aplikaci mHub a procházej svůj vlastní doplněk.
Přečti si specifikaci mHub Addon Protocol v2 na
https://raw.githubusercontent.com/mediahubmx/protocol/main/openapi.yaml
a postav mi doplněk. Doplněk je složka statických souborů JSON,
připravená k nahrání na libovolný webhosting. Odpověz všemi soubory:
u každého celou cestu a pak jeho kompletní obsah.
Můj doplněk: [sem popiš svůj nápad]
Pokud tvůj asistent neumí otevírat odkazy, vlož mu soubor se specifikací přímo do chatu. Specifikace a kompletní ukázkové doplňky jsou na GitHubu.
Co tvůj web zvládne uvnitř mHub
Všechno je v jednom jmenném prostoru: window.mhub, a každý hostitel poskytuje celé jádro. Jednou ověř, že jmenný prostor existuje, a pak ho prostě volej. Žádné SDK, žádné sestavování, žádný účet: celé nastavení je jeden tag script a klidně si ho hostuj u sebe.
- Hostitel
- …
- Zařízení
- …
- Schopnosti
- …
API už v aplikacích funguje a s jejich novými verzemi se dostává ke všem. Piš proti němu už dnes a tvoje stránka bude fungovat tak jako tak: kde žádný hostitel není, window.mhub prostě chybí a tvůj web zůstane obyčejným webem. Pořiď si prohlížeč, který ho má.
mhub.fetch
Stahuj cokoli. Bez CORS a s hlavičkami požadavků, které si prohlížeč normálně vyhrazuje pro sebe.
// cross-origin, čitelné const r = await mhub.fetch(url);
mhub.openStream
Některá média potřebují k přehrání vlastní hlavičky požadavků. Jedno volání a hostitel na každé platformě zvolí správnou cestu.
const s = await mhub.openStream( { url, headers }); video.src = s.url;
mhub.storage
Úložiště klíč/hodnota, které patří tvému webu, ne doméně, na které zrovna běží. Žádný dotaz, žádné nastavování.
await mhub.storage.set(k, v);
mhub-site.json
Jedna doména spadne a tvůj web se stejně načte. Na každé doméně vystav jeden malý soubor; prohlížeč ho najde, ověří tvoje zrcadla a sám přepne. Žádný kód.
{ "id": "mysite", "endpoints": [ "https://a.example", "https://b.example" ] }
mhub.setLinks
Dlaždice na domovské obrazovce prohlížeče. Cesta zpět na tvůj web, která vydrží mezi návštěvami.
mhub.setLinks([ { id, name, icon, url }]);
mhub.setSearch
Z adresního řádku se stane vyhledávání tvého webu. Dotazy a návrhy jdou rovnou na tvoji stránku.
mhub.setSearch({ placeholder, onQuery, onSuggest });
mhub.device + capabilities
Zjisti, kde běžíš a co hostitel umí, od telefonu po televizi, ještě před prvním vykreslením.
if (mhub.device.isTV) tvUi();
…a deklarace aplikace
Stránka, která běží jako aplikace, sdělí hostiteli, co si obslouží sama: vlastní navigaci zpět (setBackHandler), přehrávač přes celou obrazovku (setImmersive) a cestu ven (exit); meta tag v HTML říká, že jde o aplikaci stavěnou pro dálkový ovladač. Každý člen, spolu s modelem oprávnění a systémem zrcadel, je v referenční dokumentaci API.
mhub.setBackHandler(depth); mhub.setImmersive(true); <meta name="mhub" content="app dpad">
Zveřejněno lidmi, jako jsi ty.
Zatím 56 komunitních doplňků od 31 tvůrců. Přihlas se e-mailem, nahraj složku jako zip nebo odkaž na tu, kterou hostuješ ty, a jakmile projde kontrolou, bude na mhub.mx/@you/addon, v seznamu komunity a v komunitním repozitáři.
Postav něco. Velké nebo malé.
Referenční dokumentace API pokrývá každého člena, model oprávnění a systém zrcadel. Specifikace protokolu obsahuje kompletní ukázkové doplňky, které můžeš zkopírovat.
Internet Archive
RTVE