9remote 3.0.50 → 3.0.52
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 +5 -5
- package/dist/ui/assets/index-BgdHbxnD.js +8 -0
- package/dist/ui/index.html +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +2 -2
- package/dist/web/__next._full.txt +2 -2
- 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/_next/static/chunks/{8126-a5f1dc08132cc504.js → 8126-f4d44cf6bcc47fd8.js} +1 -1
- package/dist/web/_next/static/chunks/app/{page-08396a6df5b1d417.js → page-7214428f117eb5c3.js} +1 -1
- package/dist/web/_next/static/chunks/app/workspace/{layout-e8ac8658beed62fe.js → layout-ff89db2ea6f5ca76.js} +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 +2 -2
- package/dist/web/login/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/login/__next.login.txt +1 -1
- package/dist/web/login.html +1 -1
- package/dist/web/login.txt +2 -2
- package/dist/web/workspace/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/browse/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/browse.html +1 -1
- package/dist/web/workspace/browse.txt +2 -2
- package/dist/web/workspace/editor/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/editor.html +1 -1
- package/dist/web/workspace/editor.txt +2 -2
- package/dist/web/workspace/files/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/files.html +1 -1
- package/dist/web/workspace/files.txt +2 -2
- package/dist/web/workspace/git/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/git.html +1 -1
- package/dist/web/workspace/git.txt +2 -2
- package/dist/web/workspace/mobile/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/mobile.html +1 -1
- package/dist/web/workspace/mobile.txt +2 -2
- package/dist/web/workspace/pair/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/pair.html +1 -1
- package/dist/web/workspace/pair.txt +2 -2
- package/dist/web/workspace/remote/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/remote.html +1 -1
- package/dist/web/workspace/remote.txt +2 -2
- package/dist/web/workspace/settings/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/settings.html +1 -1
- package/dist/web/workspace/settings.txt +2 -2
- package/dist/web/workspace/terminal/default/__next._full.txt +2 -2
- 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 +2 -2
- package/dist/web/workspace/terminal/default.html +1 -1
- package/dist/web/workspace/terminal/default.txt +2 -2
- package/dist/web/workspace/welcome/__next._full.txt +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/web/workspace/workspaces/__next._full.txt +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/web/workspace.html +1 -1
- package/dist/web/workspace.txt +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/index-R8IobJlQ.js +0 -8
- /package/dist/web/_next/static/{Ra2kXiDp5RGbGMB-iKw0v → Sbm6VmM9scgfPUKCTCQc1}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{Ra2kXiDp5RGbGMB-iKw0v → Sbm6VmM9scgfPUKCTCQc1}/_ssgManifest.js +0 -0
package/dist/web/_next/static/chunks/app/{page-08396a6df5b1d417.js → page-7214428f117eb5c3.js}
RENAMED
|
@@ -19,4 +19,4 @@ sequenceDiagram
|
|
|
19
19
|
<span style="display:flex;align-items:center;opacity:0.9;">${s}</span>
|
|
20
20
|
<span>${t}</span>
|
|
21
21
|
</div>
|
|
22
|
-
`,e.style.display="none",a.appendChild(c)})},[t]),(0,a.jsx)("section",{id:"security",className:"relative py-24 px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"max-w-7xl mx-auto",children:[(0,a.jsxs)("div",{className:"text-center mb-16",children:[(0,a.jsx)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border mb-4 text-xs font-mono",style:{borderColor:i.CV.border,background:i.CV.bgPanel,color:i.CV.textDim},children:"Zero-Trust Architecture"}),(0,a.jsxs)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-4",style:{color:i.CV.text},children:["3-Layer Security & ",(0,a.jsx)("span",{style:{color:i.CV.text},children:"Zero-Trust Verification"})]}),(0,a.jsx)("p",{className:"text-base sm:text-lg max-w-2xl mx-auto",style:{color:i.CV.textDim},children:"Split-Key pairing, direct WebRTC encryption, and physical host approval — your machine stays completely protected."})]}),(0,a.jsx)("div",{className:"p-4 sm:p-8 rounded-xl border mb-12 overflow-x-auto flex justify-center",style:{background:i.CV.bgElevated,borderColor:i.CV.border},children:t?(0,a.jsx)("div",{ref:l,className:"w-full max-w-4xl min-w-[320px] [&_svg]:w-full [&_svg]:h-auto",dangerouslySetInnerHTML:{__html:t}}):(0,a.jsx)("div",{className:"py-20 text-sm font-mono",style:{color:i.CV.textDim},children:"Loading security flow diagram..."})}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:V.map(e=>(0,a.jsxs)("div",{className:"p-6 rounded-xl border flex flex-col justify-between",style:{background:i.CV.bgElevated,borderColor:i.CV.border},children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsx)("div",{className:"w-9 h-9 rounded-lg flex items-center justify-center border",style:{borderColor:i.CV.border,background:i.CV.bgPanel,color:i.CV.accent},children:(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,d:e.iconPath})})}),(0,a.jsxs)("span",{className:"text-xs font-mono",style:{color:i.CV.accent},children:["STEP ",e.step]})]}),(0,a.jsx)("h3",{className:"text-lg font-bold mb-2",style:{color:i.CV.text},children:e.title})]}),(0,a.jsx)("p",{className:"text-sm leading-relaxed",style:{color:i.CV.textDim},children:e.desc})]},e.step))})]})})}var D=s(71632);function P(){let{formattedStars:e}=(0,D.w)();return(0,a.jsx)("section",{className:"relative py-24 px-4 sm:px-6 lg:px-8",children:(0,a.jsx)("div",{className:"max-w-4xl mx-auto text-center",children:(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:"absolute inset-0 blur-3xl pointer-events-none animate-pulse-glow",style:{background:"rgba(255,255,255,0.05)"}}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-5",style:{color:i.CV.text},children:["Remote everything.",(0,a.jsx)("br",{}),"On any screen, ",(0,a.jsx)("span",{style:{color:i.CV.text},children:"everywhere"}),"."]}),(0,a.jsx)("p",{className:"font-mono text-xs sm:text-sm mb-3",style:{color:i.CV.accent},children:"Codex CLI looks like 1995? Claude Code's TUI hurts? Forget them. Same agents, one UI you'll actually love."}),(0,a.jsx)("p",{className:"text-base sm:text-lg mb-8 max-w-2xl mx-auto",style:{color:i.CV.textDim},children:"IDE, 60fps desktop, files, emulator & 30+ AI vibe coding agents on PC, Web, iPad, and mobile. Ready in 30 seconds."}),(0,a.jsxs)("div",{className:"flex flex-row gap-2.5 sm:gap-3 justify-center items-center flex-wrap",children:[(0,a.jsx)(r,{href:"/login",className:"btn-cta group px-5 sm:px-8 py-3 sm:py-4 rounded-lg font-semibold text-sm sm:text-base transition-transform duration-300 hover:scale-[1.03]",style:{background:i.CV.accent,color:"#FFF"},children:(0,a.jsxs)("span",{className:"flex items-center justify-center gap-2",children:["Get Remote",(0,a.jsx)("svg",{className:"w-5 h-5 group-hover:translate-x-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 7l5 5m0 0l-5 5m5-5H6"})})]})}),(0,a.jsxs)("a",{href:"https://github.com/decolua/9remote",target:"_blank",rel:"noopener noreferrer",className:"px-5 sm:px-8 py-3 sm:py-4 rounded-lg font-semibold text-sm sm:text-base transition-all duration-300 hover:scale-[1.03] flex items-center justify-center gap-2 border",style:{background:i.CV.bgPanel,color:i.CV.text,borderColor:i.CV.border},children:[(0,a.jsx)("svg",{className:"w-4 h-4 sm:w-5 sm:h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",clipRule:"evenodd"})}),(0,a.jsx)("span",{children:"Star on GitHub"}),e&&(0,a.jsxs)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full border border-border-subtle bg-surface-2 text-text",children:["★ ",e]})]})]}),(0,a.jsx)("p",{className:"mt-8 text-xs sm:text-sm font-mono",style:{color:i.CV.textMuted},children:"✓ 100% Free \xb7 Open source MIT \xb7 Zero tracking or telemetry"})]})]})})})}var A=s(54024),E=s(96605);function S(){let[e,t]=(0,x.useState)(null),[s,r]=(0,x.useState)(!0);return((0,x.useEffect)(()=>{try{if("1"===sessionStorage.getItem("9remote_dismiss_store_banner"))return}catch{}let e=navigator.userAgent||"";/iPhone|iPad|iPod/i.test(e)?(t({storeName:"Apple App Store",url:i.od,btnLabel:"Get"}),r(!1)):/Android/i.test(e)&&(t({storeName:"Google Play",url:i.JN,btnLabel:"Install"}),r(!1))},[]),s||!e)?null:(0,a.jsxs)("div",{className:"fixed bottom-0 inset-x-0 z-40 sm:hidden px-4 py-2.5 bg-surface/90 backdrop-blur-lg border-t border-border-subtle shadow-2xl flex items-center justify-between gap-3 pb-[max(0.65rem,env(safe-area-inset-bottom))]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,a.jsx)("img",{src:"/icon-192.png",alt:"9Remote",className:"w-9 h-9 rounded-xl object-contain shadow-md shrink-0 border border-border-subtle/50"}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-semibold text-text truncate leading-tight",children:"9Remote"}),(0,a.jsx)("p",{className:"text-[11px] text-text-muted truncate leading-tight mt-0.5",children:e.storeName})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,a.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"px-3.5 py-1.5 bg-brand-500 hover:bg-brand-600 active:scale-95 text-white text-xs font-semibold rounded-full shadow-md shadow-brand-500/20 transition-all duration-150",children:e.btnLabel}),(0,a.jsx)("button",{onClick:()=>{r(!0);try{sessionStorage.setItem("9remote_dismiss_store_banner","1")}catch{}},className:"p-1 text-text-muted hover:text-text active:scale-90 transition-colors","aria-label":"Close",children:(0,a.jsx)(E.X,{size:16})})]})]})}function H(){return(0,a.jsxs)("div",{className:"min-h-screen overflow-x-hidden safe-area-insets",style:{color:i.CV.text},children:[(0,a.jsx)(l.A,{}),(0,a.jsx)("div",{className:"landing-light","aria-hidden":!0}),(0,a.jsx)(o.A,{}),(0,a.jsxs)("main",{className:"relative z-10",children:[(0,a.jsx)(m,{}),(0,a.jsx)(b,{}),(0,a.jsx)(j,{}),(0,a.jsx)(M,{}),(0,a.jsx)(P,{})]}),(0,a.jsx)(A.A,{}),(0,a.jsx)(S,{})]})}function L(){return(0,a.jsx)(H,{})}},80619:(e,t,s)=>{Promise.resolve().then(s.bind(s,29261))},81851:(e,t,s)=>{"use strict";s.d(t,{AC:()=>p,An:()=>d,BF:()=>y,El:()=>N,HE:()=>R,HJ:()=>u,Ic:()=>P,J2:()=>w,Jd:()=>D,KF:()=>c,KP:()=>S,ML:()=>C,N0:()=>M,Of:()=>z,QS:()=>b,QZ:()=>l,Rh:()=>E,Tr:()=>f,UT:()=>g,ZN:()=>n,aS:()=>V,b4:()=>h,bg:()=>j,cx:()=>o,dE:()=>H,dT:()=>r,fP:()=>x,gI:()=>v,j3:()=>I,l_:()=>a,mH:()=>L,mk:()=>m,o_:()=>A,qM:()=>k,si:()=>i});let a={control:"control",binary:"binary",file:"file",mobile:"mobile",browser:"browser"},r=65536,l={ackTimeoutMs:5e3,maxAttempts:3,backoffMs:[500,1500,3e3],probeBackoffMs:[3e4,6e4,12e4,3e5],classifyAfterProbes:3},o={urls:["stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302"],timeoutMs:2500,minIntervalMs:15e3},n=500,i=3,c=3e3,d=9e3,m=25e3,x=3,h=1e3,p=4e3,u=15e3,b=1e3,y=12e3,g=2e3,f=1e4,v={enabled:!0,pingMs:25e3},j={pending:"pending-approval",rejected:"device-rejected"},C={mismatch:"mismatch",sealUnreadable:"seal-unreadable",timeout:"proof-timeout"},w={pending:"pending",approved:"approved",rejected:"rejected",reconnect:"reconnect"},k=8,N="9remote_pending_save",V="9remote_wants_save",M="9remote:keys-changed",D="9remote_login_error",P="strict",A={debounceMs:500},E=3e4,S=15e3,H="not-admitted",L={admitRetryMax:2,admitKickMinMs:3e3,ringMaxBytes:4194304,maxEntries:2e3,holdMax:256,gapDeadlineMs:3e3,ackMaxLives:3},R={chunkSize:65528,windowSize:64,dcBufferThreshold:8388608,maxUploadSize:0x3200000,maxDownloadSize:0xc800000,maxStreamMediaSize:524288e3},z={idle:"idle",connecting:"connecting",open:"open",degraded:"degraded",closed:"closed"},I={clientApp:{enabled:["ws","rtc"],parallel:!0,channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"},mobile:{strategy:"priority",prefer:"rtc"},browser:{strategy:"priority",prefer:"rtc"}},rtc:{enableTurn:!0,dcControl:{ordered:!0}}},remoteDesktop:{enabled:["ws","rtc"],parallel:!0,channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"},mobile:{strategy:"priority",prefer:"rtc"},browser:{strategy:"priority",prefer:"rtc"}},rtc:{enableTurn:!0,dcControl:{ordered:!0}}}}}},e=>{e.O(0,[820,5587,1772,556,1920,587,1968,7358],()=>e(e.s=80619)),_N_E=e.O()}]);
|
|
22
|
+
`,e.style.display="none",a.appendChild(c)})},[t]),(0,a.jsx)("section",{id:"security",className:"relative py-24 px-4 sm:px-6 lg:px-8",children:(0,a.jsxs)("div",{className:"max-w-7xl mx-auto",children:[(0,a.jsxs)("div",{className:"text-center mb-16",children:[(0,a.jsx)("div",{className:"inline-flex items-center gap-2 px-3 py-1 rounded-full border mb-4 text-xs font-mono",style:{borderColor:i.CV.border,background:i.CV.bgPanel,color:i.CV.textDim},children:"Zero-Trust Architecture"}),(0,a.jsxs)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-4",style:{color:i.CV.text},children:["3-Layer Security & ",(0,a.jsx)("span",{style:{color:i.CV.text},children:"Zero-Trust Verification"})]}),(0,a.jsx)("p",{className:"text-base sm:text-lg max-w-2xl mx-auto",style:{color:i.CV.textDim},children:"Split-Key pairing, direct WebRTC encryption, and physical host approval — your machine stays completely protected."})]}),(0,a.jsx)("div",{className:"p-4 sm:p-8 rounded-xl border mb-12 overflow-x-auto flex justify-center",style:{background:i.CV.bgElevated,borderColor:i.CV.border},children:t?(0,a.jsx)("div",{ref:l,className:"w-full max-w-4xl min-w-[320px] [&_svg]:w-full [&_svg]:h-auto",dangerouslySetInnerHTML:{__html:t}}):(0,a.jsx)("div",{className:"py-20 text-sm font-mono",style:{color:i.CV.textDim},children:"Loading security flow diagram..."})}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:V.map(e=>(0,a.jsxs)("div",{className:"p-6 rounded-xl border flex flex-col justify-between",style:{background:i.CV.bgElevated,borderColor:i.CV.border},children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsx)("div",{className:"w-9 h-9 rounded-lg flex items-center justify-center border",style:{borderColor:i.CV.border,background:i.CV.bgPanel,color:i.CV.accent},children:(0,a.jsx)("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,d:e.iconPath})})}),(0,a.jsxs)("span",{className:"text-xs font-mono",style:{color:i.CV.accent},children:["STEP ",e.step]})]}),(0,a.jsx)("h3",{className:"text-lg font-bold mb-2",style:{color:i.CV.text},children:e.title})]}),(0,a.jsx)("p",{className:"text-sm leading-relaxed",style:{color:i.CV.textDim},children:e.desc})]},e.step))})]})})}var D=s(71632);function P(){let{formattedStars:e}=(0,D.w)();return(0,a.jsx)("section",{className:"relative py-24 px-4 sm:px-6 lg:px-8",children:(0,a.jsx)("div",{className:"max-w-4xl mx-auto text-center",children:(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:"absolute inset-0 blur-3xl pointer-events-none animate-pulse-glow",style:{background:"rgba(255,255,255,0.05)"}}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-5",style:{color:i.CV.text},children:["Remote everything.",(0,a.jsx)("br",{}),"On any screen, ",(0,a.jsx)("span",{style:{color:i.CV.text},children:"everywhere"}),"."]}),(0,a.jsx)("p",{className:"font-mono text-xs sm:text-sm mb-3",style:{color:i.CV.accent},children:"Codex CLI looks like 1995? Claude Code's TUI hurts? Forget them. Same agents, one UI you'll actually love."}),(0,a.jsx)("p",{className:"text-base sm:text-lg mb-8 max-w-2xl mx-auto",style:{color:i.CV.textDim},children:"IDE, 60fps desktop, files, emulator & 30+ AI vibe coding agents on PC, Web, iPad, and mobile. Ready in 30 seconds."}),(0,a.jsxs)("div",{className:"flex flex-row gap-2.5 sm:gap-3 justify-center items-center flex-wrap",children:[(0,a.jsx)(r,{href:"/login",className:"btn-cta group px-5 sm:px-8 py-3 sm:py-4 rounded-lg font-semibold text-sm sm:text-base transition-transform duration-300 hover:scale-[1.03]",style:{background:i.CV.accent,color:"#FFF"},children:(0,a.jsxs)("span",{className:"flex items-center justify-center gap-2",children:["Get Remote",(0,a.jsx)("svg",{className:"w-5 h-5 group-hover:translate-x-1 transition-transform",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 7l5 5m0 0l-5 5m5-5H6"})})]})}),(0,a.jsxs)("a",{href:"https://github.com/decolua/9remote",target:"_blank",rel:"noopener noreferrer",className:"px-5 sm:px-8 py-3 sm:py-4 rounded-lg font-semibold text-sm sm:text-base transition-all duration-300 hover:scale-[1.03] flex items-center justify-center gap-2 border",style:{background:i.CV.bgPanel,color:i.CV.text,borderColor:i.CV.border},children:[(0,a.jsx)("svg",{className:"w-4 h-4 sm:w-5 sm:h-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",clipRule:"evenodd"})}),(0,a.jsx)("span",{children:"Star on GitHub"}),e&&(0,a.jsxs)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full border border-border-subtle bg-surface-2 text-text",children:["★ ",e]})]})]}),(0,a.jsx)("p",{className:"mt-8 text-xs sm:text-sm font-mono",style:{color:i.CV.textMuted},children:"✓ 100% Free \xb7 Open source MIT \xb7 Zero tracking or telemetry"})]})]})})})}var A=s(54024),E=s(96605);function S(){let[e,t]=(0,x.useState)(null),[s,r]=(0,x.useState)(!0);return((0,x.useEffect)(()=>{try{if("1"===sessionStorage.getItem("9remote_dismiss_store_banner"))return}catch{}let e=navigator.userAgent||"";/iPhone|iPad|iPod/i.test(e)?(t({storeName:"Apple App Store",url:i.od,btnLabel:"Get"}),r(!1)):/Android/i.test(e)&&(t({storeName:"Google Play",url:i.JN,btnLabel:"Install"}),r(!1))},[]),s||!e)?null:(0,a.jsxs)("div",{className:"fixed bottom-0 inset-x-0 z-40 sm:hidden px-4 py-2.5 bg-surface/90 backdrop-blur-lg border-t border-border-subtle shadow-2xl flex items-center justify-between gap-3 pb-[max(0.65rem,env(safe-area-inset-bottom))]",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,a.jsx)("img",{src:"/icon-192.png",alt:"9Remote",className:"w-9 h-9 rounded-xl object-contain shadow-md shrink-0 border border-border-subtle/50"}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-semibold text-text truncate leading-tight",children:"9Remote"}),(0,a.jsx)("p",{className:"text-[11px] text-text-muted truncate leading-tight mt-0.5",children:e.storeName})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,a.jsx)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"px-3.5 py-1.5 bg-brand-500 hover:bg-brand-600 active:scale-95 text-white text-xs font-semibold rounded-full shadow-md shadow-brand-500/20 transition-all duration-150",children:e.btnLabel}),(0,a.jsx)("button",{onClick:()=>{r(!0);try{sessionStorage.setItem("9remote_dismiss_store_banner","1")}catch{}},className:"p-1 text-text-muted hover:text-text active:scale-90 transition-colors","aria-label":"Close",children:(0,a.jsx)(E.X,{size:16})})]})]})}function H(){return(0,a.jsxs)("div",{className:"min-h-screen overflow-x-hidden safe-area-insets",style:{color:i.CV.text},children:[(0,a.jsx)(l.A,{}),(0,a.jsx)("div",{className:"landing-light","aria-hidden":!0}),(0,a.jsx)(o.A,{}),(0,a.jsxs)("main",{className:"relative z-10",children:[(0,a.jsx)(m,{}),(0,a.jsx)(b,{}),(0,a.jsx)(j,{}),(0,a.jsx)(M,{}),(0,a.jsx)(P,{})]}),(0,a.jsx)(A.A,{}),(0,a.jsx)(S,{})]})}function L(){return(0,a.jsx)(H,{})}},80619:(e,t,s)=>{Promise.resolve().then(s.bind(s,29261))},81851:(e,t,s)=>{"use strict";s.d(t,{AC:()=>p,An:()=>d,BF:()=>y,El:()=>N,HE:()=>z,HJ:()=>u,Ic:()=>P,J2:()=>w,Jd:()=>D,KF:()=>c,KP:()=>S,ML:()=>C,N0:()=>M,Of:()=>I,QS:()=>b,QZ:()=>l,Rh:()=>E,Tr:()=>f,UT:()=>g,ZN:()=>n,aS:()=>V,b4:()=>h,bg:()=>j,cO:()=>H,cx:()=>o,dE:()=>L,dT:()=>r,fP:()=>x,gI:()=>v,j3:()=>T,l_:()=>a,mH:()=>R,mk:()=>m,o_:()=>A,qM:()=>k,si:()=>i});let a={control:"control",binary:"binary",file:"file",mobile:"mobile",browser:"browser"},r=65536,l={ackTimeoutMs:5e3,maxAttempts:3,backoffMs:[500,1500,3e3],probeBackoffMs:[3e4,6e4,12e4,3e5],classifyAfterProbes:3},o={urls:["stun:stun.l.google.com:19302","stun:stun1.l.google.com:19302"],timeoutMs:2500,minIntervalMs:15e3},n=500,i=3,c=3e3,d=9e3,m=25e3,x=3,h=1e3,p=4e3,u=15e3,b=1e3,y=12e3,g=2e3,f=1e4,v={enabled:!0,pingMs:25e3},j={pending:"pending-approval",rejected:"device-rejected"},C={mismatch:"mismatch",sealUnreadable:"seal-unreadable",timeout:"proof-timeout"},w={pending:"pending",approved:"approved",rejected:"rejected",reconnect:"reconnect"},k=8,N="9remote_pending_save",V="9remote_wants_save",M="9remote:keys-changed",D="9remote_login_error",P="strict",A={debounceMs:500},E=3e4,S=15e3,H=6e4,L="not-admitted",R={admitRetryMax:2,admitKickMinMs:3e3,ringMaxBytes:4194304,maxEntries:2e3,holdMax:256,gapDeadlineMs:3e3,ackMaxLives:3},z={chunkSize:65528,windowSize:64,dcBufferThreshold:8388608,maxUploadSize:0x3200000,maxDownloadSize:0xc800000,maxStreamMediaSize:524288e3},I={idle:"idle",connecting:"connecting",open:"open",degraded:"degraded",closed:"closed"},T={clientApp:{enabled:["ws","rtc"],parallel:!0,channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"},mobile:{strategy:"priority",prefer:"rtc"},browser:{strategy:"priority",prefer:"rtc"}},rtc:{enableTurn:!0,dcControl:{ordered:!0}}},remoteDesktop:{enabled:["ws","rtc"],parallel:!0,channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"},mobile:{strategy:"priority",prefer:"rtc"},browser:{strategy:"priority",prefer:"rtc"}},rtc:{enableTurn:!0,dcControl:{ordered:!0}}}}}},e=>{e.O(0,[820,5587,1772,556,1920,587,1968,7358],()=>e(e.s=80619)),_N_E=e.O()}]);
|