openvibers/openvibe.network Commits

Park the two 11-10 domains; they join OWNED_ZONES (#771)

OP OpenVibers committed 3 days ago · 61f68ec770 · 4 files, +44 −2

Changes

ddiff --git a/deploy/nginx/parked-domains.conf b/deploy/nginx/parked-domains.conf
iindex 751b8117..2f666842 100644
---- a/deploy/nginx/parked-domains.conf
++++ b/deploy/nginx/parked-domains.conf
@@@ -27,6 +27,8 @@
# the account hub's homes, in this file below. openvibe.party left on 2026-11-07: OpenVibe.Chat serves it
# (OpenVibe.Chat deploy/nginx/openvibe.party.conf).
# openvibe.computer is prepared for OpenVibe.Computer; its host vhost is swapped after review and readiness.
++# 2026-11-10: the two bought that day (openvibe.compare, openvibe.directory) are parked here the same way,
++# each sent to where its capability lives today.
#
# Install: sudo ov-vhost-install deploy/nginx/parked-domains.conf parked-domains.conf
# after removing Sites' vhost for each name. Each name uses its own certificate (a vhost must use its own
@@@ -291,3 +293,41 @@ server {
# openvibe.studio: not parked since Studio v0's launch. OpenVibe.Studio serves it (its own vhost,
# deploy/nginx/openvibe.studio.conf in OpenVibe.Studio, installed with ov-vhost-install).
++
++# openvibe.compare: parked, sent to OpenVibe AI, where the models live today (AI models first) until its own vhost takes the name (2026-11-10).
++server {
++ listen 80;
++ listen [::]:80;
++ server_name openvibe.compare www.openvibe.compare;
++ return 302 https://openvibe.ai/;
++}
++
++server {
++ listen 443 ssl;
++ listen [::]:443 ssl;
++ http2 on;
++ server_name openvibe.compare www.openvibe.compare;
++ ssl_certificate /etc/letsencrypt/live/openvibe.compare/fullchain.pem;
++ ssl_certificate_key /etc/letsencrypt/live/openvibe.compare/privkey.pem;
++ access_log off;
++ return 302 https://openvibe.ai/;
++}
++
++# openvibe.directory: parked, sent to the network's front door (no directory capability yet) until its own vhost takes the name (2026-11-10).
++server {
++ listen 80;
++ listen [::]:80;
++ server_name openvibe.directory www.openvibe.directory;
++ return 302 https://openvibe.network/;
++}
++
++server {
++ listen 443 ssl;
++ listen [::]:443 ssl;
++ http2 on;
++ server_name openvibe.directory www.openvibe.directory;
++ ssl_certificate /etc/letsencrypt/live/openvibe.directory/fullchain.pem;
++ ssl_certificate_key /etc/letsencrypt/live/openvibe.directory/privkey.pem;
++ access_log off;
++ return 302 https://openvibe.network/;
++}
ddiff --git a/public/js/login.js b/public/js/login.js
iindex d373ce7c..f528dd32 100644
---- a/public/js/login.js
++++ b/public/js/login.js
@@@ -702,7 +702,7 @@ function ripple(btn, e) {
// safe-redirect:begin
// Where a sign-in may send the browser: a path on this site, this origin, or https on a zone
// OpenVibe owns (server/auth/sso-owned.js). Never javascript:/data:, never another host.
--const OV_OWNED_ZONES = ['openvibe.network', 'openvibe.live', 'openvibe.tools', 'openvibe.media', 'openvibe.games', 'openvibe.community', 'openvibe.space', 'openvibe.chat', 'openvibe.codes', 'openvibe.blog', 'openvibe.wiki', 'openvibe.news', 'openvibe.reviews', 'openvibe.tips', 'openvibe.vip', 'openvibe.trade', 'openvibe.host', 'openvibe.deals', 'openvibe.coupons', 'openre.stream', 'open.shoes', 'openvibe.today', 'openvibe.vision', 'openvibe.domains', 'openvibe.report', 'openvibe.meme', 'openvibe.casino', 'openvibe.surf', 'openvibe.fun', 'openvibe.tours', 'openvibe.exchange', 'openvibe.cam', 'openvibe.design', 'openvibe.computer', 'openvibe.email', 'openvibe.link', 'openvibe.locker', 'openvibe.my', 'openvibe.party', 'openvibe.studio'];
++const OV_OWNED_ZONES = ['openvibe.network', 'openvibe.live', 'openvibe.tools', 'openvibe.media', 'openvibe.games', 'openvibe.community', 'openvibe.space', 'openvibe.chat', 'openvibe.codes', 'openvibe.blog', 'openvibe.wiki', 'openvibe.news', 'openvibe.reviews', 'openvibe.tips', 'openvibe.vip', 'openvibe.trade', 'openvibe.host', 'openvibe.deals', 'openvibe.coupons', 'openre.stream', 'open.shoes', 'openvibe.today', 'openvibe.vision', 'openvibe.domains', 'openvibe.report', 'openvibe.meme', 'openvibe.casino', 'openvibe.surf', 'openvibe.fun', 'openvibe.tours', 'openvibe.exchange', 'openvibe.cam', 'openvibe.design', 'openvibe.computer', 'openvibe.email', 'openvibe.link', 'openvibe.locker', 'openvibe.my', 'openvibe.party', 'openvibe.studio', 'openvibe.compare', 'openvibe.directory'];
const OV_USER_CONTENT_ZONES = ['openvibe.host', 'openvibe.link']; // tenant sites: only the apex is ours
function safeReturnUrl(raw) {
const s = String(raw == null ? '' : raw);
ddiff --git a/public/sso-fanout.html b/public/sso-fanout.html
iindex c810f776..f33b041b 100644
---- a/public/sso-fanout.html
++++ b/public/sso-fanout.html
@@@ -80,7 +80,7 @@ li.now .dot i{animation:breathe 1.2s var(--ov-ease-in-out, ease-in-out) infinite
// safe-redirect:begin
// Where a sign-in may send the browser: a path on this site, this origin, or https on a zone
// OpenVibe owns (server/auth/sso-owned.js). Never javascript:/data:, never another host.
-- const OV_OWNED_ZONES = ['openvibe.network', 'openvibe.live', 'openvibe.tools', 'openvibe.media', 'openvibe.games', 'openvibe.community', 'openvibe.space', 'openvibe.chat', 'openvibe.codes', 'openvibe.blog', 'openvibe.wiki', 'openvibe.news', 'openvibe.reviews', 'openvibe.tips', 'openvibe.vip', 'openvibe.trade', 'openvibe.host', 'openvibe.deals', 'openvibe.coupons', 'openre.stream', 'open.shoes', 'openvibe.today', 'openvibe.vision', 'openvibe.domains', 'openvibe.report', 'openvibe.meme', 'openvibe.casino', 'openvibe.surf', 'openvibe.fun', 'openvibe.tours', 'openvibe.exchange', 'openvibe.cam', 'openvibe.design', 'openvibe.computer', 'openvibe.email', 'openvibe.link', 'openvibe.locker', 'openvibe.my', 'openvibe.party', 'openvibe.studio'];
++ const OV_OWNED_ZONES = ['openvibe.network', 'openvibe.live', 'openvibe.tools', 'openvibe.media', 'openvibe.games', 'openvibe.community', 'openvibe.space', 'openvibe.chat', 'openvibe.codes', 'openvibe.blog', 'openvibe.wiki', 'openvibe.news', 'openvibe.reviews', 'openvibe.tips', 'openvibe.vip', 'openvibe.trade', 'openvibe.host', 'openvibe.deals', 'openvibe.coupons', 'openre.stream', 'open.shoes', 'openvibe.today', 'openvibe.vision', 'openvibe.domains', 'openvibe.report', 'openvibe.meme', 'openvibe.casino', 'openvibe.surf', 'openvibe.fun', 'openvibe.tours', 'openvibe.exchange', 'openvibe.cam', 'openvibe.design', 'openvibe.computer', 'openvibe.email', 'openvibe.link', 'openvibe.locker', 'openvibe.my', 'openvibe.party', 'openvibe.studio', 'openvibe.compare', 'openvibe.directory'];
const OV_USER_CONTENT_ZONES = ['openvibe.host', 'openvibe.link']; // tenant sites: only the apex is ours
function safeNext(raw) {
const s = String(raw == null ? '' : raw);
ddiff --git a/server/auth/sso-owned.js b/server/auth/sso-owned.js
iindex 6b1963bb..38cb6078 100644
---- a/server/auth/sso-owned.js
++++ b/server/auth/sso-owned.js
@@@ -9,6 +9,8 @@ const OWNED_ZONES = [
'open.shoes', 'openvibe.today', 'openvibe.vision', 'openvibe.domains', 'openvibe.report', 'openvibe.meme', 'openvibe.casino', 'openvibe.surf', 'openvibe.fun', 'openvibe.tours', 'openvibe.exchange', 'openvibe.cam', 'openvibe.design',
// 2026-11-07: the seven bought that day (parked in deploy/nginx/parked-domains.conf until their products serve them).
'openvibe.computer', 'openvibe.email', 'openvibe.link', 'openvibe.locker', 'openvibe.my', 'openvibe.party', 'openvibe.studio',
++ // 2026-11-10: the two bought that day (parked in deploy/nginx/parked-domains.conf until their products serve them).
++ 'openvibe.compare', 'openvibe.directory',
];
// Zones whose subdomains are people's own content (OpenVibe.Host tenant sites, <site>.openvibe.host,
// which run the tenant's JS): only the apex is OpenVibe's. Domain validation still refuses them as