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.
Files changed (195) hide show
  1. package/dist/cli.cjs +2 -2
  2. package/dist/server.cjs +5 -5
  3. package/dist/ui/assets/index-BgdHbxnD.js +8 -0
  4. package/dist/ui/index.html +1 -1
  5. package/dist/web/404.html +1 -1
  6. package/dist/web/__next.__PAGE__.txt +2 -2
  7. package/dist/web/__next._full.txt +2 -2
  8. package/dist/web/__next._head.txt +1 -1
  9. package/dist/web/__next._index.txt +1 -1
  10. package/dist/web/__next._tree.txt +1 -1
  11. package/dist/web/_next/static/chunks/{8126-a5f1dc08132cc504.js → 8126-f4d44cf6bcc47fd8.js} +1 -1
  12. package/dist/web/_next/static/chunks/app/{page-08396a6df5b1d417.js → page-7214428f117eb5c3.js} +1 -1
  13. package/dist/web/_next/static/chunks/app/workspace/{layout-e8ac8658beed62fe.js → layout-ff89db2ea6f5ca76.js} +1 -1
  14. package/dist/web/_not-found/__next._full.txt +1 -1
  15. package/dist/web/_not-found/__next._head.txt +1 -1
  16. package/dist/web/_not-found/__next._index.txt +1 -1
  17. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
  18. package/dist/web/_not-found/__next._not-found.txt +1 -1
  19. package/dist/web/_not-found/__next._tree.txt +1 -1
  20. package/dist/web/_not-found.html +1 -1
  21. package/dist/web/_not-found.txt +1 -1
  22. package/dist/web/admin/__next._full.txt +1 -1
  23. package/dist/web/admin/__next._head.txt +1 -1
  24. package/dist/web/admin/__next._index.txt +1 -1
  25. package/dist/web/admin/__next._tree.txt +1 -1
  26. package/dist/web/admin/__next.admin.__PAGE__.txt +1 -1
  27. package/dist/web/admin/__next.admin.txt +1 -1
  28. package/dist/web/admin/access/__next._full.txt +1 -1
  29. package/dist/web/admin/access/__next._head.txt +1 -1
  30. package/dist/web/admin/access/__next._index.txt +1 -1
  31. package/dist/web/admin/access/__next._tree.txt +1 -1
  32. package/dist/web/admin/access/__next.admin.access.__PAGE__.txt +1 -1
  33. package/dist/web/admin/access/__next.admin.access.txt +1 -1
  34. package/dist/web/admin/access/__next.admin.txt +1 -1
  35. package/dist/web/admin/access.html +1 -1
  36. package/dist/web/admin/access.txt +1 -1
  37. package/dist/web/admin/login/__next._full.txt +1 -1
  38. package/dist/web/admin/login/__next._head.txt +1 -1
  39. package/dist/web/admin/login/__next._index.txt +1 -1
  40. package/dist/web/admin/login/__next._tree.txt +1 -1
  41. package/dist/web/admin/login/__next.admin.login.__PAGE__.txt +1 -1
  42. package/dist/web/admin/login/__next.admin.login.txt +1 -1
  43. package/dist/web/admin/login/__next.admin.txt +1 -1
  44. package/dist/web/admin/login.html +1 -1
  45. package/dist/web/admin/login.txt +1 -1
  46. package/dist/web/admin/ota/__next._full.txt +1 -1
  47. package/dist/web/admin/ota/__next._head.txt +1 -1
  48. package/dist/web/admin/ota/__next._index.txt +1 -1
  49. package/dist/web/admin/ota/__next._tree.txt +1 -1
  50. package/dist/web/admin/ota/__next.admin.ota.__PAGE__.txt +1 -1
  51. package/dist/web/admin/ota/__next.admin.ota.txt +1 -1
  52. package/dist/web/admin/ota/__next.admin.txt +1 -1
  53. package/dist/web/admin/ota.html +1 -1
  54. package/dist/web/admin/ota.txt +1 -1
  55. package/dist/web/admin/turn/__next._full.txt +1 -1
  56. package/dist/web/admin/turn/__next._head.txt +1 -1
  57. package/dist/web/admin/turn/__next._index.txt +1 -1
  58. package/dist/web/admin/turn/__next._tree.txt +1 -1
  59. package/dist/web/admin/turn/__next.admin.turn.__PAGE__.txt +1 -1
  60. package/dist/web/admin/turn/__next.admin.turn.txt +1 -1
  61. package/dist/web/admin/turn/__next.admin.txt +1 -1
  62. package/dist/web/admin/turn.html +1 -1
  63. package/dist/web/admin/turn.txt +1 -1
  64. package/dist/web/admin.html +1 -1
  65. package/dist/web/admin.txt +1 -1
  66. package/dist/web/download/__next._full.txt +1 -1
  67. package/dist/web/download/__next._head.txt +1 -1
  68. package/dist/web/download/__next._index.txt +1 -1
  69. package/dist/web/download/__next._tree.txt +1 -1
  70. package/dist/web/download/__next.download.__PAGE__.txt +1 -1
  71. package/dist/web/download/__next.download.txt +1 -1
  72. package/dist/web/download.html +1 -1
  73. package/dist/web/download.txt +1 -1
  74. package/dist/web/index.html +1 -1
  75. package/dist/web/index.txt +2 -2
  76. package/dist/web/login/__next._full.txt +2 -2
  77. package/dist/web/login/__next._head.txt +1 -1
  78. package/dist/web/login/__next._index.txt +1 -1
  79. package/dist/web/login/__next._tree.txt +1 -1
  80. package/dist/web/login/__next.login.__PAGE__.txt +2 -2
  81. package/dist/web/login/__next.login.txt +1 -1
  82. package/dist/web/login.html +1 -1
  83. package/dist/web/login.txt +2 -2
  84. package/dist/web/workspace/__next._full.txt +2 -2
  85. package/dist/web/workspace/__next._head.txt +1 -1
  86. package/dist/web/workspace/__next._index.txt +1 -1
  87. package/dist/web/workspace/__next._tree.txt +1 -1
  88. package/dist/web/workspace/__next.workspace.__PAGE__.txt +1 -1
  89. package/dist/web/workspace/__next.workspace.txt +2 -2
  90. package/dist/web/workspace/browse/__next._full.txt +2 -2
  91. package/dist/web/workspace/browse/__next._head.txt +1 -1
  92. package/dist/web/workspace/browse/__next._index.txt +1 -1
  93. package/dist/web/workspace/browse/__next._tree.txt +1 -1
  94. package/dist/web/workspace/browse/__next.workspace.browse.__PAGE__.txt +1 -1
  95. package/dist/web/workspace/browse/__next.workspace.browse.txt +1 -1
  96. package/dist/web/workspace/browse/__next.workspace.txt +2 -2
  97. package/dist/web/workspace/browse.html +1 -1
  98. package/dist/web/workspace/browse.txt +2 -2
  99. package/dist/web/workspace/editor/__next._full.txt +2 -2
  100. package/dist/web/workspace/editor/__next._head.txt +1 -1
  101. package/dist/web/workspace/editor/__next._index.txt +1 -1
  102. package/dist/web/workspace/editor/__next._tree.txt +1 -1
  103. package/dist/web/workspace/editor/__next.workspace.editor.__PAGE__.txt +1 -1
  104. package/dist/web/workspace/editor/__next.workspace.editor.txt +1 -1
  105. package/dist/web/workspace/editor/__next.workspace.txt +2 -2
  106. package/dist/web/workspace/editor.html +1 -1
  107. package/dist/web/workspace/editor.txt +2 -2
  108. package/dist/web/workspace/files/__next._full.txt +2 -2
  109. package/dist/web/workspace/files/__next._head.txt +1 -1
  110. package/dist/web/workspace/files/__next._index.txt +1 -1
  111. package/dist/web/workspace/files/__next._tree.txt +1 -1
  112. package/dist/web/workspace/files/__next.workspace.files.__PAGE__.txt +1 -1
  113. package/dist/web/workspace/files/__next.workspace.files.txt +1 -1
  114. package/dist/web/workspace/files/__next.workspace.txt +2 -2
  115. package/dist/web/workspace/files.html +1 -1
  116. package/dist/web/workspace/files.txt +2 -2
  117. package/dist/web/workspace/git/__next._full.txt +2 -2
  118. package/dist/web/workspace/git/__next._head.txt +1 -1
  119. package/dist/web/workspace/git/__next._index.txt +1 -1
  120. package/dist/web/workspace/git/__next._tree.txt +1 -1
  121. package/dist/web/workspace/git/__next.workspace.git.__PAGE__.txt +1 -1
  122. package/dist/web/workspace/git/__next.workspace.git.txt +1 -1
  123. package/dist/web/workspace/git/__next.workspace.txt +2 -2
  124. package/dist/web/workspace/git.html +1 -1
  125. package/dist/web/workspace/git.txt +2 -2
  126. package/dist/web/workspace/mobile/__next._full.txt +2 -2
  127. package/dist/web/workspace/mobile/__next._head.txt +1 -1
  128. package/dist/web/workspace/mobile/__next._index.txt +1 -1
  129. package/dist/web/workspace/mobile/__next._tree.txt +1 -1
  130. package/dist/web/workspace/mobile/__next.workspace.mobile.__PAGE__.txt +1 -1
  131. package/dist/web/workspace/mobile/__next.workspace.mobile.txt +1 -1
  132. package/dist/web/workspace/mobile/__next.workspace.txt +2 -2
  133. package/dist/web/workspace/mobile.html +1 -1
  134. package/dist/web/workspace/mobile.txt +2 -2
  135. package/dist/web/workspace/pair/__next._full.txt +2 -2
  136. package/dist/web/workspace/pair/__next._head.txt +1 -1
  137. package/dist/web/workspace/pair/__next._index.txt +1 -1
  138. package/dist/web/workspace/pair/__next._tree.txt +1 -1
  139. package/dist/web/workspace/pair/__next.workspace.pair.__PAGE__.txt +1 -1
  140. package/dist/web/workspace/pair/__next.workspace.pair.txt +1 -1
  141. package/dist/web/workspace/pair/__next.workspace.txt +2 -2
  142. package/dist/web/workspace/pair.html +1 -1
  143. package/dist/web/workspace/pair.txt +2 -2
  144. package/dist/web/workspace/remote/__next._full.txt +2 -2
  145. package/dist/web/workspace/remote/__next._head.txt +1 -1
  146. package/dist/web/workspace/remote/__next._index.txt +1 -1
  147. package/dist/web/workspace/remote/__next._tree.txt +1 -1
  148. package/dist/web/workspace/remote/__next.workspace.remote.__PAGE__.txt +1 -1
  149. package/dist/web/workspace/remote/__next.workspace.remote.txt +1 -1
  150. package/dist/web/workspace/remote/__next.workspace.txt +2 -2
  151. package/dist/web/workspace/remote.html +1 -1
  152. package/dist/web/workspace/remote.txt +2 -2
  153. package/dist/web/workspace/settings/__next._full.txt +2 -2
  154. package/dist/web/workspace/settings/__next._head.txt +1 -1
  155. package/dist/web/workspace/settings/__next._index.txt +1 -1
  156. package/dist/web/workspace/settings/__next._tree.txt +1 -1
  157. package/dist/web/workspace/settings/__next.workspace.settings.__PAGE__.txt +1 -1
  158. package/dist/web/workspace/settings/__next.workspace.settings.txt +1 -1
  159. package/dist/web/workspace/settings/__next.workspace.txt +2 -2
  160. package/dist/web/workspace/settings.html +1 -1
  161. package/dist/web/workspace/settings.txt +2 -2
  162. package/dist/web/workspace/terminal/default/__next._full.txt +2 -2
  163. package/dist/web/workspace/terminal/default/__next._head.txt +1 -1
  164. package/dist/web/workspace/terminal/default/__next._index.txt +1 -1
  165. package/dist/web/workspace/terminal/default/__next._tree.txt +1 -1
  166. package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.__PAGE__.txt +1 -1
  167. package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.txt +1 -1
  168. package/dist/web/workspace/terminal/default/__next.workspace.terminal.txt +1 -1
  169. package/dist/web/workspace/terminal/default/__next.workspace.txt +2 -2
  170. package/dist/web/workspace/terminal/default.html +1 -1
  171. package/dist/web/workspace/terminal/default.txt +2 -2
  172. package/dist/web/workspace/welcome/__next._full.txt +2 -2
  173. package/dist/web/workspace/welcome/__next._head.txt +1 -1
  174. package/dist/web/workspace/welcome/__next._index.txt +1 -1
  175. package/dist/web/workspace/welcome/__next._tree.txt +1 -1
  176. package/dist/web/workspace/welcome/__next.workspace.txt +2 -2
  177. package/dist/web/workspace/welcome/__next.workspace.welcome.__PAGE__.txt +1 -1
  178. package/dist/web/workspace/welcome/__next.workspace.welcome.txt +1 -1
  179. package/dist/web/workspace/welcome.html +1 -1
  180. package/dist/web/workspace/welcome.txt +2 -2
  181. package/dist/web/workspace/workspaces/__next._full.txt +2 -2
  182. package/dist/web/workspace/workspaces/__next._head.txt +1 -1
  183. package/dist/web/workspace/workspaces/__next._index.txt +1 -1
  184. package/dist/web/workspace/workspaces/__next._tree.txt +1 -1
  185. package/dist/web/workspace/workspaces/__next.workspace.txt +2 -2
  186. package/dist/web/workspace/workspaces/__next.workspace.workspaces.__PAGE__.txt +1 -1
  187. package/dist/web/workspace/workspaces/__next.workspace.workspaces.txt +1 -1
  188. package/dist/web/workspace/workspaces.html +1 -1
  189. package/dist/web/workspace/workspaces.txt +2 -2
  190. package/dist/web/workspace.html +1 -1
  191. package/dist/web/workspace.txt +2 -2
  192. package/package.json +1 -1
  193. package/dist/ui/assets/index-R8IobJlQ.js +0 -8
  194. /package/dist/web/_next/static/{Ra2kXiDp5RGbGMB-iKw0v → Sbm6VmM9scgfPUKCTCQc1}/_buildManifest.js +0 -0
  195. /package/dist/web/_next/static/{Ra2kXiDp5RGbGMB-iKw0v → Sbm6VmM9scgfPUKCTCQc1}/_ssgManifest.js +0 -0
