openvibers/openvibe.sites Commits
openre.stream leads with going live from the browser: no OBS, no downloads, no follower minimum. OpenRe.Stream is the streaming engine being split out of OpenVibe.Live, and browser go-live is the feature people and AI assistants look for. The tagline and description say it. A highlight under the hero lists what you do and don't need, with Go live now on OpenVibe.Live and How browser streaming works. The pillars name browser go-live and the open API and SDK. A visible Questions section is also a FAQPage in the JSON-LD. The builder gains two optional site fields any placeholder can use: highlight (a headline feature card) and faq (visible questions plus FAQPage). Claims stay accurate: browser broadcasts start on OpenVibe.Live today, and SRT ingest is still to follow.
Changes
@@@ -99,6 +99,18 @@ const FIRST_PUBLISHED = '2026-09-17';function hexToRgb(hex) { const m = String(hex).replace('#', ''); const n = parseInt(m.length === 3 ? m.split('').map(c => c + c).join('') : m, 16); return `${(n >> 16) & 255},${(n >> 8) & 255},${n & 255}`; }++/** A site's headline feature, shown right under the hero: { title, text, points: [..], cta: [label, href], more: [label, href] }. */++function highlight(h) {++ return ` <section class="highlight" aria-labelledby="highlight-h">++ <div class="hl-card">++ <h2 id="highlight-h"><i class="fa-solid fa-bolt" aria-hidden="true"></i> ${esc(h.title)}</h2>++ <p>${esc(h.text)}</p>++ ${(h.points || []).length ? `<ul>${h.points.map((x) => `<li>${esc(x)}</li>`).join('')}</ul>` : ''}++ <div class="ctas">${h.cta ? `<a class="btn btn-primary" href="${esc(h.cta[1])}"><i class="fa-solid fa-tower-broadcast"></i> ${esc(h.cta[0])}</a>` : ''}${h.more ? ` <a class="btn" href="${esc(h.more[1])}">${esc(h.more[0])}</a>` : ''}</div>++ </div>++ </section>`;++}++function page(site) {const core = site.core || NET.core;const url = `https://${site.domain}/`;@@@ -120,6 +132,8 @@ function page(site) {breadcrumb: { '@type': 'BreadcrumbList', itemListElement: [{ '@type': 'ListItem', position: 1, name: 'OpenVibe', item: `${NET.networkUrl}/` }, { '@type': 'ListItem', position: 2, name: site.name, item: url }] } },],};++ // A questions section people can read is also a FAQPage for search engines and AI crawlers.++ if (site.faq && site.faq.length) ld['@graph'].push({ '@type': 'FAQPage', '@id': `${url}#faq`, mainEntity: site.faq.map(([q, a]) => ({ '@type': 'Question', name: q, acceptedAnswer: { '@type': 'Answer', text: a } })) });return `<!DOCTYPE html><html lang="en"><head>@@@ -194,6 +208,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -226,6 +245,7 @@ ${site.statusApi ? STATUS_CSS : ''}</style><p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>${esc(STANDING[standing(site)].label)}</b> · ${statusText(site)} · as of ${esc(facts.generated)} · <a href="/status.json">status.json</a></p></header>++${site.highlight ? highlight(site.highlight) : ''}${notice ? ` <section id="what" class="meanwhile"><h2>Where to go</h2><p class="lead2">${esc(site.linksLead || 'What this address used to stand for lives here now.')}</p>@@@ -248,6 +268,11 @@ ${site.statusApi ? liveStatus(site) : ''}` : ` <section id="what">${(site.meanwhile || []).map(([h, href, d]) => `<a class="card" href="${esc(href)}"><div class="ic"><i class="fa-solid fa-arrow-up-right-from-square" aria-hidden="true"></i></div><b>${esc(h)}</b><span>${esc(d)}</span><span class="go">${esc(href.replace(/^https?:\/\//, '').replace(/\/$/, ''))} →</span></a>`).join('\n ')}</div></section>++${site.faq && site.faq.length ? `++ <section id="questions" class="faq">++ <h2>Questions</h2>++ ${site.faq.map(([q, ans]) => `<details><summary>${esc(q)}</summary><p>${esc(ans)}</p></details>`).join('\n ')}++ </section>` : ''}`}<section class="net"><h2>The OpenVibe network</h2>@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What admin.openvibe.network will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "admin",-- "release": "dc512b0cc1f5",++ "release": "1ecb9d28ff46","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.AI" rel="noopener"><code>OpenVibers/OpenVibe.AI</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a public API with its own access rules; today only other OpenVibe services call it. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What ai.openvibe.network will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "ai",-- "release": "80f89b040d77",++ "release": "018cc11f76d1","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What api.openvibe.network will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -125,6 +131,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "api",-- "release": "d854e5c3ba29",++ "release": "93c16e099b7c","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What auth.openvibe.network will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "auth",-- "release": "451f5378cdd4",++ "release": "81ac11db46c1","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -3,9 +3,9 @@<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">--<title>OpenRe.Stream — Ingest and restream, in the open.</title>--<meta name="description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">--<meta name="keywords" content="openre stream, rtmp ingest, whip, srt, restream, open source streaming infrastructure">++<title>OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.</title>++<meta name="description" content="OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">++<meta name="keywords" content="go live from browser, stream without obs, browser streaming, no follower minimum, stream from chromebook, webrtc streaming, whip, rtmp ingest, srt, restream to twitch youtube kick, open source streaming"><meta name="robots" content="index, follow, max-image-preview:large"><meta name="theme-color" content="#ef4444"><link rel="canonical" href="https://openre.stream/">@@@ -16,15 +16,15 @@<meta property="og:type" content="website"><meta property="og:site_name" content="OpenRe.Stream"><meta property="og:url" content="https://openre.stream/">--<meta property="og:title" content="OpenRe.Stream — Ingest and restream, in the open.">--<meta property="og:description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">++<meta property="og:title" content="OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.">++<meta property="og:description" content="OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel."><meta property="og:image" content="https://openvibe.network/assets/logo-512.png"><meta property="og:image:alt" content="OpenVibe"><meta name="twitter:card" content="summary">--<meta name="twitter:title" content="OpenRe.Stream — Ingest and restream, in the open.">--<meta name="twitter:description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">++<meta name="twitter:title" content="OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.">++<meta name="twitter:description" content="OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel."><meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">--<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Ingest and restream, in the open.","description":"OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-09-28","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}}]}</script>++<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-09-28","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}},{"@type":"FAQPage","@id":"https://openre.stream/#faq","mainEntity":[{"@type":"Question","name":"Can I stream without OBS?","acceptedAnswer":{"@type":"Answer","text":"Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."}},{"@type":"Question","name":"Do I need followers or subscribers to go live?","acceptedAnswer":{"@type":"Answer","text":"No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."}},{"@type":"Question","name":"Can I stream from a Chromebook or a phone?","acceptedAnswer":{"@type":"Answer","text":"Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."}},{"@type":"Question","name":"Can I restream to Twitch, YouTube and Kick at the same time?","acceptedAnswer":{"@type":"Answer","text":"Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."}},{"@type":"Question","name":"Can I use OBS if I want to?","acceptedAnswer":{"@type":"Answer","text":"Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."}}]}]}</script><script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script><script src="/shared/theme-loader.js?v=d9b9af081efe" defer></script><link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -94,8 +99,8 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<div class="mark"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><div class="badge"><span class="ov-mark" data-size="16" data-variant="stream"></span> Part of the OpenVibe network · <b>in development</b></div><h1>OpenRe<span class="d">.</span><span class="tld">Stream</span></h1>-- <div class="tag">Ingest and restream, in the open.</div>-- <p class="lead">OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.</p>++ <div class="tag">Go live from your browser, or any encoder, and restream everywhere.</div>++ <p class="lead">OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.</p><div class="ctas"><a class="btn btn-primary" href="https://openvibe.network/login?return=https%3A%2F%2Fopenre.stream%2F"><i class="fa-solid fa-right-to-bracket"></i> Sign in with OpenVibe</a><a class="btn" href="https://openvibe.network/#network"><i class="fa-solid fa-circle-nodes"></i> The whole network</a>@@@ -104,14 +109,22 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenRe.Stream" rel="noopener"><code>OpenVibers/OpenRe.Stream</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++ <section class="highlight" aria-labelledby="highlight-h">++ <div class="hl-card">++ <h2 id="highlight-h"><i class="fa-solid fa-bolt" aria-hidden="true"></i> Go live from your browser — no OBS needed</h2>++ <p>Press Go Live, allow your camera and microphone, and you're live, with your own channel and chat. There's nothing to install and no follower or subscriber minimum. It works on a Chromebook, a laptop or a phone.</p>++ <ul><li>No OBS, plug-ins or capture card: WebRTC in the browser, with under a second of delay</li><li>No follower, subscriber or past-stream requirement</li><li>Share your screen, a window or a tab, with your camera over it</li><li>When you want scenes, use OBS or any RTMP or WHIP encoder</li></ul>++ <div class="ctas"><a class="btn btn-primary" href="https://openvibe.live/broadcast"><i class="fa-solid fa-tower-broadcast"></i> Go live now on OpenVibe.Live</a> <a class="btn" href="https://openvibe.live/docs/go-live-in-your-browser">How browser streaming works</a></div>++ </div>++ </section><section id="what"><h2>What OpenRe.Stream will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p><div class="grid">-- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Ingest</b><span>RTMP ingest with keys and lifecycle in one place; WHIP/WebRTC and SRT ingest to follow.</span></div>++ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Browser go-live</b><span>Stream from a browser over WebRTC and WHIP, with nothing to install and no follower minimum.</span></div>++ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Ingest</b><span>RTMP ingest with keys and lifecycle in one place, plus WHIP/WebRTC; SRT ingest to follow.</span></div><div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Restream</b><span>Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination.</span></div>-- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Status</b><span>Live acknowledgement, errors relayed in plain words, uptime.</span></div>-- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Open</b><span>Run it yourself; the code is on GitHub.</span></div>++ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Open API and SDK</b><span>Streams, sessions and destinations through the OpenVibe API and SDK; run it yourself from GitHub.</span></div></div></section>@@@ -124,6 +137,15 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++ <section id="questions" class="faq">++ <h2>Questions</h2>++ <details><summary>Can I stream without OBS?</summary><p>Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install.</p></details>++ <details><summary>Do I need followers or subscribers to go live?</summary><p>No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement.</p></details>++ <details><summary>Can I stream from a Chromebook or a phone?</summary><p>Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux.</p></details>++ <details><summary>Can I restream to Twitch, YouTube and Kick at the same time?</summary><p>Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once.</p></details>++ <details><summary>Can I use OBS if I want to?</summary><p>Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer).</p></details>++ </section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,7 +1,7 @@{"name": "OpenRe.Stream","short_name": "Stream",-- "description": "Ingest and restream, in the open.",++ "description": "Go live from your browser, or any encoder, and restream everywhere.","start_url": "/","scope": "/","display": "standalone",@@@ -1,6 +1,6 @@{"service": "stream",-- "release": "b134d2ce0564",++ "release": "17c409245ae7","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Coupons" rel="noopener"><code>OpenVibers/OpenVibe.Coupons</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a coupons source's terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Coupons will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "coupons",-- "release": "8ca127445d14",++ "release": "31ba478c8e98","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Deals" rel="noopener"><code>OpenVibers/OpenVibe.Deals</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a deals source's terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Deals will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "deals",-- "release": "8a279b02fb34",++ "release": "57701385bec8","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Download</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared file service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Download will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "download",-- "release": "2711990768f6",++ "release": "1e85cd2bb122","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Food</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the food tools moving over from OpenVibe.Tools. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Food will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "food",-- "release": "21826779fce2",++ "release": "a225568d9666","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Homes</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing and records sources. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Homes will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "homes",-- "release": "c536b3da421b",++ "release": "58060c930b5f","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Host" rel="noopener"><code>OpenVibers/OpenVibe.Host</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the owner's go on its launch checklist. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Host will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "host",-- "release": "aacecab4defd",++ "release": "2a09d825d22a","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.News" rel="noopener"><code>OpenVibers/OpenVibe.News</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a news source's terms and an editor to publish the first reviewed story. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.News will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "news",-- "release": "533b9656a8d8",++ "release": "75b6b83fb020","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Pics</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared image upload and processing service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Pics will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "pics",-- "release": "97633cbc8bd0",++ "release": "9582f25652e4","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Quest</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared quest service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Quest will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "quest",-- "release": "5626854f0a7a",++ "release": "c02bb6ca00d4","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Rent</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing sources and the shared discovery system. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Rent will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "rent",-- "release": "e9d08b0be151",++ "release": "eb91b4b3c29f","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Reviews" rel="noopener"><code>OpenVibers/OpenVibe.Reviews</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a review source's terms and an editor to publish the first reviewed summary. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Reviews will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "reviews",-- "release": "6db99fa7ee2d",++ "release": "be102e545ed1","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Run</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the sandbox runtime. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Run will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "run",-- "release": "04eba6abe85f",++ "release": "c535a3e9f0a3","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Services</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the console bringing together Codes' portal and the network's admin surfaces. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Services will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "services",-- "release": "43219658d625",++ "release": "8634e5dd173f","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Space</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the forum engine moving over from OpenVibe.Community. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Space will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "space",-- "release": "6a391395c8aa",++ "release": "4b326ea17646","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Tips" rel="noopener"><code>OpenVibers/OpenVibe.Tips</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing and a security review; tips keep working on OpenVibe.Live meanwhile. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Tips will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "tips",-- "release": "9de43c7d6849",++ "release": "a3068910348d","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Trade" rel="noopener"><code>OpenVibers/OpenVibe.Trade</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a verified data source and editors adding the first instruments. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Trade will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "trade",-- "release": "07b5ed29423b",++ "release": "1717c324a005","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Video</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the video service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.Video will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "video",-- "release": "b537f0447fe1",++ "release": "af966edd9843","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.VIP" rel="noopener"><code>OpenVibers/OpenVibe.VIP</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing; checkout stays closed until then. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What OpenVibe.VIP will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "vip",-- "release": "cdb1d3ba4fa3",++ "release": "95a4dfe96647","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>closed</b> · <a href="https://github.com/OpenVibers/OpenVibe.Realtime" rel="noopener"><code>OpenVibers/OpenVibe.Realtime</code></a> is closed and stays as a decision record; no product launches at this address. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what" class="meanwhile"><h2>Where to go</h2><p class="lead2">Realtime delivery for browsers is a part of OpenVibe.Events; the decision and its record are public.</p>@@@ -1,6 +1,6 @@{"service": "realtime",-- "release": "4887ad9c5f1d",++ "release": "41d3ce573570","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -112,6 +117,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>status</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> publishes the status of every OpenVibe service at <a href="https://openvibe.network/status">openvibe.network/status</a>; this address points there. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what" class="meanwhile"><h2>Where to go</h2><p class="lead2">Network's own observations, stated as seen: a service that has not been checked recently shows as unknown, never as up.</p>@@@ -1,6 +1,6 @@{"service": "status",-- "release": "2802b1f8728e",++ "release": "0ed67667e4fd","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo.card b{font-size:15px}.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}++.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}++.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}++.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}++.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}++.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}.rooms{display:flex;flex-wrap:wrap;gap:8px}@@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p></header>++<section id="what"><h2>What themes.openvibe.network will be</h2><p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>@@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo</div></section>++<section class="net"><h2>The OpenVibe network</h2><p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>@@@ -1,6 +1,6 @@{"service": "themes",-- "release": "c51dc88665a5",++ "release": "add8d8470c90","released_at": "2026-09-28T00:00:00.000Z","booted_at": null,"contracts_version": null,@@@ -358,24 +358,24 @@"name": "OpenRe.Stream","icon": "fa-satellite-dish","accent": "#ef4444",-- "tagline": "Ingest and restream, in the open.",-- "description": "OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.",++ "tagline": "Go live from your browser, or any encoder, and restream everywhere.",++ "description": "OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","pillars": [++ [++ "Browser go-live",++ "Stream from a browser over WebRTC and WHIP, with nothing to install and no follower minimum."++ ],["Ingest",-- "RTMP ingest with keys and lifecycle in one place; WHIP/WebRTC and SRT ingest to follow."++ "RTMP ingest with keys and lifecycle in one place, plus WHIP/WebRTC; SRT ingest to follow."],["Restream","Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination."],[-- "Status",-- "Live acknowledgement, errors relayed in plain words, uptime."-- ],-- [-- "Open",-- "Run it yourself; the code is on GitHub."++ "Open API and SDK",++ "Streams, sessions and destinations through the OpenVibe API and SDK; run it yourself from GitHub."]],"meanwhile": [@@@ -390,9 +390,49 @@"How the restream paths work."]],-- "keywords": "openre stream, rtmp ingest, whip, srt, restream, open source streaming infrastructure",++ "keywords": "go live from browser, stream without obs, browser streaming, no follower minimum, stream from chromebook, webrtc streaming, whip, rtmp ingest, srt, restream to twitch youtube kick, open source streaming","plannedRepo": "OpenRe.Stream",-- "launch": "the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet"++ "launch": "the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet",++ "highlight": {++ "title": "Go live from your browser — no OBS needed",++ "text": "Press Go Live, allow your camera and microphone, and you're live, with your own channel and chat. There's nothing to install and no follower or subscriber minimum. It works on a Chromebook, a laptop or a phone.",++ "points": [++ "No OBS, plug-ins or capture card: WebRTC in the browser, with under a second of delay",++ "No follower, subscriber or past-stream requirement",++ "Share your screen, a window or a tab, with your camera over it",++ "When you want scenes, use OBS or any RTMP or WHIP encoder"++ ],++ "cta": [++ "Go live now on OpenVibe.Live",++ "https://openvibe.live/broadcast"++ ],++ "more": [++ "How browser streaming works",++ "https://openvibe.live/docs/go-live-in-your-browser"++ ]++ },++ "faq": [++ [++ "Can I stream without OBS?",++ "Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."++ ],++ [++ "Do I need followers or subscribers to go live?",++ "No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."++ ],++ [++ "Can I stream from a Chromebook or a phone?",++ "Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."++ ],++ [++ "Can I restream to Twitch, YouTube and Kick at the same time?",++ "Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."++ ],++ [++ "Can I use OBS if I want to?",++ "Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."++ ]++ ]},{"domain": "auth.openvibe.network",
@@ -99,6 +99,18 @@ const FIRST_PUBLISHED = '2026-09-17';
@@ -99,6 +99,18 @@ const FIRST_PUBLISHED = '2026-09-17';
function hexToRgb(hex) { const m = String(hex).replace('#', ''); const n = parseInt(m.length === 3 ? m.split('').map(c => c + c).join('') : m, 16); return `${(n >> 16) & 255},${(n >> 8) & 255},${n & 255}`; }
function hexToRgb(hex) { const m = String(hex).replace('#', ''); const n = parseInt(m.length === 3 ? m.split('').map(c => c + c).join('') : m, 16); return `${(n >> 16) & 255},${(n >> 8) & 255},${n & 255}`; }
+/** A site's headline feature, shown right under the hero: { title, text, points: [..], cta: [label, href], more: [label, href] }. */
+function highlight(h) {
+ return ` <section class="highlight" aria-labelledby="highlight-h">
+ <div class="hl-card">
+ <h2 id="highlight-h"><i class="fa-solid fa-bolt" aria-hidden="true"></i> ${esc(h.title)}</h2>
+ <p>${esc(h.text)}</p>
+ ${(h.points || []).length ? `<ul>${h.points.map((x) => `<li>${esc(x)}</li>`).join('')}</ul>` : ''}
+ <div class="ctas">${h.cta ? `<a class="btn btn-primary" href="${esc(h.cta[1])}"><i class="fa-solid fa-tower-broadcast"></i> ${esc(h.cta[0])}</a>` : ''}${h.more ? ` <a class="btn" href="${esc(h.more[1])}">${esc(h.more[0])}</a>` : ''}</div>
+ </div>
+ </section>`;
+}
+
function page(site) {
function page(site) {
const core = site.core || NET.core;
const core = site.core || NET.core;
const url = `https://${site.domain}/`;
const url = `https://${site.domain}/`;
@@ -120,6 +132,8 @@ function page(site) {
@@ -120,6 +132,8 @@ function page(site) {
breadcrumb: { '@type': 'BreadcrumbList', itemListElement: [{ '@type': 'ListItem', position: 1, name: 'OpenVibe', item: `${NET.networkUrl}/` }, { '@type': 'ListItem', position: 2, name: site.name, item: url }] } },
breadcrumb: { '@type': 'BreadcrumbList', itemListElement: [{ '@type': 'ListItem', position: 1, name: 'OpenVibe', item: `${NET.networkUrl}/` }, { '@type': 'ListItem', position: 2, name: site.name, item: url }] } },
],
],
};
};
+ // A questions section people can read is also a FAQPage for search engines and AI crawlers.
+ if (site.faq && site.faq.length) ld['@graph'].push({ '@type': 'FAQPage', '@id': `${url}#faq`, mainEntity: site.faq.map(([q, a]) => ({ '@type': 'Question', name: q, acceptedAnswer: { '@type': 'Answer', text: a } })) });
return `<!DOCTYPE html>
return `<!DOCTYPE html>
<html lang="en">
<html lang="en">
<head>
<head>
@@ -194,6 +208,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -194,6 +208,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -226,6 +245,7 @@ ${site.statusApi ? STATUS_CSS : ''}</style>
@@ -226,6 +245,7 @@ ${site.statusApi ? STATUS_CSS : ''}</style>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>${esc(STANDING[standing(site)].label)}</b> · ${statusText(site)} · as of ${esc(facts.generated)} · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>${esc(STANDING[standing(site)].label)}</b> · ${statusText(site)} · as of ${esc(facts.generated)} · <a href="/status.json">status.json</a></p>
</header>
</header>
+${site.highlight ? highlight(site.highlight) : ''}
${notice ? ` <section id="what" class="meanwhile">
${notice ? ` <section id="what" class="meanwhile">
<h2>Where to go</h2>
<h2>Where to go</h2>
<p class="lead2">${esc(site.linksLead || 'What this address used to stand for lives here now.')}</p>
<p class="lead2">${esc(site.linksLead || 'What this address used to stand for lives here now.')}</p>
@@ -248,6 +268,11 @@ ${site.statusApi ? liveStatus(site) : ''}` : ` <section id="what">
@@ -248,6 +268,11 @@ ${site.statusApi ? liveStatus(site) : ''}` : ` <section id="what">
${(site.meanwhile || []).map(([h, href, d]) => `<a class="card" href="${esc(href)}"><div class="ic"><i class="fa-solid fa-arrow-up-right-from-square" aria-hidden="true"></i></div><b>${esc(h)}</b><span>${esc(d)}</span><span class="go">${esc(href.replace(/^https?:\/\//, '').replace(/\/$/, ''))} →</span></a>`).join('\n ')}
${(site.meanwhile || []).map(([h, href, d]) => `<a class="card" href="${esc(href)}"><div class="ic"><i class="fa-solid fa-arrow-up-right-from-square" aria-hidden="true"></i></div><b>${esc(h)}</b><span>${esc(d)}</span><span class="go">${esc(href.replace(/^https?:\/\//, '').replace(/\/$/, ''))} →</span></a>`).join('\n ')}
</div>
</div>
</section>
</section>
+${site.faq && site.faq.length ? `
+ <section id="questions" class="faq">
+ <h2>Questions</h2>
+ ${site.faq.map(([q, ans]) => `<details><summary>${esc(q)}</summary><p>${esc(ans)}</p></details>`).join('\n ')}
+ </section>` : ''}
`}
`}
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What admin.openvibe.network will be</h2>
<h2>What admin.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "admin",
"service": "admin",
- "release": "dc512b0cc1f5",
+ "release": "1ecb9d28ff46",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.AI" rel="noopener"><code>OpenVibers/OpenVibe.AI</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a public API with its own access rules; today only other OpenVibe services call it. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.AI" rel="noopener"><code>OpenVibers/OpenVibe.AI</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a public API with its own access rules; today only other OpenVibe services call it. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What ai.openvibe.network will be</h2>
<h2>What ai.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "ai",
"service": "ai",
- "release": "80f89b040d77",
+ "release": "018cc11f76d1",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What api.openvibe.network will be</h2>
<h2>What api.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -125,6 +131,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -125,6 +131,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "api",
"service": "api",
- "release": "d854e5c3ba29",
+ "release": "93c16e099b7c",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What auth.openvibe.network will be</h2>
<h2>What auth.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "auth",
"service": "auth",
- "release": "451f5378cdd4",
+ "release": "81ac11db46c1",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -3,9 +3,9 @@
@@ -3,9 +3,9 @@
<head>
<head>
<meta charset="utf-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
-<title>OpenRe.Stream — Ingest and restream, in the open.</title>
-<meta name="description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">
-<meta name="keywords" content="openre stream, rtmp ingest, whip, srt, restream, open source streaming infrastructure">
+<title>OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.</title>
+<meta name="description" content="OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">
+<meta name="keywords" content="go live from browser, stream without obs, browser streaming, no follower minimum, stream from chromebook, webrtc streaming, whip, rtmp ingest, srt, restream to twitch youtube kick, open source streaming">
<meta name="robots" content="index, follow, max-image-preview:large">
<meta name="robots" content="index, follow, max-image-preview:large">
<meta name="theme-color" content="#ef4444">
<meta name="theme-color" content="#ef4444">
<link rel="canonical" href="https://openre.stream/">
<link rel="canonical" href="https://openre.stream/">
@@ -16,15 +16,15 @@
@@ -16,15 +16,15 @@
<meta property="og:type" content="website">
<meta property="og:type" content="website">
<meta property="og:site_name" content="OpenRe.Stream">
<meta property="og:site_name" content="OpenRe.Stream">
<meta property="og:url" content="https://openre.stream/">
<meta property="og:url" content="https://openre.stream/">
-<meta property="og:title" content="OpenRe.Stream — Ingest and restream, in the open.">
-<meta property="og:description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">
+<meta property="og:title" content="OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.">
+<meta property="og:description" content="OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">
<meta property="og:image" content="https://openvibe.network/assets/logo-512.png">
<meta property="og:image" content="https://openvibe.network/assets/logo-512.png">
<meta property="og:image:alt" content="OpenVibe">
<meta property="og:image:alt" content="OpenVibe">
<meta name="twitter:card" content="summary">
<meta name="twitter:card" content="summary">
-<meta name="twitter:title" content="OpenRe.Stream — Ingest and restream, in the open.">
-<meta name="twitter:description" content="OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.">
+<meta name="twitter:title" content="OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.">
+<meta name="twitter:description" content="OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
<meta name="twitter:image" content="https://openvibe.network/assets/logo-512.png">
-<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Ingest and restream, in the open.","description":"OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-09-28","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}}]}</script>
+<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://openre.stream/#site","url":"https://openre.stream/","name":"OpenRe.Stream","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","inLanguage":"en","publisher":{"@type":"Organization","@id":"https://openvibe.network/#org","name":"OpenVibe","url":"https://openvibe.network/","logo":"https://openvibe.network/assets/logo-512.png","sameAs":["https://github.com/OpenVibers","https://discord.gg/M6MuRUaeJj"]},"isPartOf":{"@type":"WebSite","@id":"https://openvibe.network/#site","name":"OpenVibe.Network","url":"https://openvibe.network/"}},{"@type":"WebPage","@id":"https://openre.stream/#page","url":"https://openre.stream/","name":"OpenRe.Stream — Go live from your browser, or any encoder, and restream everywhere.","description":"OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.","isPartOf":{"@id":"https://openre.stream/#site"},"datePublished":"2026-09-17","dateModified":"2026-09-28","breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"OpenVibe","item":"https://openvibe.network/"},{"@type":"ListItem","position":2,"name":"OpenRe.Stream","item":"https://openre.stream/"}]}},{"@type":"FAQPage","@id":"https://openre.stream/#faq","mainEntity":[{"@type":"Question","name":"Can I stream without OBS?","acceptedAnswer":{"@type":"Answer","text":"Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."}},{"@type":"Question","name":"Do I need followers or subscribers to go live?","acceptedAnswer":{"@type":"Answer","text":"No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."}},{"@type":"Question","name":"Can I stream from a Chromebook or a phone?","acceptedAnswer":{"@type":"Answer","text":"Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."}},{"@type":"Question","name":"Can I restream to Twitch, YouTube and Kick at the same time?","acceptedAnswer":{"@type":"Answer","text":"Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."}},{"@type":"Question","name":"Can I use OBS if I want to?","acceptedAnswer":{"@type":"Answer","text":"Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."}}]}]}</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script>(function(){try{var raw=localStorage.getItem('ov_theme');if(!raw)return;var t=JSON.parse(raw),v=t&&t.variables;if(!v)return;var el=document.documentElement;for(var k in v)if(k.charAt(0)==='-')el.style.setProperty(k,v[k]);if(t.id)el.setAttribute('data-theme',t.id);}catch(_){}})();</script>
<script src="/shared/theme-loader.js?v=d9b9af081efe" defer></script>
<script src="/shared/theme-loader.js?v=d9b9af081efe" defer></script>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -94,8 +99,8 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -94,8 +99,8 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<div class="mark"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div>
<div class="mark"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div>
<div class="badge"><span class="ov-mark" data-size="16" data-variant="stream"></span> Part of the OpenVibe network · <b>in development</b></div>
<div class="badge"><span class="ov-mark" data-size="16" data-variant="stream"></span> Part of the OpenVibe network · <b>in development</b></div>
<h1>OpenRe<span class="d">.</span><span class="tld">Stream</span></h1>
<h1>OpenRe<span class="d">.</span><span class="tld">Stream</span></h1>
- <div class="tag">Ingest and restream, in the open.</div>
- <p class="lead">OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.</p>
+ <div class="tag">Go live from your browser, or any encoder, and restream everywhere.</div>
+ <p class="lead">OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.</p>
<div class="ctas">
<div class="ctas">
<a class="btn btn-primary" href="https://openvibe.network/login?return=https%3A%2F%2Fopenre.stream%2F"><i class="fa-solid fa-right-to-bracket"></i> Sign in with OpenVibe</a>
<a class="btn btn-primary" href="https://openvibe.network/login?return=https%3A%2F%2Fopenre.stream%2F"><i class="fa-solid fa-right-to-bracket"></i> Sign in with OpenVibe</a>
<a class="btn" href="https://openvibe.network/#network"><i class="fa-solid fa-circle-nodes"></i> The whole network</a>
<a class="btn" href="https://openvibe.network/#network"><i class="fa-solid fa-circle-nodes"></i> The whole network</a>
@@ -104,14 +109,22 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,14 +109,22 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenRe.Stream" rel="noopener"><code>OpenVibers/OpenRe.Stream</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenRe.Stream" rel="noopener"><code>OpenVibers/OpenRe.Stream</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+ <section class="highlight" aria-labelledby="highlight-h">
+ <div class="hl-card">
+ <h2 id="highlight-h"><i class="fa-solid fa-bolt" aria-hidden="true"></i> Go live from your browser — no OBS needed</h2>
+ <p>Press Go Live, allow your camera and microphone, and you're live, with your own channel and chat. There's nothing to install and no follower or subscriber minimum. It works on a Chromebook, a laptop or a phone.</p>
+ <ul><li>No OBS, plug-ins or capture card: WebRTC in the browser, with under a second of delay</li><li>No follower, subscriber or past-stream requirement</li><li>Share your screen, a window or a tab, with your camera over it</li><li>When you want scenes, use OBS or any RTMP or WHIP encoder</li></ul>
+ <div class="ctas"><a class="btn btn-primary" href="https://openvibe.live/broadcast"><i class="fa-solid fa-tower-broadcast"></i> Go live now on OpenVibe.Live</a> <a class="btn" href="https://openvibe.live/docs/go-live-in-your-browser">How browser streaming works</a></div>
+ </div>
+ </section>
<section id="what">
<section id="what">
<h2>What OpenRe.Stream will be</h2>
<h2>What OpenRe.Stream will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<div class="grid">
<div class="grid">
- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Ingest</b><span>RTMP ingest with keys and lifecycle in one place; WHIP/WebRTC and SRT ingest to follow.</span></div>
+ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Browser go-live</b><span>Stream from a browser over WebRTC and WHIP, with nothing to install and no follower minimum.</span></div>
+ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Ingest</b><span>RTMP ingest with keys and lifecycle in one place, plus WHIP/WebRTC; SRT ingest to follow.</span></div>
<div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Restream</b><span>Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination.</span></div>
<div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Restream</b><span>Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination.</span></div>
- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Status</b><span>Live acknowledgement, errors relayed in plain words, uptime.</span></div>
- <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Open</b><span>Run it yourself; the code is on GitHub.</span></div>
+ <div class="card"><div class="ic"><i class="fa-solid fa-satellite-dish" aria-hidden="true"></i></div><b>Open API and SDK</b><span>Streams, sessions and destinations through the OpenVibe API and SDK; run it yourself from GitHub.</span></div>
</div>
</div>
</section>
</section>
@@ -124,6 +137,15 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -124,6 +137,15 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+ <section id="questions" class="faq">
+ <h2>Questions</h2>
+ <details><summary>Can I stream without OBS?</summary><p>Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install.</p></details>
+ <details><summary>Do I need followers or subscribers to go live?</summary><p>No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement.</p></details>
+ <details><summary>Can I stream from a Chromebook or a phone?</summary><p>Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux.</p></details>
+ <details><summary>Can I restream to Twitch, YouTube and Kick at the same time?</summary><p>Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once.</p></details>
+ <details><summary>Can I use OBS if I want to?</summary><p>Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer).</p></details>
+ </section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,7 +1,7 @@
@@ -1,7 +1,7 @@
{
{
"name": "OpenRe.Stream",
"name": "OpenRe.Stream",
"short_name": "Stream",
"short_name": "Stream",
- "description": "Ingest and restream, in the open.",
+ "description": "Go live from your browser, or any encoder, and restream everywhere.",
"start_url": "/",
"start_url": "/",
"scope": "/",
"scope": "/",
"display": "standalone",
"display": "standalone",
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "stream",
"service": "stream",
- "release": "b134d2ce0564",
+ "release": "17c409245ae7",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Coupons" rel="noopener"><code>OpenVibers/OpenVibe.Coupons</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a coupons source's terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Coupons" rel="noopener"><code>OpenVibers/OpenVibe.Coupons</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a coupons source's terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Coupons will be</h2>
<h2>What OpenVibe.Coupons will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "coupons",
"service": "coupons",
- "release": "8ca127445d14",
+ "release": "31ba478c8e98",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Deals" rel="noopener"><code>OpenVibers/OpenVibe.Deals</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a deals source's terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Deals" rel="noopener"><code>OpenVibers/OpenVibe.Deals</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a deals source's terms and switch it on. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Deals will be</h2>
<h2>What OpenVibe.Deals will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "deals",
"service": "deals",
- "release": "8a279b02fb34",
+ "release": "57701385bec8",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Download</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared file service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Download</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared file service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Download will be</h2>
<h2>What OpenVibe.Download will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "download",
"service": "download",
- "release": "2711990768f6",
+ "release": "1e85cd2bb122",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Food</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the food tools moving over from OpenVibe.Tools. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Food</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the food tools moving over from OpenVibe.Tools. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Food will be</h2>
<h2>What OpenVibe.Food will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "food",
"service": "food",
- "release": "21826779fce2",
+ "release": "a225568d9666",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Homes</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing and records sources. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Homes</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing and records sources. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Homes will be</h2>
<h2>What OpenVibe.Homes will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "homes",
"service": "homes",
- "release": "c536b3da421b",
+ "release": "58060c930b5f",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Host" rel="noopener"><code>OpenVibers/OpenVibe.Host</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the owner's go on its launch checklist. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Host" rel="noopener"><code>OpenVibers/OpenVibe.Host</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the owner's go on its launch checklist. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Host will be</h2>
<h2>What OpenVibe.Host will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "host",
"service": "host",
- "release": "aacecab4defd",
+ "release": "2a09d825d22a",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.News" rel="noopener"><code>OpenVibers/OpenVibe.News</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a news source's terms and an editor to publish the first reviewed story. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.News" rel="noopener"><code>OpenVibers/OpenVibe.News</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a news source's terms and an editor to publish the first reviewed story. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.News will be</h2>
<h2>What OpenVibe.News will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "news",
"service": "news",
- "release": "533b9656a8d8",
+ "release": "75b6b83fb020",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Pics</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared image upload and processing service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Pics</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared image upload and processing service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Pics will be</h2>
<h2>What OpenVibe.Pics will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "pics",
"service": "pics",
- "release": "97633cbc8bd0",
+ "release": "9582f25652e4",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Quest</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared quest service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Quest</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the shared quest service. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Quest will be</h2>
<h2>What OpenVibe.Quest will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "quest",
"service": "quest",
- "release": "5626854f0a7a",
+ "release": "c02bb6ca00d4",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Rent</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing sources and the shared discovery system. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Rent</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for verified listing sources and the shared discovery system. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Rent will be</h2>
<h2>What OpenVibe.Rent will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "rent",
"service": "rent",
- "release": "e9d08b0be151",
+ "release": "eb91b4b3c29f",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Reviews" rel="noopener"><code>OpenVibers/OpenVibe.Reviews</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a review source's terms and an editor to publish the first reviewed summary. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Reviews" rel="noopener"><code>OpenVibers/OpenVibe.Reviews</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a person to verify a review source's terms and an editor to publish the first reviewed summary. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Reviews will be</h2>
<h2>What OpenVibe.Reviews will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "reviews",
"service": "reviews",
- "release": "6db99fa7ee2d",
+ "release": "be102e545ed1",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Run</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the sandbox runtime. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Run</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the sandbox runtime. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Run will be</h2>
<h2>What OpenVibe.Run will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "run",
"service": "run",
- "release": "04eba6abe85f",
+ "release": "c535a3e9f0a3",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Services</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the console bringing together Codes' portal and the network's admin surfaces. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Services</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the console bringing together Codes' portal and the network's admin surfaces. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Services will be</h2>
<h2>What OpenVibe.Services will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "services",
"service": "services",
- "release": "43219658d625",
+ "release": "8634e5dd173f",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Space</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the forum engine moving over from OpenVibe.Community. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Space</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the forum engine moving over from OpenVibe.Community. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Space will be</h2>
<h2>What OpenVibe.Space will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "space",
"service": "space",
- "release": "6a391395c8aa",
+ "release": "4b326ea17646",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Tips" rel="noopener"><code>OpenVibers/OpenVibe.Tips</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing and a security review; tips keep working on OpenVibe.Live meanwhile. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Tips" rel="noopener"><code>OpenVibers/OpenVibe.Tips</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing and a security review; tips keep working on OpenVibe.Live meanwhile. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Tips will be</h2>
<h2>What OpenVibe.Tips will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "tips",
"service": "tips",
- "release": "9de43c7d6849",
+ "release": "a3068910348d",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Trade" rel="noopener"><code>OpenVibers/OpenVibe.Trade</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a verified data source and editors adding the first instruments. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.Trade" rel="noopener"><code>OpenVibers/OpenVibe.Trade</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for a verified data source and editors adding the first instruments. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Trade will be</h2>
<h2>What OpenVibe.Trade will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "trade",
"service": "trade",
- "release": "07b5ed29423b",
+ "release": "1717c324a005",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Video</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the video service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>planned</b> · <strong>OpenVibe.Video</strong> is planned; its repository and code do not exist yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the video service on OpenVibe.Media. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.Video will be</h2>
<h2>What OpenVibe.Video will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -124,6 +130,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "video",
"service": "video",
- "release": "b537f0447fe1",
+ "release": "af966edd9843",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.VIP" rel="noopener"><code>OpenVibers/OpenVibe.VIP</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing; checkout stays closed until then. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>in development</b> · <a href="https://github.com/OpenVibers/OpenVibe.VIP" rel="noopener"><code>OpenVibers/OpenVibe.VIP</code></a> is built and its service runs on the network's host, but it is not public yet: this page is a placeholder, nothing here is live yet. The public launch is waiting for the payments cutover to OpenVibe.Billing; checkout stays closed until then. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What OpenVibe.VIP will be</h2>
<h2>What OpenVibe.VIP will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "vip",
"service": "vip",
- "release": "cdb1d3ba4fa3",
+ "release": "95a4dfe96647",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>closed</b> · <a href="https://github.com/OpenVibers/OpenVibe.Realtime" rel="noopener"><code>OpenVibers/OpenVibe.Realtime</code></a> is closed and stays as a decision record; no product launches at this address. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>closed</b> · <a href="https://github.com/OpenVibers/OpenVibe.Realtime" rel="noopener"><code>OpenVibers/OpenVibe.Realtime</code></a> is closed and stays as a decision record; no product launches at this address. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what" class="meanwhile">
<section id="what" class="meanwhile">
<h2>Where to go</h2>
<h2>Where to go</h2>
<p class="lead2">Realtime delivery for browsers is a part of OpenVibe.Events; the decision and its record are public.</p>
<p class="lead2">Realtime delivery for browsers is a part of OpenVibe.Events; the decision and its record are public.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "realtime",
"service": "realtime",
- "release": "4887ad9c5f1d",
+ "release": "41d3ce573570",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -112,6 +117,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -112,6 +117,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>status</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> publishes the status of every OpenVibe service at <a href="https://openvibe.network/status">openvibe.network/status</a>; this address points there. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>status</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> publishes the status of every OpenVibe service at <a href="https://openvibe.network/status">openvibe.network/status</a>; this address points there. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what" class="meanwhile">
<section id="what" class="meanwhile">
<h2>Where to go</h2>
<h2>Where to go</h2>
<p class="lead2">Network's own observations, stated as seen: a service that has not been checked recently shows as unknown, never as up.</p>
<p class="lead2">Network's own observations, stated as seen: a service that has not been checked recently shows as unknown, never as up.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "status",
"service": "status",
- "release": "2802b1f8728e",
+ "release": "0ed67667e4fd",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -72,6 +72,11 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
.card b{font-size:15px}
.card b{font-size:15px}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card span{font-size:13px;color:var(--text-secondary);line-height:1.55}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
.card .go{margin-top:auto;font-size:12.5px;font-weight:600;color:var(--site)}
+.highlight .hl-card{border:1px solid rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.10);border-radius:18px;padding:22px 22px 18px}
+.highlight h2{margin:0 0 8px}.highlight h2 i{color:var(--accent-light)}.highlight p{margin:0 0 10px}
+.highlight ul{margin:0 0 14px;padding-left:20px}.highlight li{margin:4px 0}
+.faq details{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin:8px 0}
+.faq summary{cursor:pointer;font-weight:600}.faq details p{margin:8px 0 0;opacity:.85}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.meanwhile .card .ic{background:rgba(var(--accent-rgb),.12);color:var(--accent-light)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.net .card .ic{background:var(--bg-hover);color:var(--text-primary)}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px}
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -104,6 +109,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
<p class="status"><i class="fa-solid fa-clock" aria-hidden="true"></i> Status: <b>not routed yet</b> · <a href="https://github.com/OpenVibers/OpenVibe.Network" rel="noopener"><code>OpenVibers/OpenVibe.Network</code></a> is live at <a href="https://openvibe.network/">openvibe.network</a>; this subdomain is not routed to it yet: this page is a placeholder, nothing here is live yet. · as of 2026-09-24 · <a href="/status.json">status.json</a></p>
</header>
</header>
+
<section id="what">
<section id="what">
<h2>What themes.openvibe.network will be</h2>
<h2>What themes.openvibe.network will be</h2>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
<p class="lead2">Same account, same themes, same navbar as every other OpenVibe site — built in the open, run by its community.</p>
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
@@ -123,6 +129,7 @@ a.card:hover{transform:translateY(-3px);border-color:rgba(var(--site-rgb),.6);bo
</div>
</div>
</section>
</section>
+
<section class="net">
<section class="net">
<h2>The OpenVibe network</h2>
<h2>The OpenVibe network</h2>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
<p class="lead2">One account for all of it. Sign in once and every site signs you in.</p>
@@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
{
{
"service": "themes",
"service": "themes",
- "release": "c51dc88665a5",
+ "release": "add8d8470c90",
"released_at": "2026-09-28T00:00:00.000Z",
"released_at": "2026-09-28T00:00:00.000Z",
"booted_at": null,
"booted_at": null,
"contracts_version": null,
"contracts_version": null,
@@ -358,24 +358,24 @@
@@ -358,24 +358,24 @@
"name": "OpenRe.Stream",
"name": "OpenRe.Stream",
"icon": "fa-satellite-dish",
"icon": "fa-satellite-dish",
"accent": "#ef4444",
"accent": "#ef4444",
- "tagline": "Ingest and restream, in the open.",
- "description": "OpenRe.Stream is the ingest and restream service split out of OpenVibe.Live: RTMP ingest with stream keys and lifecycle, and restreaming to RTMP, RTMPS and SRT destinations, with WHIP to follow. Broadcasters still go live through OpenVibe.Live until their stream moves over.",
+ "tagline": "Go live from your browser, or any encoder, and restream everywhere.",
+ "description": "OpenRe.Stream is OpenVibe's open streaming engine, split out of OpenVibe.Live. Go live from a web browser with no OBS, no downloads and no follower minimum, or send RTMP or WHIP from any encoder, and restream to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination. Browser broadcasts start on OpenVibe.Live today, and move to OpenRe.Stream ingest channel by channel.",
"pillars": [
"pillars": [
+ [
+ "Browser go-live",
+ "Stream from a browser over WebRTC and WHIP, with nothing to install and no follower minimum."
+ ],
[
[
"Ingest",
"Ingest",
- "RTMP ingest with keys and lifecycle in one place; WHIP/WebRTC and SRT ingest to follow."
+ "RTMP ingest with keys and lifecycle in one place, plus WHIP/WebRTC; SRT ingest to follow."
],
],
[
[
"Restream",
"Restream",
"Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination."
"Twitch, YouTube, Kick and any RTMP, RTMPS or SRT destination."
],
],
[
[
- "Status",
- "Live acknowledgement, errors relayed in plain words, uptime."
- ],
- [
- "Open",
- "Run it yourself; the code is on GitHub."
+ "Open API and SDK",
+ "Streams, sessions and destinations through the OpenVibe API and SDK; run it yourself from GitHub."
]
]
],
],
"meanwhile": [
"meanwhile": [
@@ -390,9 +390,49 @@
@@ -390,9 +390,49 @@
"How the restream paths work."
"How the restream paths work."
]
]
],
],
- "keywords": "openre stream, rtmp ingest, whip, srt, restream, open source streaming infrastructure",
+ "keywords": "go live from browser, stream without obs, browser streaming, no follower minimum, stream from chromebook, webrtc streaming, whip, rtmp ingest, srt, restream to twitch youtube kick, open source streaming",
"plannedRepo": "OpenRe.Stream",
"plannedRepo": "OpenRe.Stream",
- "launch": "the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet"
+ "launch": "the stream slots to move from OpenVibe.Live's ingest to OpenRe.Stream, one at a time; no stream uses it yet",
+ "highlight": {
+ "title": "Go live from your browser — no OBS needed",
+ "text": "Press Go Live, allow your camera and microphone, and you're live, with your own channel and chat. There's nothing to install and no follower or subscriber minimum. It works on a Chromebook, a laptop or a phone.",
+ "points": [
+ "No OBS, plug-ins or capture card: WebRTC in the browser, with under a second of delay",
+ "No follower, subscriber or past-stream requirement",
+ "Share your screen, a window or a tab, with your camera over it",
+ "When you want scenes, use OBS or any RTMP or WHIP encoder"
+ ],
+ "cta": [
+ "Go live now on OpenVibe.Live",
+ "https://openvibe.live/broadcast"
+ ],
+ "more": [
+ "How browser streaming works",
+ "https://openvibe.live/docs/go-live-in-your-browser"
+ ]
+ },
+ "faq": [
+ [
+ "Can I stream without OBS?",
+ "Yes. Go live from your browser on OpenVibe.Live: press Go Live, allow your camera and microphone, and you are live. There is nothing to install."
+ ],
+ [
+ "Do I need followers or subscribers to go live?",
+ "No. Every OpenVibe account can go live from the first minute, with no follower, subscriber or past-stream requirement."
+ ],
+ [
+ "Can I stream from a Chromebook or a phone?",
+ "Yes. The broadcaster runs in Chrome, Edge, Firefox and Safari, on ChromeOS, Android and iOS as well as Windows, macOS and Linux."
+ ],
+ [
+ "Can I restream to Twitch, YouTube and Kick at the same time?",
+ "Yes. One broadcast can go to Twitch, YouTube, Kick and any RTMP, RTMPS or SRT server at once."
+ ],
+ [
+ "Can I use OBS if I want to?",
+ "Yes. OBS and any RTMP encoder work, and so do WHIP encoders (OBS 30 and later, ffmpeg, GStreamer)."
+ ]
+ ]
},
},
{
{
"domain": "auth.openvibe.network",
"domain": "auth.openvibe.network",