9remote 3.0.48 → 3.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +2 -2
- package/dist/server.cjs +4 -4
- package/dist/ui/assets/index-BlDioy5o.js +8 -0
- package/dist/ui/index.html +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +1 -1
- package/dist/web/__next._full.txt +1 -1
- package/dist/web/__next._head.txt +1 -1
- package/dist/web/__next._index.txt +1 -1
- package/dist/web/__next._tree.txt +1 -1
- package/dist/web/_not-found/__next._full.txt +1 -1
- package/dist/web/_not-found/__next._head.txt +1 -1
- package/dist/web/_not-found/__next._index.txt +1 -1
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/web/_not-found/__next._not-found.txt +1 -1
- package/dist/web/_not-found/__next._tree.txt +1 -1
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +1 -1
- package/dist/web/admin/__next._full.txt +1 -1
- package/dist/web/admin/__next._head.txt +1 -1
- package/dist/web/admin/__next._index.txt +1 -1
- package/dist/web/admin/__next._tree.txt +1 -1
- package/dist/web/admin/__next.admin.__PAGE__.txt +1 -1
- package/dist/web/admin/__next.admin.txt +1 -1
- package/dist/web/admin/access/__next._full.txt +1 -1
- package/dist/web/admin/access/__next._head.txt +1 -1
- package/dist/web/admin/access/__next._index.txt +1 -1
- package/dist/web/admin/access/__next._tree.txt +1 -1
- package/dist/web/admin/access/__next.admin.access.__PAGE__.txt +1 -1
- package/dist/web/admin/access/__next.admin.access.txt +1 -1
- package/dist/web/admin/access/__next.admin.txt +1 -1
- package/dist/web/admin/access.html +1 -1
- package/dist/web/admin/access.txt +1 -1
- package/dist/web/admin/login/__next._full.txt +1 -1
- package/dist/web/admin/login/__next._head.txt +1 -1
- package/dist/web/admin/login/__next._index.txt +1 -1
- package/dist/web/admin/login/__next._tree.txt +1 -1
- package/dist/web/admin/login/__next.admin.login.__PAGE__.txt +1 -1
- package/dist/web/admin/login/__next.admin.login.txt +1 -1
- package/dist/web/admin/login/__next.admin.txt +1 -1
- package/dist/web/admin/login.html +1 -1
- package/dist/web/admin/login.txt +1 -1
- package/dist/web/admin/ota/__next._full.txt +1 -1
- package/dist/web/admin/ota/__next._head.txt +1 -1
- package/dist/web/admin/ota/__next._index.txt +1 -1
- package/dist/web/admin/ota/__next._tree.txt +1 -1
- package/dist/web/admin/ota/__next.admin.ota.__PAGE__.txt +1 -1
- package/dist/web/admin/ota/__next.admin.ota.txt +1 -1
- package/dist/web/admin/ota/__next.admin.txt +1 -1
- package/dist/web/admin/ota.html +1 -1
- package/dist/web/admin/ota.txt +1 -1
- package/dist/web/admin/turn/__next._full.txt +1 -1
- package/dist/web/admin/turn/__next._head.txt +1 -1
- package/dist/web/admin/turn/__next._index.txt +1 -1
- package/dist/web/admin/turn/__next._tree.txt +1 -1
- package/dist/web/admin/turn/__next.admin.turn.__PAGE__.txt +1 -1
- package/dist/web/admin/turn/__next.admin.turn.txt +1 -1
- package/dist/web/admin/turn/__next.admin.txt +1 -1
- package/dist/web/admin/turn.html +1 -1
- package/dist/web/admin/turn.txt +1 -1
- package/dist/web/admin.html +1 -1
- package/dist/web/admin.txt +1 -1
- package/dist/web/download/__next._full.txt +1 -1
- package/dist/web/download/__next._head.txt +1 -1
- package/dist/web/download/__next._index.txt +1 -1
- package/dist/web/download/__next._tree.txt +1 -1
- package/dist/web/download/__next.download.__PAGE__.txt +1 -1
- package/dist/web/download/__next.download.txt +1 -1
- package/dist/web/download.html +1 -1
- package/dist/web/download.txt +1 -1
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +1 -1
- package/dist/web/login/__next._full.txt +1 -1
- package/dist/web/login/__next._head.txt +1 -1
- package/dist/web/login/__next._index.txt +1 -1
- package/dist/web/login/__next._tree.txt +1 -1
- package/dist/web/login/__next.login.__PAGE__.txt +1 -1
- package/dist/web/login/__next.login.txt +1 -1
- package/dist/web/login.html +1 -1
- package/dist/web/login.txt +1 -1
- package/dist/web/workspace/__next._full.txt +1 -1
- package/dist/web/workspace/__next._head.txt +1 -1
- package/dist/web/workspace/__next._index.txt +1 -1
- package/dist/web/workspace/__next._tree.txt +1 -1
- package/dist/web/workspace/__next.workspace.__PAGE__.txt +1 -1
- package/dist/web/workspace/__next.workspace.txt +1 -1
- package/dist/web/workspace/browse/__next._full.txt +1 -1
- package/dist/web/workspace/browse/__next._head.txt +1 -1
- package/dist/web/workspace/browse/__next._index.txt +1 -1
- package/dist/web/workspace/browse/__next._tree.txt +1 -1
- package/dist/web/workspace/browse/__next.workspace.browse.__PAGE__.txt +1 -1
- package/dist/web/workspace/browse/__next.workspace.browse.txt +1 -1
- package/dist/web/workspace/browse/__next.workspace.txt +1 -1
- package/dist/web/workspace/browse.html +1 -1
- package/dist/web/workspace/browse.txt +1 -1
- package/dist/web/workspace/editor/__next._full.txt +1 -1
- package/dist/web/workspace/editor/__next._head.txt +1 -1
- package/dist/web/workspace/editor/__next._index.txt +1 -1
- package/dist/web/workspace/editor/__next._tree.txt +1 -1
- package/dist/web/workspace/editor/__next.workspace.editor.__PAGE__.txt +1 -1
- package/dist/web/workspace/editor/__next.workspace.editor.txt +1 -1
- package/dist/web/workspace/editor/__next.workspace.txt +1 -1
- package/dist/web/workspace/editor.html +1 -1
- package/dist/web/workspace/editor.txt +1 -1
- package/dist/web/workspace/files/__next._full.txt +1 -1
- package/dist/web/workspace/files/__next._head.txt +1 -1
- package/dist/web/workspace/files/__next._index.txt +1 -1
- package/dist/web/workspace/files/__next._tree.txt +1 -1
- package/dist/web/workspace/files/__next.workspace.files.__PAGE__.txt +1 -1
- package/dist/web/workspace/files/__next.workspace.files.txt +1 -1
- package/dist/web/workspace/files/__next.workspace.txt +1 -1
- package/dist/web/workspace/files.html +1 -1
- package/dist/web/workspace/files.txt +1 -1
- package/dist/web/workspace/git/__next._full.txt +1 -1
- package/dist/web/workspace/git/__next._head.txt +1 -1
- package/dist/web/workspace/git/__next._index.txt +1 -1
- package/dist/web/workspace/git/__next._tree.txt +1 -1
- package/dist/web/workspace/git/__next.workspace.git.__PAGE__.txt +1 -1
- package/dist/web/workspace/git/__next.workspace.git.txt +1 -1
- package/dist/web/workspace/git/__next.workspace.txt +1 -1
- package/dist/web/workspace/git.html +1 -1
- package/dist/web/workspace/git.txt +1 -1
- package/dist/web/workspace/mobile/__next._full.txt +1 -1
- package/dist/web/workspace/mobile/__next._head.txt +1 -1
- package/dist/web/workspace/mobile/__next._index.txt +1 -1
- package/dist/web/workspace/mobile/__next._tree.txt +1 -1
- package/dist/web/workspace/mobile/__next.workspace.mobile.__PAGE__.txt +1 -1
- package/dist/web/workspace/mobile/__next.workspace.mobile.txt +1 -1
- package/dist/web/workspace/mobile/__next.workspace.txt +1 -1
- package/dist/web/workspace/mobile.html +1 -1
- package/dist/web/workspace/mobile.txt +1 -1
- package/dist/web/workspace/pair/__next._full.txt +1 -1
- package/dist/web/workspace/pair/__next._head.txt +1 -1
- package/dist/web/workspace/pair/__next._index.txt +1 -1
- package/dist/web/workspace/pair/__next._tree.txt +1 -1
- package/dist/web/workspace/pair/__next.workspace.pair.__PAGE__.txt +1 -1
- package/dist/web/workspace/pair/__next.workspace.pair.txt +1 -1
- package/dist/web/workspace/pair/__next.workspace.txt +1 -1
- package/dist/web/workspace/pair.html +1 -1
- package/dist/web/workspace/pair.txt +1 -1
- package/dist/web/workspace/remote/__next._full.txt +1 -1
- package/dist/web/workspace/remote/__next._head.txt +1 -1
- package/dist/web/workspace/remote/__next._index.txt +1 -1
- package/dist/web/workspace/remote/__next._tree.txt +1 -1
- package/dist/web/workspace/remote/__next.workspace.remote.__PAGE__.txt +1 -1
- package/dist/web/workspace/remote/__next.workspace.remote.txt +1 -1
- package/dist/web/workspace/remote/__next.workspace.txt +1 -1
- package/dist/web/workspace/remote.html +1 -1
- package/dist/web/workspace/remote.txt +1 -1
- package/dist/web/workspace/settings/__next._full.txt +1 -1
- package/dist/web/workspace/settings/__next._head.txt +1 -1
- package/dist/web/workspace/settings/__next._index.txt +1 -1
- package/dist/web/workspace/settings/__next._tree.txt +1 -1
- package/dist/web/workspace/settings/__next.workspace.settings.__PAGE__.txt +1 -1
- package/dist/web/workspace/settings/__next.workspace.settings.txt +1 -1
- package/dist/web/workspace/settings/__next.workspace.txt +1 -1
- package/dist/web/workspace/settings.html +1 -1
- package/dist/web/workspace/settings.txt +1 -1
- package/dist/web/workspace/terminal/default/__next._full.txt +1 -1
- package/dist/web/workspace/terminal/default/__next._head.txt +1 -1
- package/dist/web/workspace/terminal/default/__next._index.txt +1 -1
- package/dist/web/workspace/terminal/default/__next._tree.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.__PAGE__.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.txt +1 -1
- package/dist/web/workspace/terminal/default.html +1 -1
- package/dist/web/workspace/terminal/default.txt +1 -1
- package/dist/web/workspace/welcome/__next._full.txt +1 -1
- package/dist/web/workspace/welcome/__next._head.txt +1 -1
- package/dist/web/workspace/welcome/__next._index.txt +1 -1
- package/dist/web/workspace/welcome/__next._tree.txt +1 -1
- package/dist/web/workspace/welcome/__next.workspace.txt +1 -1
- package/dist/web/workspace/welcome/__next.workspace.welcome.__PAGE__.txt +1 -1
- package/dist/web/workspace/welcome/__next.workspace.welcome.txt +1 -1
- package/dist/web/workspace/welcome.html +1 -1
- package/dist/web/workspace/welcome.txt +1 -1
- package/dist/web/workspace/workspaces/__next._full.txt +1 -1
- package/dist/web/workspace/workspaces/__next._head.txt +1 -1
- package/dist/web/workspace/workspaces/__next._index.txt +1 -1
- package/dist/web/workspace/workspaces/__next._tree.txt +1 -1
- package/dist/web/workspace/workspaces/__next.workspace.txt +1 -1
- package/dist/web/workspace/workspaces/__next.workspace.workspaces.__PAGE__.txt +1 -1
- package/dist/web/workspace/workspaces/__next.workspace.workspaces.txt +1 -1
- package/dist/web/workspace/workspaces.html +1 -1
- package/dist/web/workspace/workspaces.txt +1 -1
- package/dist/web/workspace.html +1 -1
- package/dist/web/workspace.txt +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/index-C_lQRNIZ.js +0 -8
- /package/dist/web/_next/static/{ITbZGdTwGNGLSLeCfLywp → i311IptpwHw7-DoFsaASO}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{ITbZGdTwGNGLSLeCfLywp → i311IptpwHw7-DoFsaASO}/_ssgManifest.js +0 -0
package/dist/web/download.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" class="scroll-smooth scroll-pt-20"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, interactive-widget=resizes-content"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/icon-192.png"/><link rel="stylesheet" href="/_next/static/css/15730e9f7c5c55ef.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/316b0ddc7b4a58b9.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-31691f9bc04b8076.js"/><script src="/_next/static/chunks/87c73c54-e11922cda838f8cc.js" async=""></script><script src="/_next/static/chunks/1968-90d80a8543ed4f21.js" async=""></script><script src="/_next/static/chunks/main-app-72391b47e9393c1b.js" async=""></script><script src="/_next/static/chunks/6221-2be9b41ee97fc1e6.js" async=""></script><script src="/_next/static/chunks/9121-de912622f0c3477f.js" async=""></script><script src="/_next/static/chunks/app/layout-a65a70a4500177c7.js" async=""></script><script src="/_next/static/chunks/5587-b8f18d331fdde617.js" async=""></script><script src="/_next/static/chunks/1772-6cecc4aa50d11a9a.js" async=""></script><script src="/_next/static/chunks/1920-64e4610715fd991d.js" async=""></script><script src="/_next/static/chunks/app/download/page-e27de0a4170f4b73.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0&display=block" as="style"/><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-8XXG61NY56" as="script"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#121212"/><title>Download 9Remote — macOS & Windows</title><meta name="description" content="Download the 9Remote host app for macOS (.dmg) and Windows (.exe, installer or portable). Every version, direct from GitHub releases."/><meta name="application-name" content="9Remote Terminal"/><link rel="manifest" href="/manifest.json"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="9Remote"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/icon-192.png" sizes="192x192" type="image/png"/><link rel="icon" href="/icon-512.png" sizes="512x512" type="image/png"/><link rel="apple-touch-icon" href="/icon-192.png" sizes="192x192" type="image/png"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0&display=block"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_8eaea4 __variable_8c25df antialiased"><div hidden=""><!--$--><!--/$--></div><script id="legacy-safari-polyfill">(function(){var A=Array.prototype,S=String.prototype;if(!A.at){A.at=function(n){var l=this.length>>>0;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this[n];};}if(!S.at){S.at=function(n){var l=this.length;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this.charAt(n);};}if(!Object.hasOwn){Object.hasOwn=function(o,k){return Object.prototype.hasOwnProperty.call(o,k);};}if(!A.findLast){A.findLast=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return this[i];}};}if(!A.findLastIndex){A.findLastIndex=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return i;}return -1;};}var c=typeof globalThis!=="undefined"?globalThis.crypto:null;if(c&&!c.randomUUID){c.randomUUID=function(){return "10000000-1000-4000-8000-100000000000".replace(/[018]/g,function(ch){var n=Number(ch);return(n^(Math.random()*16&15)>>n/4).toString(16);});};}})();</script><script id="expo-redirect">(function(){try{if(location.hostname==="dev.9remote.cc"&&(window.ReactNativeWebView||/9Remote-Mobile/i.test(navigator.userAgent))){location.replace("https://9remote.cc"+location.pathname+location.search+location.hash);}}catch(e){}})();</script><script id="theme-init">(function(){try{var t=localStorage.getItem("app_theme_v2")||"dark";document.documentElement.classList.add(t);}catch(e){document.documentElement.classList.add("dark");}})();</script><script id="safe-area-bridge">window.handleSafeAreaInset=function(top,left,right,bottom){try{var d=document.documentElement.style;d.setProperty("--pl-top",Math.max(top||0,0)+"px");d.setProperty("--pl-left",Math.max(left||0,0)+"px");d.setProperty("--pl-right",Math.max(right||0,0)+"px");d.setProperty("--pl-bottom",Math.max(bottom||0,0)+"px");}catch(e){}};</script><script id="app-height">(function(){var r=document.documentElement;function u(){var v=window.visualViewport;r.style.setProperty("--app-height",((v&&v.height)||window.innerHeight)+"px");}u();if(window.visualViewport){window.visualViewport.addEventListener("resize",u);window.visualViewport.addEventListener("scroll",u);}window.addEventListener("resize",u);window.addEventListener("orientationchange",u);})();</script><script id="sw-register">if('serviceWorker' in navigator){window.addEventListener('load',function(){navigator.serviceWorker.register('/sw.js').catch(function(e){console.log('SW registration failed:',e);});});}</script><div class="min-h-screen overflow-x-hidden safe-area-insets" style="color:var(--color-text)"><div class="fixed inset-0 -z-10 overflow-hidden pointer-events-none landing-bg"><div class="absolute inset-0 landing-icons"></div><div class="absolute inset-0 landing-vignette"></div></div><div class="landing-light" aria-hidden="true"></div><nav class="fixed top-0 left-0 right-0 z-50 transition-all duration-300" style="background:transparent;backdrop-filter:none;border-bottom:1px solid transparent"><div class="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between"><a class="flex items-center gap-3 group" href="/"><img src="/icon-192.png" alt="9Remote Logo" class="w-8 h-8 rounded-lg object-contain shadow-md shadow-brand-500/20"/><span class="text-xl font-bold tracking-tight" style="color:var(--color-text)">9Remote</span><span class="px-2 py-0.5 text-xs font-mono font-medium rounded-full bg-brand-500/10 text-brand-400 border border-brand-500/20">v<!-- -->2.4.0</span></a><div class="hidden md:flex items-center gap-7"><a href="#features" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>Features</span></a><a href="#security" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>Security</span></a><a href="#how-it-works" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>How It Works</span></a><a href="https://docs.9remote.cc/" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>Docs</span></a><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>GitHub</span></a></div><div class="hidden md:flex items-center gap-3"><button type="button" aria-label="Switch to light theme" title="Light mode" class="p-1.5 rounded-brand transition-colors text-[var(--color-text-muted)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-2)] "><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"></path></svg></button><a class="px-4 py-2 rounded-lg font-semibold text-sm border transition-transform hover:scale-[1.03]" style="background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)" href="/download"><span>Download Host</span></a><a class="btn-cta px-5 py-2 rounded-lg font-semibold text-sm transition-transform hover:scale-[1.03]" style="background:var(--color-text);color:var(--color-bg)" href="/login"><span>Remote</span></a></div><div class="md:hidden flex items-center gap-1.5"><button type="button" aria-label="Switch to light theme" title="Light mode" class="p-1.5 rounded-brand transition-colors text-[var(--color-text-muted)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-2)] "><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"></path></svg></button><button class="p-2" style="color:var(--color-text)"><svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div></div></nav><main class="relative z-10 pt-28 pb-24 px-4 sm:px-6 lg:px-8"><div class="max-w-5xl mx-auto"><div class="text-center mb-12"><h1 class="text-3xl sm:text-4xl lg:text-5xl font-bold mb-3" style="color:var(--color-text)">Download 9Remote</h1><p class="text-base sm:text-lg max-w-xl mx-auto" style="color:var(--color-text-muted)">The host app serves your terminals, screen and files. Install it on the machine you leave running.</p></div><div class="grid grid-cols-1 sm:grid-cols-3 gap-3 mb-4"><div class="p-5 rounded-2xl border flex flex-col transition-all duration-300 hover:-translate-y-0.5" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">macOS</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Universal · Intel + Apple silicon</p><div class="mt-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.31/9Remote-macos-universal.dmg" class="flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg text-[13px] font-semibold border transition-transform hover:scale-[1.02] whitespace-nowrap" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Download <!-- -->.dmg<svg class="w-3.5 h-3.5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"></path></svg></a></div></div><div class="p-5 rounded-2xl border flex flex-col transition-all duration-300 hover:-translate-y-0.5" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">Windows</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Installer · x64</p><div class="mt-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.31/9Remote-windows-x64-setup.exe" class="flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg text-[13px] font-semibold border transition-transform hover:scale-[1.02] whitespace-nowrap" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Download <!-- -->.exe<svg class="w-3.5 h-3.5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"></path></svg></a></div></div><div class="p-5 rounded-2xl border flex flex-col transition-all duration-300 hover:-translate-y-0.5" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">Windows</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Portable · no install</p><div class="mt-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.31/9Remote-windows-x64-portable.exe" class="flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg text-[13px] font-semibold border transition-transform hover:scale-[1.02] whitespace-nowrap" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Download <!-- -->.exe<svg class="w-3.5 h-3.5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"></path></svg></a></div></div></div><div class="p-5 rounded-2xl border mb-16" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex flex-wrap items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">Linux</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Debian/Ubuntu (.deb) or any distro via AppImage (arm64). x64 AppImage: use the CLI <code>npm i -g 9remote</code>.</p><div class="flex flex-wrap gap-2"><a href="https://github.com/decolua/9remote/releases/download/v3.0.30/9Remote-linux-amd64.deb" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">deb · x64</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.30/9Remote-linux-arm64.deb" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">deb · arm64</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.30/9Remote-linux-arm64.AppImage" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">AppImage · arm64</a></div></div><section class="mb-16"><h2 class="text-[11px] font-mono uppercase tracking-[0.12em] pb-2.5 mb-1 border-b" style="color:var(--color-text-subtle);border-color:var(--color-border)">Older versions</h2><div class="flex flex-wrap items-center gap-x-4 gap-y-2 py-3.5 border-b" style="border-color:var(--color-border)"><span class="text-sm font-bold font-mono" style="color:var(--color-text)">v3.0.3</span><span class="text-xs" style="color:var(--color-text-subtle)">Sep 21, 2026</span><div class="flex flex-wrap gap-2 ml-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.3/9Remote-macos-universal.dmg" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">macOS</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.3/9Remote-windows-x64-setup.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win setup</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.3/9Remote-windows-x64-portable.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win portable</a></div></div><div class="flex flex-wrap items-center gap-x-4 gap-y-2 py-3.5 border-b" style="border-color:var(--color-border)"><span class="text-sm font-bold font-mono" style="color:var(--color-text)">v3.0.0</span><span class="text-xs" style="color:var(--color-text-subtle)">Sep 20, 2026</span><div class="flex flex-wrap gap-2 ml-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.0/9Remote-macos-universal.dmg" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">macOS</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.0/9Remote-windows-x64-setup.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win setup</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.0/9Remote-windows-x64-portable.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win portable</a></div></div><div class="flex flex-wrap items-center gap-x-4 gap-y-2 py-3.5 border-b" style="border-color:var(--color-border)"><span class="text-sm font-bold font-mono" style="color:var(--color-text)">v3.5.9</span><span class="text-xs" style="color:var(--color-text-subtle)">Sep 15, 2026</span><div class="flex flex-wrap gap-2 ml-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.5.9/9Remote-macos-universal.dmg" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">macOS</a><a href="https://github.com/decolua/9remote/releases/download/v3.5.9/9Remote-windows-x64-setup.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win setup</a><a href="https://github.com/decolua/9remote/releases/download/v3.5.9/9Remote-windows-x64-portable.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win portable</a></div></div></section><section class="text-center"><h2 class="text-lg font-bold mb-2" style="color:var(--color-text)">On a phone or tablet?</h2><p class="text-sm mb-4" style="color:var(--color-text-muted)">9Remote is a client on mobile — pair it with a host using the QR code.</p><div class="flex flex-wrap justify-center gap-3"><a href="https://apps.apple.com/us/app/9remote/id6796664210" target="_blank" rel="noopener noreferrer" class="text-sm font-semibold px-4 py-2 rounded-lg border" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">App Store</a><a href="https://play.google.com/store/apps/details?id=cc.remote9.app&pli=1" target="_blank" rel="noopener noreferrer" class="text-sm font-semibold px-4 py-2 rounded-lg border" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Google Play</a><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-sm font-semibold px-4 py-2 rounded-lg border" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">All releases on GitHub</a></div></section></div></main><footer class="relative py-14 px-4 sm:px-6 lg:px-8 border-t" style="background:var(--color-bg);border-color:var(--color-border)"><div class="max-w-7xl mx-auto"><div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8"><div class="col-span-1 md:col-span-2"><div class="flex items-center gap-3 mb-4"><img src="/icon-192.png" alt="9Remote Logo" class="w-9 h-9 rounded-lg object-contain shadow-md shadow-brand-500/20"/><h3 class="text-xl font-bold" style="color:var(--color-text)">9Remote</h3></div><p class="text-sm max-w-md mb-4" style="color:var(--color-text-muted)">Remote everything, everywhere. Remote IDE, 60fps desktop, files, emulator & vibe coding on any screen.</p><p class="text-xs" style="color:var(--color-text-subtle)">© <!-- -->2026<!-- --> 9Remote. All rights reserved.<span class="ml-2">v<!-- -->2.4.0</span></p></div><div><h4 class="font-semibold mb-4 text-sm" style="color:var(--color-text)">Product</h4><ul class="space-y-2"><li><a class="text-sm transition-colors" style="color:var(--color-text-muted)" href="/login">Remote</a></li><li><a class="text-sm transition-colors" style="color:var(--color-text-muted)" href="/workspace">Terminal</a></li><li><a class="text-sm transition-colors" style="color:var(--color-text-muted)" href="/remote">Remote Desktop</a></li><li><a href="https://apps.apple.com/us/app/9remote/id6796664210" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">iOS (App Store)</a></li><li><a href="https://play.google.com/store/apps/details?id=cc.remote9.app&pli=1" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">Android (Google Play)</a></li></ul></div><div><h4 class="font-semibold mb-4 text-sm" style="color:var(--color-text)">Resources</h4><ul class="space-y-2"><li><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">GitHub</a></li><li><a href="https://www.npmjs.com/package/9remote" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">NPM</a></li><li><a href="https://docs.9remote.cc/" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">Documentation</a></li><li><a href="https://www.facebook.com/groups/9teamvn" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">Community</a></li></ul></div></div><div class="pt-8 flex flex-col sm:flex-row justify-between items-center gap-4 border-t" style="border-color:var(--color-border)"><p class="text-xs" style="color:var(--color-text-subtle)">Built with Next.js, Socket.io, and Cloudflare Workers</p><div class="flex gap-6"><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-xs transition-colors" style="color:var(--color-text-subtle)">GitHub</a><a href="https://www.npmjs.com/package/9remote" target="_blank" rel="noopener noreferrer" class="text-xs transition-colors" style="color:var(--color-text-subtle)">NPM</a><a href="https://docs.9remote.cc/" target="_blank" rel="noopener noreferrer" class="text-xs transition-colors" style="color:var(--color-text-subtle)">Documentation</a></div></div></div></footer></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-31691f9bc04b8076.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[88654,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"default\"]\n3:I[38118,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"ThemeProvider\"]\n4:I[99630,[],\"\"]\n5:I[1380,[],\"\"]\ne:I[15718,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/15730e9f7c5c55ef.css\",\"style\"]\n:HL[\"/_next/static/css/316b0ddc7b4a58b9.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0\u0026display=block\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"download\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"download\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/15730e9f7c5c55ef.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/316b0ddc7b4a58b9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"scroll-smooth scroll-pt-20\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0\u0026display=block\"}]}],[\"$\",\"body\",null,{\"className\":\"__variable_8eaea4 __variable_8c25df antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"id\":\"legacy-safari-polyfill\",\"html\":\"(function(){var A=Array.prototype,S=String.prototype;if(!A.at){A.at=function(n){var l=this.length\u003e\u003e\u003e0;n=Math.trunc(n)||0;if(n\u003c0)n+=l;return n\u003c0||n\u003e=l?void 0:this[n];};}if(!S.at){S.at=function(n){var l=this.length;n=Math.trunc(n)||0;if(n\u003c0)n+=l;return n\u003c0||n\u003e=l?void 0:this.charAt(n);};}if(!Object.hasOwn){Object.hasOwn=function(o,k){return Object.prototype.hasOwnProperty.call(o,k);};}if(!A.findLast){A.findLast=function(cb,t){for(var i=this.length-1;i\u003e=0;i--){if(cb.call(t,this[i],i,this))return this[i];}};}if(!A.findLastIndex){A.findLastIndex=function(cb,t){for(var i=this.length-1;i\u003e=0;i--){if(cb.call(t,this[i],i,this))return i;}return -1;};}var c=typeof globalThis!==\\\"undefined\\\"?globalThis.crypto:null;if(c\u0026\u0026!c.randomUUID){c.randomUUID=function(){return \\\"10000000-1000-4000-8000-100000000000\\\".replace(/[018]/g,function(ch){var n=Number(ch);return(n^(Math.random()*16\u002615)\u003e\u003en/4).toString(16);});};}})();\"}],[\"$\",\"$L2\",null,{\"id\":\"expo-redirect\",\"html\":\"(function(){try{if(location.hostname===\\\"dev.9remote.cc\\\"\u0026\u0026(window.ReactNativeWebView||/9Remote-Mobile/i.test(navigator.userAgent))){location.replace(\\\"https://9remote.cc\\\"+location.pathname+location.search+location.hash);}}catch(e){}})();\"}],[\"$\",\"$L2\",null,{\"id\":\"theme-init\",\"html\":\"(function(){try{var t=localStorage.getItem(\\\"app_theme_v2\\\")||\\\"dark\\\";document.documentElement.classList.add(t);}catch(e){document.documentElement.classList.add(\\\"dark\\\");}})();\"}],[\"$\",\"$L2\",null,{\"id\":\"safe-area-bridge\",\"html\":\"window.handleSafeAreaInset=function(top,left,right,bottom){try{var d=document.documentElement.style;d.setProperty(\\\"--pl-top\\\",Math.max(top||0,0)+\\\"px\\\");d.setProperty(\\\"--pl-left\\\",Math.max(left||0,0)+\\\"px\\\");d.setProperty(\\\"--pl-right\\\",Math.max(right||0,0)+\\\"px\\\");d.setProperty(\\\"--pl-bottom\\\",Math.max(bottom||0,0)+\\\"px\\\");}catch(e){}};\"}],[\"$\",\"$L2\",null,{\"id\":\"app-height\",\"html\":\"(function(){var r=document.documentElement;function u(){var v=window.visualViewport;r.style.setProperty(\\\"--app-height\\\",((v\u0026\u0026v.height)||window.innerHeight)+\\\"px\\\");}u();if(window.visualViewport){window.visualViewport.addEventListener(\\\"resize\\\",u);window.visualViewport.addEventListener(\\\"scroll\\\",u);}window.addEventListener(\\\"resize\\\",u);window.addEventListener(\\\"orientationchange\\\",u);})();\"}],[\"$\",\"$L2\",null,{\"id\":\"sw-register\",\"html\":\"if('serviceWorker' in navigator){window.addEventListener('load',function(){navigator.serviceWorker.register('/sw.js').catch(function(e){console.log('SW registration failed:',e);});});}\"}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":\"$L6\"}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$L7\",\"$L8\",\"$L9\"]}]]}]]}],{\"children\":[\"$La\",{\"children\":[\"$Lb\",{},null,false,null]},null,false,\"$@c\"]},null,false,null],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ITbZGdTwGNGLSLeCfLywp\"}\n"])</script><script>self.__next_f.push([1,"f:I[36629,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"default\"]\n10:I[82355,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"default\"]\n11:I[5092,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"GoogleAnalytics\"]\n12:I[36284,[\"5587\",\"static/chunks/5587-b8f18d331fdde617.js\",\"1772\",\"static/chunks/1772-6cecc4aa50d11a9a.js\",\"1920\",\"static/chunks/1920-64e4610715fd991d.js\",\"2351\",\"static/chunks/app/download/page-e27de0a4170f4b73.js\"],\"default\"]\n13:I[30887,[],\"OutletBoundary\"]\n14:\"$Sreact.suspense\"\n17:I[30887,[],\"ViewportBoundary\"]\n19:I[30887,[],\"MetadataBoundary\"]\n6:[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]\n7:[\"$\",\"$Lf\",null,{}]\n8:[\"$\",\"$L10\",null,{}]\n9:[\"$\",\"$L11\",null,{\"gaId\":\"G-8XXG61NY56\"}]\na:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L12\",null,{}],null,[\"$\",\"$L13\",null,{\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@15\"}]}]]}]\n16:[]\nc:\"$W16\"\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L17\",null,{\"children\":\"$L18\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L19\",null,{\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"18:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, interactive-widget=resizes-content\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#121212\"}]]\n"])</script><script>self.__next_f.push([1,"1b:I[60214,[],\"IconMark\"]\n15:null\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"Download 9Remote — macOS \u0026 Windows\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Download the 9Remote host app for macOS (.dmg) and Windows (.exe, installer or portable). Every version, direct from GitHub releases.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"9Remote Terminal\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"9Remote\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/icon-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/icon-512.png\",\"sizes\":\"512x512\",\"type\":\"image/png\"}],[\"$\",\"link\",\"10\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icon-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"$L1b\",\"11\",{}]]\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><html lang="en" class="scroll-smooth scroll-pt-20"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, interactive-widget=resizes-content"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/icon-192.png"/><link rel="stylesheet" href="/_next/static/css/15730e9f7c5c55ef.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/316b0ddc7b4a58b9.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-31691f9bc04b8076.js"/><script src="/_next/static/chunks/87c73c54-e11922cda838f8cc.js" async=""></script><script src="/_next/static/chunks/1968-90d80a8543ed4f21.js" async=""></script><script src="/_next/static/chunks/main-app-72391b47e9393c1b.js" async=""></script><script src="/_next/static/chunks/6221-2be9b41ee97fc1e6.js" async=""></script><script src="/_next/static/chunks/9121-de912622f0c3477f.js" async=""></script><script src="/_next/static/chunks/app/layout-a65a70a4500177c7.js" async=""></script><script src="/_next/static/chunks/5587-b8f18d331fdde617.js" async=""></script><script src="/_next/static/chunks/1772-6cecc4aa50d11a9a.js" async=""></script><script src="/_next/static/chunks/1920-64e4610715fd991d.js" async=""></script><script src="/_next/static/chunks/app/download/page-e27de0a4170f4b73.js" async=""></script><link rel="preload" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0&display=block" as="style"/><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-8XXG61NY56" as="script"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#121212"/><title>Download 9Remote — macOS & Windows</title><meta name="description" content="Download the 9Remote host app for macOS (.dmg) and Windows (.exe, installer or portable). Every version, direct from GitHub releases."/><meta name="application-name" content="9Remote Terminal"/><link rel="manifest" href="/manifest.json"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="9Remote"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><link rel="icon" href="/favicon.ico" sizes="any"/><link rel="icon" href="/icon-192.png" sizes="192x192" type="image/png"/><link rel="icon" href="/icon-512.png" sizes="512x512" type="image/png"/><link rel="apple-touch-icon" href="/icon-192.png" sizes="192x192" type="image/png"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0&display=block"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_8eaea4 __variable_8c25df antialiased"><div hidden=""><!--$--><!--/$--></div><script id="legacy-safari-polyfill">(function(){var A=Array.prototype,S=String.prototype;if(!A.at){A.at=function(n){var l=this.length>>>0;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this[n];};}if(!S.at){S.at=function(n){var l=this.length;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this.charAt(n);};}if(!Object.hasOwn){Object.hasOwn=function(o,k){return Object.prototype.hasOwnProperty.call(o,k);};}if(!A.findLast){A.findLast=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return this[i];}};}if(!A.findLastIndex){A.findLastIndex=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return i;}return -1;};}var c=typeof globalThis!=="undefined"?globalThis.crypto:null;if(c&&!c.randomUUID){c.randomUUID=function(){return "10000000-1000-4000-8000-100000000000".replace(/[018]/g,function(ch){var n=Number(ch);return(n^(Math.random()*16&15)>>n/4).toString(16);});};}})();</script><script id="expo-redirect">(function(){try{if(location.hostname==="dev.9remote.cc"&&(window.ReactNativeWebView||/9Remote-Mobile/i.test(navigator.userAgent))){location.replace("https://9remote.cc"+location.pathname+location.search+location.hash);}}catch(e){}})();</script><script id="theme-init">(function(){try{var t=localStorage.getItem("app_theme_v2")||"dark";document.documentElement.classList.add(t);}catch(e){document.documentElement.classList.add("dark");}})();</script><script id="safe-area-bridge">window.handleSafeAreaInset=function(top,left,right,bottom){try{var d=document.documentElement.style;d.setProperty("--pl-top",Math.max(top||0,0)+"px");d.setProperty("--pl-left",Math.max(left||0,0)+"px");d.setProperty("--pl-right",Math.max(right||0,0)+"px");d.setProperty("--pl-bottom",Math.max(bottom||0,0)+"px");}catch(e){}};</script><script id="app-height">(function(){var r=document.documentElement;function u(){var v=window.visualViewport;r.style.setProperty("--app-height",((v&&v.height)||window.innerHeight)+"px");}u();if(window.visualViewport){window.visualViewport.addEventListener("resize",u);window.visualViewport.addEventListener("scroll",u);}window.addEventListener("resize",u);window.addEventListener("orientationchange",u);})();</script><script id="sw-register">if('serviceWorker' in navigator){window.addEventListener('load',function(){navigator.serviceWorker.register('/sw.js').catch(function(e){console.log('SW registration failed:',e);});});}</script><div class="min-h-screen overflow-x-hidden safe-area-insets" style="color:var(--color-text)"><div class="fixed inset-0 -z-10 overflow-hidden pointer-events-none landing-bg"><div class="absolute inset-0 landing-icons"></div><div class="absolute inset-0 landing-vignette"></div></div><div class="landing-light" aria-hidden="true"></div><nav class="fixed top-0 left-0 right-0 z-50 transition-all duration-300" style="background:transparent;backdrop-filter:none;border-bottom:1px solid transparent"><div class="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between"><a class="flex items-center gap-3 group" href="/"><img src="/icon-192.png" alt="9Remote Logo" class="w-8 h-8 rounded-lg object-contain shadow-md shadow-brand-500/20"/><span class="text-xl font-bold tracking-tight" style="color:var(--color-text)">9Remote</span><span class="px-2 py-0.5 text-xs font-mono font-medium rounded-full bg-brand-500/10 text-brand-400 border border-brand-500/20">v<!-- -->2.4.0</span></a><div class="hidden md:flex items-center gap-7"><a href="#features" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>Features</span></a><a href="#security" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>Security</span></a><a href="#how-it-works" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>How It Works</span></a><a href="https://docs.9remote.cc/" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>Docs</span></a><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors flex items-center gap-1.5" style="color:var(--color-text-muted)"><span>GitHub</span></a></div><div class="hidden md:flex items-center gap-3"><button type="button" aria-label="Switch to light theme" title="Light mode" class="p-1.5 rounded-brand transition-colors text-[var(--color-text-muted)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-2)] "><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"></path></svg></button><a class="px-4 py-2 rounded-lg font-semibold text-sm border transition-transform hover:scale-[1.03]" style="background:var(--color-surface-2);border-color:var(--color-border);color:var(--color-text)" href="/download"><span>Download Host</span></a><a class="btn-cta px-5 py-2 rounded-lg font-semibold text-sm transition-transform hover:scale-[1.03]" style="background:var(--color-text);color:var(--color-bg)" href="/login"><span>Remote</span></a></div><div class="md:hidden flex items-center gap-1.5"><button type="button" aria-label="Switch to light theme" title="Light mode" class="p-1.5 rounded-brand transition-colors text-[var(--color-text-muted)] hover:text-[var(--color-text)] hover:bg-[var(--color-surface-2)] "><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"></path></svg></button><button class="p-2" style="color:var(--color-text)"><svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div></div></nav><main class="relative z-10 pt-28 pb-24 px-4 sm:px-6 lg:px-8"><div class="max-w-5xl mx-auto"><div class="text-center mb-12"><h1 class="text-3xl sm:text-4xl lg:text-5xl font-bold mb-3" style="color:var(--color-text)">Download 9Remote</h1><p class="text-base sm:text-lg max-w-xl mx-auto" style="color:var(--color-text-muted)">The host app serves your terminals, screen and files. Install it on the machine you leave running.</p></div><div class="grid grid-cols-1 sm:grid-cols-3 gap-3 mb-4"><div class="p-5 rounded-2xl border flex flex-col transition-all duration-300 hover:-translate-y-0.5" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">macOS</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Universal · Intel + Apple silicon</p><div class="mt-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.31/9Remote-macos-universal.dmg" class="flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg text-[13px] font-semibold border transition-transform hover:scale-[1.02] whitespace-nowrap" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Download <!-- -->.dmg<svg class="w-3.5 h-3.5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"></path></svg></a></div></div><div class="p-5 rounded-2xl border flex flex-col transition-all duration-300 hover:-translate-y-0.5" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">Windows</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Installer · x64</p><div class="mt-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.31/9Remote-windows-x64-setup.exe" class="flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg text-[13px] font-semibold border transition-transform hover:scale-[1.02] whitespace-nowrap" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Download <!-- -->.exe<svg class="w-3.5 h-3.5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"></path></svg></a></div></div><div class="p-5 rounded-2xl border flex flex-col transition-all duration-300 hover:-translate-y-0.5" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">Windows</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Portable · no install</p><div class="mt-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.31/9Remote-windows-x64-portable.exe" class="flex items-center justify-center gap-2 px-4 py-2.5 rounded-lg text-[13px] font-semibold border transition-transform hover:scale-[1.02] whitespace-nowrap" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Download <!-- -->.exe<svg class="w-3.5 h-3.5 flex-shrink-0" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 3v12m0 0l-4-4m4 4l4-4M4 21h16"></path></svg></a></div></div></div><div class="p-5 rounded-2xl border mb-16" style="background:var(--color-surface);border-color:var(--color-border)"><div class="flex flex-wrap items-center gap-2 mb-2"><span class="text-base font-bold" style="color:var(--color-text)">Linux</span><span class="text-[10px] font-mono px-1.5 py-0.5 rounded border" style="border-color:var(--color-border);color:var(--color-text-subtle)">v3.0.31</span></div><p class="text-xs mb-4" style="color:var(--color-text-muted)">Debian/Ubuntu (.deb) or any distro via AppImage (arm64). x64 AppImage: use the CLI <code>npm i -g 9remote</code>.</p><div class="flex flex-wrap gap-2"><a href="https://github.com/decolua/9remote/releases/download/v3.0.30/9Remote-linux-amd64.deb" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">deb · x64</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.30/9Remote-linux-arm64.deb" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">deb · arm64</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.30/9Remote-linux-arm64.AppImage" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">AppImage · arm64</a></div></div><section class="mb-16"><h2 class="text-[11px] font-mono uppercase tracking-[0.12em] pb-2.5 mb-1 border-b" style="color:var(--color-text-subtle);border-color:var(--color-border)">Older versions</h2><div class="flex flex-wrap items-center gap-x-4 gap-y-2 py-3.5 border-b" style="border-color:var(--color-border)"><span class="text-sm font-bold font-mono" style="color:var(--color-text)">v3.0.3</span><span class="text-xs" style="color:var(--color-text-subtle)">Sep 21, 2026</span><div class="flex flex-wrap gap-2 ml-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.3/9Remote-macos-universal.dmg" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">macOS</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.3/9Remote-windows-x64-setup.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win setup</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.3/9Remote-windows-x64-portable.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win portable</a></div></div><div class="flex flex-wrap items-center gap-x-4 gap-y-2 py-3.5 border-b" style="border-color:var(--color-border)"><span class="text-sm font-bold font-mono" style="color:var(--color-text)">v3.0.0</span><span class="text-xs" style="color:var(--color-text-subtle)">Sep 20, 2026</span><div class="flex flex-wrap gap-2 ml-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.0.0/9Remote-macos-universal.dmg" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">macOS</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.0/9Remote-windows-x64-setup.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win setup</a><a href="https://github.com/decolua/9remote/releases/download/v3.0.0/9Remote-windows-x64-portable.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win portable</a></div></div><div class="flex flex-wrap items-center gap-x-4 gap-y-2 py-3.5 border-b" style="border-color:var(--color-border)"><span class="text-sm font-bold font-mono" style="color:var(--color-text)">v3.5.9</span><span class="text-xs" style="color:var(--color-text-subtle)">Sep 15, 2026</span><div class="flex flex-wrap gap-2 ml-auto"><a href="https://github.com/decolua/9remote/releases/download/v3.5.9/9Remote-macos-universal.dmg" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">macOS</a><a href="https://github.com/decolua/9remote/releases/download/v3.5.9/9Remote-windows-x64-setup.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win setup</a><a href="https://github.com/decolua/9remote/releases/download/v3.5.9/9Remote-windows-x64-portable.exe" class="text-xs font-medium px-3 py-1.5 rounded-lg border transition-colors" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">Win portable</a></div></div></section><section class="text-center"><h2 class="text-lg font-bold mb-2" style="color:var(--color-text)">On a phone or tablet?</h2><p class="text-sm mb-4" style="color:var(--color-text-muted)">9Remote is a client on mobile — pair it with a host using the QR code.</p><div class="flex flex-wrap justify-center gap-3"><a href="https://apps.apple.com/us/app/9remote/id6796664210" target="_blank" rel="noopener noreferrer" class="text-sm font-semibold px-4 py-2 rounded-lg border" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">App Store</a><a href="https://play.google.com/store/apps/details?id=cc.remote9.app&pli=1" target="_blank" rel="noopener noreferrer" class="text-sm font-semibold px-4 py-2 rounded-lg border" style="background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-border)">Google Play</a><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-sm font-semibold px-4 py-2 rounded-lg border" style="background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)">All releases on GitHub</a></div></section></div></main><footer class="relative py-14 px-4 sm:px-6 lg:px-8 border-t" style="background:var(--color-bg);border-color:var(--color-border)"><div class="max-w-7xl mx-auto"><div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8"><div class="col-span-1 md:col-span-2"><div class="flex items-center gap-3 mb-4"><img src="/icon-192.png" alt="9Remote Logo" class="w-9 h-9 rounded-lg object-contain shadow-md shadow-brand-500/20"/><h3 class="text-xl font-bold" style="color:var(--color-text)">9Remote</h3></div><p class="text-sm max-w-md mb-4" style="color:var(--color-text-muted)">Remote everything, everywhere. Remote IDE, 60fps desktop, files, emulator & vibe coding on any screen.</p><p class="text-xs" style="color:var(--color-text-subtle)">© <!-- -->2026<!-- --> 9Remote. All rights reserved.<span class="ml-2">v<!-- -->2.4.0</span></p></div><div><h4 class="font-semibold mb-4 text-sm" style="color:var(--color-text)">Product</h4><ul class="space-y-2"><li><a class="text-sm transition-colors" style="color:var(--color-text-muted)" href="/login">Remote</a></li><li><a class="text-sm transition-colors" style="color:var(--color-text-muted)" href="/workspace">Terminal</a></li><li><a class="text-sm transition-colors" style="color:var(--color-text-muted)" href="/remote">Remote Desktop</a></li><li><a href="https://apps.apple.com/us/app/9remote/id6796664210" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">iOS (App Store)</a></li><li><a href="https://play.google.com/store/apps/details?id=cc.remote9.app&pli=1" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">Android (Google Play)</a></li></ul></div><div><h4 class="font-semibold mb-4 text-sm" style="color:var(--color-text)">Resources</h4><ul class="space-y-2"><li><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">GitHub</a></li><li><a href="https://www.npmjs.com/package/9remote" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">NPM</a></li><li><a href="https://docs.9remote.cc/" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">Documentation</a></li><li><a href="https://www.facebook.com/groups/9teamvn" target="_blank" rel="noopener noreferrer" class="text-sm transition-colors" style="color:var(--color-text-muted)">Community</a></li></ul></div></div><div class="pt-8 flex flex-col sm:flex-row justify-between items-center gap-4 border-t" style="border-color:var(--color-border)"><p class="text-xs" style="color:var(--color-text-subtle)">Built with Next.js, Socket.io, and Cloudflare Workers</p><div class="flex gap-6"><a href="https://github.com/decolua/9remote" target="_blank" rel="noopener noreferrer" class="text-xs transition-colors" style="color:var(--color-text-subtle)">GitHub</a><a href="https://www.npmjs.com/package/9remote" target="_blank" rel="noopener noreferrer" class="text-xs transition-colors" style="color:var(--color-text-subtle)">NPM</a><a href="https://docs.9remote.cc/" target="_blank" rel="noopener noreferrer" class="text-xs transition-colors" style="color:var(--color-text-subtle)">Documentation</a></div></div></div></footer></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-31691f9bc04b8076.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[88654,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"default\"]\n3:I[38118,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"ThemeProvider\"]\n4:I[99630,[],\"\"]\n5:I[1380,[],\"\"]\ne:I[15718,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/15730e9f7c5c55ef.css\",\"style\"]\n:HL[\"/_next/static/css/316b0ddc7b4a58b9.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0\u0026display=block\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"download\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"download\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/15730e9f7c5c55ef.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/316b0ddc7b4a58b9.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"scroll-smooth scroll-pt-20\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"stylesheet\",\"href\":\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0\u0026display=block\"}]}],[\"$\",\"body\",null,{\"className\":\"__variable_8eaea4 __variable_8c25df antialiased\",\"children\":[[\"$\",\"$L2\",null,{\"id\":\"legacy-safari-polyfill\",\"html\":\"(function(){var A=Array.prototype,S=String.prototype;if(!A.at){A.at=function(n){var l=this.length\u003e\u003e\u003e0;n=Math.trunc(n)||0;if(n\u003c0)n+=l;return n\u003c0||n\u003e=l?void 0:this[n];};}if(!S.at){S.at=function(n){var l=this.length;n=Math.trunc(n)||0;if(n\u003c0)n+=l;return n\u003c0||n\u003e=l?void 0:this.charAt(n);};}if(!Object.hasOwn){Object.hasOwn=function(o,k){return Object.prototype.hasOwnProperty.call(o,k);};}if(!A.findLast){A.findLast=function(cb,t){for(var i=this.length-1;i\u003e=0;i--){if(cb.call(t,this[i],i,this))return this[i];}};}if(!A.findLastIndex){A.findLastIndex=function(cb,t){for(var i=this.length-1;i\u003e=0;i--){if(cb.call(t,this[i],i,this))return i;}return -1;};}var c=typeof globalThis!==\\\"undefined\\\"?globalThis.crypto:null;if(c\u0026\u0026!c.randomUUID){c.randomUUID=function(){return \\\"10000000-1000-4000-8000-100000000000\\\".replace(/[018]/g,function(ch){var n=Number(ch);return(n^(Math.random()*16\u002615)\u003e\u003en/4).toString(16);});};}})();\"}],[\"$\",\"$L2\",null,{\"id\":\"expo-redirect\",\"html\":\"(function(){try{if(location.hostname===\\\"dev.9remote.cc\\\"\u0026\u0026(window.ReactNativeWebView||/9Remote-Mobile/i.test(navigator.userAgent))){location.replace(\\\"https://9remote.cc\\\"+location.pathname+location.search+location.hash);}}catch(e){}})();\"}],[\"$\",\"$L2\",null,{\"id\":\"theme-init\",\"html\":\"(function(){try{var t=localStorage.getItem(\\\"app_theme_v2\\\")||\\\"dark\\\";document.documentElement.classList.add(t);}catch(e){document.documentElement.classList.add(\\\"dark\\\");}})();\"}],[\"$\",\"$L2\",null,{\"id\":\"safe-area-bridge\",\"html\":\"window.handleSafeAreaInset=function(top,left,right,bottom){try{var d=document.documentElement.style;d.setProperty(\\\"--pl-top\\\",Math.max(top||0,0)+\\\"px\\\");d.setProperty(\\\"--pl-left\\\",Math.max(left||0,0)+\\\"px\\\");d.setProperty(\\\"--pl-right\\\",Math.max(right||0,0)+\\\"px\\\");d.setProperty(\\\"--pl-bottom\\\",Math.max(bottom||0,0)+\\\"px\\\");}catch(e){}};\"}],[\"$\",\"$L2\",null,{\"id\":\"app-height\",\"html\":\"(function(){var r=document.documentElement;function u(){var v=window.visualViewport;r.style.setProperty(\\\"--app-height\\\",((v\u0026\u0026v.height)||window.innerHeight)+\\\"px\\\");}u();if(window.visualViewport){window.visualViewport.addEventListener(\\\"resize\\\",u);window.visualViewport.addEventListener(\\\"scroll\\\",u);}window.addEventListener(\\\"resize\\\",u);window.addEventListener(\\\"orientationchange\\\",u);})();\"}],[\"$\",\"$L2\",null,{\"id\":\"sw-register\",\"html\":\"if('serviceWorker' in navigator){window.addEventListener('load',function(){navigator.serviceWorker.register('/sw.js').catch(function(e){console.log('SW registration failed:',e);});});}\"}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":\"$L6\"}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$L7\",\"$L8\",\"$L9\"]}]]}]]}],{\"children\":[\"$La\",{\"children\":[\"$Lb\",{},null,false,null]},null,false,\"$@c\"]},null,false,null],\"$Ld\",false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"i311IptpwHw7-DoFsaASO\"}\n"])</script><script>self.__next_f.push([1,"f:I[36629,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"default\"]\n10:I[82355,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"default\"]\n11:I[5092,[\"6221\",\"static/chunks/6221-2be9b41ee97fc1e6.js\",\"9121\",\"static/chunks/9121-de912622f0c3477f.js\",\"7177\",\"static/chunks/app/layout-a65a70a4500177c7.js\"],\"GoogleAnalytics\"]\n12:I[36284,[\"5587\",\"static/chunks/5587-b8f18d331fdde617.js\",\"1772\",\"static/chunks/1772-6cecc4aa50d11a9a.js\",\"1920\",\"static/chunks/1920-64e4610715fd991d.js\",\"2351\",\"static/chunks/app/download/page-e27de0a4170f4b73.js\"],\"default\"]\n13:I[30887,[],\"OutletBoundary\"]\n14:\"$Sreact.suspense\"\n17:I[30887,[],\"ViewportBoundary\"]\n19:I[30887,[],\"MetadataBoundary\"]\n6:[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]\n7:[\"$\",\"$Lf\",null,{}]\n8:[\"$\",\"$L10\",null,{}]\n9:[\"$\",\"$L11\",null,{\"gaId\":\"G-8XXG61NY56\"}]\na:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\nb:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L12\",null,{}],null,[\"$\",\"$L13\",null,{\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@15\"}]}]]}]\n16:[]\nc:\"$W16\"\nd:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L17\",null,{\"children\":\"$L18\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L19\",null,{\"children\":[\"$\",\"$14\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L1a\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"18:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, interactive-widget=resizes-content\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#121212\"}]]\n"])</script><script>self.__next_f.push([1,"1b:I[60214,[],\"IconMark\"]\n15:null\n1a:[[\"$\",\"title\",\"0\",{\"children\":\"Download 9Remote — macOS \u0026 Windows\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Download the 9Remote host app for macOS (.dmg) and Windows (.exe, installer or portable). Every version, direct from GitHub releases.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"9Remote Terminal\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"9Remote\"}],[\"$\",\"meta\",\"6\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"black-translucent\"}],[\"$\",\"link\",\"7\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/icon-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"link\",\"9\",{\"rel\":\"icon\",\"href\":\"/icon-512.png\",\"sizes\":\"512x512\",\"type\":\"image/png\"}],[\"$\",\"link\",\"10\",{\"rel\":\"apple-touch-icon\",\"href\":\"/icon-192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"$L1b\",\"11\",{}]]\n"])</script></body></html>
|
package/dist/web/download.txt
CHANGED
|
@@ -9,7 +9,7 @@ e:I[15718,[],"default",1]
|
|
|
9
9
|
:HL["/_next/static/css/15730e9f7c5c55ef.css","style"]
|
|
10
10
|
:HL["/_next/static/css/316b0ddc7b4a58b9.css","style"]
|
|
11
11
|
:HL["https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0&display=block","style"]
|
|
12
|
-
0:{"P":null,"c":["","download"],"q":"","i":false,"f":[[["",{"children":["download",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/15730e9f7c5c55ef.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/316b0ddc7b4a58b9.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"scroll-smooth scroll-pt-20","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0&display=block"}]}],["$","body",null,{"className":"__variable_8eaea4 __variable_8c25df antialiased","children":[["$","$L2",null,{"id":"legacy-safari-polyfill","html":"(function(){var A=Array.prototype,S=String.prototype;if(!A.at){A.at=function(n){var l=this.length>>>0;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this[n];};}if(!S.at){S.at=function(n){var l=this.length;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this.charAt(n);};}if(!Object.hasOwn){Object.hasOwn=function(o,k){return Object.prototype.hasOwnProperty.call(o,k);};}if(!A.findLast){A.findLast=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return this[i];}};}if(!A.findLastIndex){A.findLastIndex=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return i;}return -1;};}var c=typeof globalThis!==\"undefined\"?globalThis.crypto:null;if(c&&!c.randomUUID){c.randomUUID=function(){return \"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,function(ch){var n=Number(ch);return(n^(Math.random()*16&15)>>n/4).toString(16);});};}})();"}],["$","$L2",null,{"id":"expo-redirect","html":"(function(){try{if(location.hostname===\"dev.9remote.cc\"&&(window.ReactNativeWebView||/9Remote-Mobile/i.test(navigator.userAgent))){location.replace(\"https://9remote.cc\"+location.pathname+location.search+location.hash);}}catch(e){}})();"}],["$","$L2",null,{"id":"theme-init","html":"(function(){try{var t=localStorage.getItem(\"app_theme_v2\")||\"dark\";document.documentElement.classList.add(t);}catch(e){document.documentElement.classList.add(\"dark\");}})();"}],["$","$L2",null,{"id":"safe-area-bridge","html":"window.handleSafeAreaInset=function(top,left,right,bottom){try{var d=document.documentElement.style;d.setProperty(\"--pl-top\",Math.max(top||0,0)+\"px\");d.setProperty(\"--pl-left\",Math.max(left||0,0)+\"px\");d.setProperty(\"--pl-right\",Math.max(right||0,0)+\"px\");d.setProperty(\"--pl-bottom\",Math.max(bottom||0,0)+\"px\");}catch(e){}};"}],["$","$L2",null,{"id":"app-height","html":"(function(){var r=document.documentElement;function u(){var v=window.visualViewport;r.style.setProperty(\"--app-height\",((v&&v.height)||window.innerHeight)+\"px\");}u();if(window.visualViewport){window.visualViewport.addEventListener(\"resize\",u);window.visualViewport.addEventListener(\"scroll\",u);}window.addEventListener(\"resize\",u);window.addEventListener(\"orientationchange\",u);})();"}],["$","$L2",null,{"id":"sw-register","html":"if('serviceWorker' in navigator){window.addEventListener('load',function(){navigator.serviceWorker.register('/sw.js').catch(function(e){console.log('SW registration failed:',e);});});}"}],["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":"$L6"}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],"$L7","$L8","$L9"]}]]}]]}],{"children":["$La",{"children":["$Lb",{},null,false,null]},null,false,"$@c"]},null,false,null],"$Ld",false]],"m":"$undefined","G":["$e",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"
|
|
12
|
+
0:{"P":null,"c":["","download"],"q":"","i":false,"f":[[["",{"children":["download",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/15730e9f7c5c55ef.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/316b0ddc7b4a58b9.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"scroll-smooth scroll-pt-20","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","link",null,{"rel":"stylesheet","href":"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,300..400,0..1,0&display=block"}]}],["$","body",null,{"className":"__variable_8eaea4 __variable_8c25df antialiased","children":[["$","$L2",null,{"id":"legacy-safari-polyfill","html":"(function(){var A=Array.prototype,S=String.prototype;if(!A.at){A.at=function(n){var l=this.length>>>0;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this[n];};}if(!S.at){S.at=function(n){var l=this.length;n=Math.trunc(n)||0;if(n<0)n+=l;return n<0||n>=l?void 0:this.charAt(n);};}if(!Object.hasOwn){Object.hasOwn=function(o,k){return Object.prototype.hasOwnProperty.call(o,k);};}if(!A.findLast){A.findLast=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return this[i];}};}if(!A.findLastIndex){A.findLastIndex=function(cb,t){for(var i=this.length-1;i>=0;i--){if(cb.call(t,this[i],i,this))return i;}return -1;};}var c=typeof globalThis!==\"undefined\"?globalThis.crypto:null;if(c&&!c.randomUUID){c.randomUUID=function(){return \"10000000-1000-4000-8000-100000000000\".replace(/[018]/g,function(ch){var n=Number(ch);return(n^(Math.random()*16&15)>>n/4).toString(16);});};}})();"}],["$","$L2",null,{"id":"expo-redirect","html":"(function(){try{if(location.hostname===\"dev.9remote.cc\"&&(window.ReactNativeWebView||/9Remote-Mobile/i.test(navigator.userAgent))){location.replace(\"https://9remote.cc\"+location.pathname+location.search+location.hash);}}catch(e){}})();"}],["$","$L2",null,{"id":"theme-init","html":"(function(){try{var t=localStorage.getItem(\"app_theme_v2\")||\"dark\";document.documentElement.classList.add(t);}catch(e){document.documentElement.classList.add(\"dark\");}})();"}],["$","$L2",null,{"id":"safe-area-bridge","html":"window.handleSafeAreaInset=function(top,left,right,bottom){try{var d=document.documentElement.style;d.setProperty(\"--pl-top\",Math.max(top||0,0)+\"px\");d.setProperty(\"--pl-left\",Math.max(left||0,0)+\"px\");d.setProperty(\"--pl-right\",Math.max(right||0,0)+\"px\");d.setProperty(\"--pl-bottom\",Math.max(bottom||0,0)+\"px\");}catch(e){}};"}],["$","$L2",null,{"id":"app-height","html":"(function(){var r=document.documentElement;function u(){var v=window.visualViewport;r.style.setProperty(\"--app-height\",((v&&v.height)||window.innerHeight)+\"px\");}u();if(window.visualViewport){window.visualViewport.addEventListener(\"resize\",u);window.visualViewport.addEventListener(\"scroll\",u);}window.addEventListener(\"resize\",u);window.addEventListener(\"orientationchange\",u);})();"}],["$","$L2",null,{"id":"sw-register","html":"if('serviceWorker' in navigator){window.addEventListener('load',function(){navigator.serviceWorker.register('/sw.js').catch(function(e){console.log('SW registration failed:',e);});});}"}],["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":"$L6"}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],"$L7","$L8","$L9"]}]]}]]}],{"children":["$La",{"children":["$Lb",{},null,false,null]},null,false,"$@c"]},null,false,null],"$Ld",false]],"m":"$undefined","G":["$e",[]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"i311IptpwHw7-DoFsaASO"}
|
|
13
13
|
f:I[36629,["6221","static/chunks/6221-2be9b41ee97fc1e6.js","9121","static/chunks/9121-de912622f0c3477f.js","7177","static/chunks/app/layout-a65a70a4500177c7.js"],"default"]
|
|
14
14
|
10:I[82355,["6221","static/chunks/6221-2be9b41ee97fc1e6.js","9121","static/chunks/9121-de912622f0c3477f.js","7177","static/chunks/app/layout-a65a70a4500177c7.js"],"default"]
|
|
15
15
|
11:I[5092,["6221","static/chunks/6221-2be9b41ee97fc1e6.js","9121","static/chunks/9121-de912622f0c3477f.js","7177","static/chunks/app/layout-a65a70a4500177c7.js"],"GoogleAnalytics"]
|