package/dist/cli.cjs CHANGED
@@ -41,7 +41,7 @@ ${s}
41
41
  `:`
42
42
  `)+r,t=o+1,o=e.indexOf(`
43
43
  `,t)}while(o!==-1);return i+=e.slice(t),i}var{stdout:ms,stderr:hs}=fs,vo=Symbol("GENERATOR"),an=Symbol("STYLER"),qn=Symbol("IS_EMPTY"),gs=["ansi","ansi","ansi256","ansi16m"],cn=Object.create(null),sl=(e,n={})=>{if(n.level&&!(Number.isInteger(n.level)&&n.level>=0&&n.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=ms?ms.level:0;e.level=n.level===void 0?r:n.level};var al=e=>{let n=(...r)=>r.join(" ");return sl(n,e),Object.setPrototypeOf(n,Xn.prototype),n};function Xn(e){return al(e)}Object.setPrototypeOf(Xn.prototype,Function.prototype);for(let[e,n]of Object.entries(Pe))cn[e]={get(){let r=Ir(this,Eo(n.open,n.close,this[an]),this[qn]);return Object.defineProperty(this,e,{value:r}),r}};cn.visible={get(){let e=Ir(this,this[an],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var bo=(e,n,r,...o)=>e==="rgb"?n==="ansi16m"?Pe[r].ansi16m(...o):n==="ansi256"?Pe[r].ansi256(Pe.rgbToAnsi256(...o)):Pe[r].ansi(Pe.rgbToAnsi(...o)):e==="hex"?bo("rgb",n,r,...Pe.hexToRgb(...o)):Pe[r][e](...o),cl=["rgb","hex","ansi256"];for(let e of cl){cn[e]={get(){let{level:r}=this;return function(...o){let t=Eo(bo(e,gs[r],"color",...o),Pe.color.close,this[an]);return Ir(this,t,this[qn])}}};let n="bg"+e[0].toUpperCase()+e.slice(1);cn[n]={get(){let{level:r}=this;return function(...o){let t=Eo(bo(e,gs[r],"bgColor",...o),Pe.bgColor.close,this[an]);return Ir(this,t,this[qn])}}}}var ll=Object.defineProperties(()=>{},{...cn,level:{enumerable:!0,get(){return this[vo].level},set(e){this[vo].level=e}}}),Eo=(e,n,r)=>{let o,t;return r===void 0?(o=e,t=n):(o=r.openAll+e,t=n+r.closeAll),{open:e,close:n,openAll:o,closeAll:t,parent:r}},Ir=(e,n,r)=>{let o=(...t)=>ul(o,t.length===1?""+t[0]:t.join(" "));return Object.setPrototypeOf(o,ll),o[vo]=e,o[an]=n,o[qn]=r,o},ul=(e,n)=>{if(e.level<=0||!n)return e[qn]?"":n;let r=e[an];if(r===void 0)return n;let{openAll:o,closeAll:t}=r;if(n.includes("\x1B"))for(;r!==void 0;)n=ps(n,r.close,r.open),r=r.parent;let i=n.indexOf(`
44
- `);return i!==-1&&(n=ds(n,t,o,i)),o+n+t};Object.defineProperties(Xn.prototype,cn);var fl=Xn(),Qf=Xn({level:hs?hs.level:0});var h=fl;var ep=process.env.NREMOTE_ENV==="development";var I=process.env.NREMOTE_WORKER_URL||"https://9remote.cc",ys=3e4,ws=500,So=300,$e={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},ft={intervalMs:2e3,timeoutMs:12e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ie={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,guestRecheckMs:3e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Ve={maxLogLines:200,headerWidth:44},Ye={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock",gateTimeoutMs:6e4},vs=5e3,To=12e4,_r=1500,bs=2,Es=3e4,me={orange:h.rgb(230,138,110),orangeDim:h.rgb(200,120,95)};function Ss(){return process.env.CODESPACES==="true"}var pl=xo.default.dirname((0,xs.fileURLToPath)(__importMetaUrl));async function pt(){let e=await Xt();if(Ss()&&process.env.NREMOTE_API_KEY)return We(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Kn();if(n.key)Ai(n.key)&&(n=await dl(e,n));else{let r=kt(e);n=We(e,r,"Default")}return n}async function dl(e,n){if(await X())return n;let r=kt(e);if(Y().remoteEnabled===!1)return We(e,r,n.name||"Default");await Pt(r,I,null,n.key);let o=Kn();return oo(o.key)?o:We(e,r,n.name||"Default")}function De(){return"3.0.50"}var z=require("fs"),Cs=require("url"),un=require("child_process"),Ee=A(require("path"),1),dt=A(require("os"),1);var ln=A(require("fs"),1),Ao=A(require("path"),1),As=A(require("os"),1),ks=require("child_process"),Lr=Ao.default.join(As.default.homedir(),".9remote","pids");function ml(){try{ln.default.existsSync(Lr)||ln.default.mkdirSync(Lr,{recursive:!0})}catch{}}function ko(e){return Ao.default.join(Lr,`${e}.pid`)}function Be(e,n){if(n)try{ml(),ln.default.writeFileSync(ko(e),String(n))}catch{}}function Jn(e){try{let n=ln.default.readFileSync(ko(e),"utf8").trim(),r=parseInt(n,10);return Number.isFinite(r)&&r>0?r:null}catch{return null}}function qe(e){try{ln.default.unlinkSync(ko(e))}catch{}}function Ro(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}function hl(e){let n=Jn(e);if(qe(e),!n)return!1;try{process.platform==="win32"?(0,ks.execSync)(`taskkill /F /T /PID ${n}`,{stdio:"ignore",windowsHide:!0}):process.kill(n,"SIGKILL")}catch{}return!0}var gl=["cloudflared","agent"];function Rs(){for(let e of gl)hl(e)}function Ps(){return Lr}var _t=require("child_process"),B=require("fs"),Ot=require("path"),$o=A(require("os"),1),It=A(require("path"),1),Os=require("url");var Cr=(0,Ot.join)(V.LOGS,"autostart.log"),Mr="cc.9remote.agent",Nr="9Remote",Dr=["--tray","--skip-update","--start"],Qn=$o.default.homedir(),$s=It.default.dirname((0,Os.fileURLToPath)(__importMetaUrl)),se={darwin:(0,Ot.join)(Qn,"Library","LaunchAgents",`${Mr}.plist`),linux:(0,Ot.join)(Qn,".config","autostart",`${Mr}.desktop`),linuxSystemd:(0,Ot.join)(Qn,".config","systemd","user",`${Mr}.service`),win:(0,Ot.join)(process.env.APPDATA||"","Microsoft","Windows","Start Menu","Programs","Startup",`${Nr}.vbs`)};function Xe(){for(let e=$s,n=null;e!==n;n=e,e=It.default.dirname(e)){let r=It.default.join(e,"package.json");if((0,B.existsSync)(r)){try{let o=JSON.parse((0,B.readFileSync)(r,"utf8"));if(o.name!==ee)continue;let t=typeof o.bin=="string"?o.bin:o.bin?.[ee];if(t){let i=It.default.resolve(e,t);if((0,B.existsSync)(i))return i}}catch{}break}}return process.argv[1]||It.default.resolve($s,"..","index.js")}function Oe(){return process.execPath}function Oo(){return process.versions.electron?"env ELECTRON_RUN_AS_NODE=1 ":""}function Is(e){let n=Oe(),r=Xe();if(process.platform==="win32"){let t=e.join(" "),i=(0,Ot.join)($o.default.tmpdir(),`${ee}-launch.vbs`);return(0,B.writeFileSync)(i,`CreateObject("WScript.Shell").Run """${n}"" ""${r}"" ${t}", 0, False
44
+ `);return i!==-1&&(n=ds(n,t,o,i)),o+n+t};Object.defineProperties(Xn.prototype,cn);var fl=Xn(),Qf=Xn({level:hs?hs.level:0});var h=fl;var ep=process.env.NREMOTE_ENV==="development";var I=process.env.NREMOTE_WORKER_URL||"https://9remote.cc",ys=3e4,ws=500,So=300,$e={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},ft={intervalMs:2e3,timeoutMs:12e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ie={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,guestRecheckMs:3e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Ve={maxLogLines:200,headerWidth:44},Ye={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock",gateTimeoutMs:6e4},vs=5e3,To=12e4,_r=1500,bs=2,Es=3e4,me={orange:h.rgb(230,138,110),orangeDim:h.rgb(200,120,95)};function Ss(){return process.env.CODESPACES==="true"}var pl=xo.default.dirname((0,xs.fileURLToPath)(__importMetaUrl));async function pt(){let e=await Xt();if(Ss()&&process.env.NREMOTE_API_KEY)return We(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Kn();if(n.key)Ai(n.key)&&(n=await dl(e,n));else{let r=kt(e);n=We(e,r,"Default")}return n}async function dl(e,n){if(await X())return n;let r=kt(e);if(Y().remoteEnabled===!1)return We(e,r,n.name||"Default");await Pt(r,I,null,n.key);let o=Kn();return oo(o.key)?o:We(e,r,n.name||"Default")}function De(){return"3.0.52"}var z=require("fs"),Cs=require("url"),un=require("child_process"),Ee=A(require("path"),1),dt=A(require("os"),1);var ln=A(require("fs"),1),Ao=A(require("path"),1),As=A(require("os"),1),ks=require("child_process"),Lr=Ao.default.join(As.default.homedir(),".9remote","pids");function ml(){try{ln.default.existsSync(Lr)||ln.default.mkdirSync(Lr,{recursive:!0})}catch{}}function ko(e){return Ao.default.join(Lr,`${e}.pid`)}function Be(e,n){if(n)try{ml(),ln.default.writeFileSync(ko(e),String(n))}catch{}}function Jn(e){try{let n=ln.default.readFileSync(ko(e),"utf8").trim(),r=parseInt(n,10);return Number.isFinite(r)&&r>0?r:null}catch{return null}}function qe(e){try{ln.default.unlinkSync(ko(e))}catch{}}function Ro(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}function hl(e){let n=Jn(e);if(qe(e),!n)return!1;try{process.platform==="win32"?(0,ks.execSync)(`taskkill /F /T /PID ${n}`,{stdio:"ignore",windowsHide:!0}):process.kill(n,"SIGKILL")}catch{}return!0}var gl=["cloudflared","agent"];function Rs(){for(let e of gl)hl(e)}function Ps(){return Lr}var _t=require("child_process"),B=require("fs"),Ot=require("path"),$o=A(require("os"),1),It=A(require("path"),1),Os=require("url");var Cr=(0,Ot.join)(V.LOGS,"autostart.log"),Mr="cc.9remote.agent",Nr="9Remote",Dr=["--tray","--skip-update","--start"],Qn=$o.default.homedir(),$s=It.default.dirname((0,Os.fileURLToPath)(__importMetaUrl)),se={darwin:(0,Ot.join)(Qn,"Library","LaunchAgents",`${Mr}.plist`),linux:(0,Ot.join)(Qn,".config","autostart",`${Mr}.desktop`),linuxSystemd:(0,Ot.join)(Qn,".config","systemd","user",`${Mr}.service`),win:(0,Ot.join)(process.env.APPDATA||"","Microsoft","Windows","Start Menu","Programs","Startup",`${Nr}.vbs`)};function Xe(){for(let e=$s,n=null;e!==n;n=e,e=It.default.dirname(e)){let r=It.default.join(e,"package.json");if((0,B.existsSync)(r)){try{let o=JSON.parse((0,B.readFileSync)(r,"utf8"));if(o.name!==ee)continue;let t=typeof o.bin=="string"?o.bin:o.bin?.[ee];if(t){let i=It.default.resolve(e,t);if((0,B.existsSync)(i))return i}}catch{}break}}return process.argv[1]||It.default.resolve($s,"..","index.js")}function Oe(){return process.execPath}function Oo(){return process.versions.electron?"env ELECTRON_RUN_AS_NODE=1 ":""}function Is(e){let n=Oe(),r=Xe();if(process.platform==="win32"){let t=e.join(" "),i=(0,Ot.join)($o.default.tmpdir(),`${ee}-launch.vbs`);return(0,B.writeFileSync)(i,`CreateObject("WScript.Shell").Run """${n}"" ""${r}"" ${t}", 0, False
45
45
  `),(0,_t.execFile)("wscript.exe",[i],{windowsHide:!0}).unref?.(),null}let o=(0,_t.spawn)(n,[r,...e],{detached:!0,stdio:"ignore"});return o.unref(),o.pid||null}function _s(){let e=It.default.dirname(Oe()),n=["/usr/local/bin","/usr/bin","/bin","/usr/sbin","/sbin","/opt/homebrew/bin"];return n.includes(e)||n.unshift(e),n.join(":")}function Po(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function yl(e,n){let r=[e,n,...Dr].map(o=>` <string>${Po(o)}</string>`).join(`
46
46
  `);return`<?xml version="1.0" encoding="UTF-8"?>
47
47
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@@ -96,7 +96,7 @@ StandardError=append:${Cr}
96
96
 
97
97
  [Install]
98
98
  WantedBy=default.target
99
- `}function xl(e){try{return(0,_t.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Al(){return(0,B.existsSync)(se.linux)||(0,B.existsSync)(se.linuxSystemd)}async function kl(){try{if(process.platform==="darwin")return wl();if(process.platform==="win32")return await El();if(process.platform==="linux")return Al()}catch{}return!1}async function Ls(){try{if(process.platform==="win32"&&bl(),!await kl())return!1;if(process.platform==="darwin"){let e=yl(Oe(),Xe());return((0,B.existsSync)(se.darwin)?(0,B.readFileSync)(se.darwin,"utf8"):"")===e?!1:((0,B.writeFileSync)(se.darwin,e),!0)}if(process.platform==="win32"){let e=vl();return((0,B.existsSync)(se.win)?(0,B.readFileSync)(se.win,"utf8"):"")===e?!1:((0,B.writeFileSync)(se.win,e),!0)}if(process.platform==="linux"){if((0,B.existsSync)(se.linuxSystemd)){let e=Tl();return(0,B.readFileSync)(se.linuxSystemd,"utf8")===e?!1:((0,B.writeFileSync)(se.linuxSystemd,e),xl(["daemon-reload"]),!0)}if((0,B.existsSync)(se.linux)){let e=Sl();return(0,B.readFileSync)(se.linux,"utf8")===e?!1:((0,B.writeFileSync)(se.linux,e),!0)}}}catch{}return!1}var Mt=F("update"),Rl=Ee.default.dirname((0,Cs.fileURLToPath)(__importMetaUrl)),Ns=(0,z.existsSync)("/.dockerenv"),Ds=8e3;var Lt=2208,Io=Ee.default.join(dt.default.homedir(),".9remote","cloudflared.pid");function Pl(){try{Rs()}catch{}try{if((0,z.existsSync)(Io)){let e=parseInt((0,z.readFileSync)(Io,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,z.unlinkSync)(Io)}catch{}}}catch{}try{process.platform==="win32"?(0,un.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Lt}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,un.execSync)(`lsof -ti:${Lt} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function Bs(){return"3.0.50"}function Us(e,n){let r=e.split(".").map(Number),o=n.split(".").map(Number);for(let t=0;t<3;t++){if(o[t]>r[t])return!0;if(o[t]<r[t])return!1}return!1}function $l(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":Ns?"Docker":null}function Br(){Pl()}async function Fs(){try{let e=Bs();if(!e)return null;let n=await W(to,{signal:AbortSignal.timeout(Ds)});if(!n.ok)return null;let{version:r}=await n.json();return r&&Us(e,r)?{current:e,latest:r}:null}catch{return null}}var Ct=Ee.default.join(V.STATE,Ye.lockFile);function Ol(){try{if((0,z.existsSync)(Ct)){let{pid:e,ts:n}=JSON.parse((0,z.readFileSync)(Ct,"utf8")),r=Date.now()-n<Ye.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,z.writeFileSync)(Ct,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function Il(){try{let e=await W(to,{signal:AbortSignal.timeout(Ds)});if(!e.ok)return null;let{version:n}=await e.json();return n||null}catch{return null}}function Ks(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function Hs(){let e=Xe(),n=Ee.default.sep,r=`${n}lib${n}node_modules${n}`,o=e.indexOf(r);return o>0?{global:"-g",prefix:`--prefix "${e.slice(0,o)}"`}:(o=e.indexOf(`${n}node_modules${n}`),o>0?{global:"",prefix:`--prefix "${e.slice(0,o)}"`}:{global:"-g",prefix:""})}function Ms(){let e=process.argv.slice(2).filter(t=>t!=="--skip-update"),r=e.includes("ui")||e.includes("start")||e.some(t=>["--tray","--auto","--start"].includes(t))?e.join(" "):"--tray";return`${r.includes("--start")||r.includes("start")?r:`${r} --start`} --skip-update`}function js(){let e=process.env.NREMOTE_NPM_CLI;return e&&(0,z.existsSync)(e)?process.platform==="win32"?`"${Oe()}" "${e}"`:`env ELECTRON_RUN_AS_NODE=1 "${Oe()}" "${e}"`:"npm"}function _l(e,n){let r=Ee.default.join(dt.default.tmpdir(),`${ee}-gate.cjs`),o=`const http = require("http");
99
+ `}function xl(e){try{return(0,_t.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Al(){return(0,B.existsSync)(se.linux)||(0,B.existsSync)(se.linuxSystemd)}async function kl(){try{if(process.platform==="darwin")return wl();if(process.platform==="win32")return await El();if(process.platform==="linux")return Al()}catch{}return!1}async function Ls(){try{if(process.platform==="win32"&&bl(),!await kl())return!1;if(process.platform==="darwin"){let e=yl(Oe(),Xe());return((0,B.existsSync)(se.darwin)?(0,B.readFileSync)(se.darwin,"utf8"):"")===e?!1:((0,B.writeFileSync)(se.darwin,e),!0)}if(process.platform==="win32"){let e=vl();return((0,B.existsSync)(se.win)?(0,B.readFileSync)(se.win,"utf8"):"")===e?!1:((0,B.writeFileSync)(se.win,e),!0)}if(process.platform==="linux"){if((0,B.existsSync)(se.linuxSystemd)){let e=Tl();return(0,B.readFileSync)(se.linuxSystemd,"utf8")===e?!1:((0,B.writeFileSync)(se.linuxSystemd,e),xl(["daemon-reload"]),!0)}if((0,B.existsSync)(se.linux)){let e=Sl();return(0,B.readFileSync)(se.linux,"utf8")===e?!1:((0,B.writeFileSync)(se.linux,e),!0)}}}catch{}return!1}var Mt=F("update"),Rl=Ee.default.dirname((0,Cs.fileURLToPath)(__importMetaUrl)),Ns=(0,z.existsSync)("/.dockerenv"),Ds=8e3;var Lt=2208,Io=Ee.default.join(dt.default.homedir(),".9remote","cloudflared.pid");function Pl(){try{Rs()}catch{}try{if((0,z.existsSync)(Io)){let e=parseInt((0,z.readFileSync)(Io,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,z.unlinkSync)(Io)}catch{}}}catch{}try{process.platform==="win32"?(0,un.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Lt}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,un.execSync)(`lsof -ti:${Lt} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function Bs(){return"3.0.52"}function Us(e,n){let r=e.split(".").map(Number),o=n.split(".").map(Number);for(let t=0;t<3;t++){if(o[t]>r[t])return!0;if(o[t]<r[t])return!1}return!1}function $l(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":Ns?"Docker":null}function Br(){Pl()}async function Fs(){try{let e=Bs();if(!e)return null;let n=await W(to,{signal:AbortSignal.timeout(Ds)});if(!n.ok)return null;let{version:r}=await n.json();return r&&Us(e,r)?{current:e,latest:r}:null}catch{return null}}var Ct=Ee.default.join(V.STATE,Ye.lockFile);function Ol(){try{if((0,z.existsSync)(Ct)){let{pid:e,ts:n}=JSON.parse((0,z.readFileSync)(Ct,"utf8")),r=Date.now()-n<Ye.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,z.writeFileSync)(Ct,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function Il(){try{let e=await W(to,{signal:AbortSignal.timeout(Ds)});if(!e.ok)return null;let{version:n}=await e.json();return n||null}catch{return null}}function Ks(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function Hs(){let e=Xe(),n=Ee.default.sep,r=`${n}lib${n}node_modules${n}`,o=e.indexOf(r);return o>0?{global:"-g",prefix:`--prefix "${e.slice(0,o)}"`}:(o=e.indexOf(`${n}node_modules${n}`),o>0?{global:"",prefix:`--prefix "${e.slice(0,o)}"`}:{global:"-g",prefix:""})}function Ms(){let e=process.argv.slice(2).filter(t=>t!=="--skip-update"),r=e.includes("ui")||e.includes("start")||e.some(t=>["--tray","--auto","--start"].includes(t))?e.join(" "):"--tray";return`${r.includes("--start")||r.includes("start")?r:`${r} --start`} --skip-update`}function js(){let e=process.env.NREMOTE_NPM_CLI;return e&&(0,z.existsSync)(e)?process.platform==="win32"?`"${Oe()}" "${e}"`:`env ELECTRON_RUN_AS_NODE=1 "${Oe()}" "${e}"`:"npm"}function _l(e,n){let r=Ee.default.join(dt.default.tmpdir(),`${ee}-gate.cjs`),o=`const http = require("http");
100
100
  const PORT = ${e};
101
101
  const EXIT_MS = ${n};
102
102
  const HTML = '<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>9Remote</title><style>body{margin:0;height:100vh;display:flex;align-items:center;justify-content:center;background:#101218;color:#c9ced6;font-family:system-ui,-apple-system,sans-serif}.spin{width:26px;height:26px;border:3px solid #2a2f3a;border-top-color:#e68a6e;border-radius:50%;animation:r 1s linear infinite;margin:0 auto 14px}@keyframes r{to{transform:rotate(360deg)}}</style></head><body><div><div class="spin"></div><div>9Remote is updating\u2026</div></div><script>setInterval(function(){fetch("/api/health",{cache:"no-store"}).then(function(r){if(r.ok)location.reload()}).catch(function(){})},1500)</script></body></html>';