9remote 2.5.1 → 2.5.2
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 +101 -98
- package/dist/ui/assets/index-BasRWWP1.js +58 -0
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/index-DcU9pHM0.js +0 -58
package/dist/cli.cjs
CHANGED
|
@@ -9,7 +9,7 @@ Right-click to open / quit`}function is(){let{port:e,tunnelUrl:n}=Wt,r=process.p
|
|
|
9
9
|
`}l||(t+=p)}else{var w=uo(wr).times(o.getModuleCount()+3);t+=w+`
|
|
10
10
|
`,o.modules.forEach(function(R){t+=wr,t+=R.map(jc).join(""),t+=wr+`
|
|
11
11
|
`}),t+=w}r?r(t):console.log(t)},setErrorLevel:function(e){this.error=Ns[e]||this.error}}});var Fn=require("fs"),rn=require("path"),bo=require("url"),Ao=k(require("os"),1);var Un=k(require("dns"),1),$e=k(require("path"),1),yo=k(require("os"),1),ne="9remote",Tr=process.env.NREMOTE_REGISTRY||`https://registry.npmjs.org/${ne}/latest`,Ce=`${ne}@latest`,Ge=$e.default.join(yo.default.homedir(),".9remote"),re={ROOT:Ge,LOGS:$e.default.join(Ge,"logs"),STATE:$e.default.join(Ge,"state"),CONFIG:$e.default.join(Ge,"config"),BIN:$e.default.join(Ge,"bin"),PIDS:$e.default.join(Ge,"pids"),BUFFERS:$e.default.join(Ge,"buffers"),DAEMON:$e.default.join(Ge,"daemon")},wo=new Un.default.promises.Resolver;wo.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);var Sr=Un.default.lookup,aa=/^(\d{1,3}\.){3}\d{1,3}$|^::1$|^[0-9a-f:]+$/i;Un.default.lookup=(e,n,r)=>{if(typeof n=="function"&&(r=n,n={}),e==="localhost"||aa.test(e))return Sr(e,n,r);wo.resolve4(e).then(o=>{if(!o?.length)return Sr(e,n,r);n.all?r(null,o.map(t=>({address:t,family:4}))):r(null,o[0],4)}).catch(()=>Sr(e,n,r))};var _=2208,vo=process.execPath,Eo=(e=process.env)=>process.versions.electron?{...e,ELECTRON_RUN_AS_NODE:"1"}:{...e};var go=5173;var ul=[`http://localhost:${_}`,`http://127.0.0.1:${_}`,`http://localhost:${go}`,`http://127.0.0.1:${go}`],nn={fileName:"agent.log",rotatedName:"agent.log.1",maxBytes:2*1024*1024,cleanupAfterDays:7},So=60,I={STOPPED:0,PREPARING:1,CONNECTING:2,TUNNELING:3,VERIFYING:4,READY:5},To={showTunnelUrlInMenu:!1};var Ro={CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN:"1"};var xo={checkIntervalMs:3e4,requestTimeoutMs:5e3},se={server:{strategy:"exp",baseMs:1e3,maxMs:6e4},tunnelRestart:{strategy:"exp",baseMs:2e3,maxMs:3e5},tunnelSpawn:{strategy:"linear",baseMs:5e3,maxMs:6e4},tunnelRateLimit:{strategy:"exp",baseMs:6e4,maxMs:9e5},internet:{strategy:"linear",baseMs:3e3,maxMs:6e4},sse:{strategy:"linear",baseMs:2e3,maxMs:2e3},urlSync:{strategy:"linear",baseMs:5e3,maxMs:6e4}},ca={Accept:"application/json, text/plain, */*","Accept-Language":"en-US,en;q=0.9","Cache-Control":"no-cache",Pragma:"no-cache","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"};function K(e,n={}){return fetch(e,{...n,headers:{...ca,...n.headers}})}var la=(0,rn.dirname)((0,bo.fileURLToPath)(__importMetaUrl)),ua=[(0,rn.join)(Ao.default.homedir(),".9remote",".env"),(0,rn.join)(la,"..",".env")];function fa(e){for(let n of e.split(`
|
|
12
|
-
`)){let r=n.trim();if(!r||r.startsWith("#"))continue;let o=r.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*"?(.*?)"?$/);o&&!process.env[o[1]]&&(process.env[o[1]]=o[2])}}for(let e of ua)if((0,Fn.existsSync)(e))try{fa((0,Fn.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(Ro))process.env[e]||(process.env[e]=n);var kr=k(require("path"),1),Co=k(require("fs"),1),Lo=require("url");var _o=k(ko(),1),xr=k(require("crypto"),1),{machineIdSync:pa}=_o.default;async function Tt(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=pa();return xr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),xr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var Po=k(require("crypto"),1),da=process.env.API_KEY_SECRET||"9remote-api-key-secret";function ma(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function ha(e,n){return Po.default.createHmac("sha256",da).update(e+n).digest("hex").slice(0,6)}function Rt(e){let n=e.slice(0,8),r=ma(),o=ha(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function Bn(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var ae=k(require("fs"),1),sn=k(require("path"),1);var gl=re.STATE,br=sn.default.join(re.STATE,"state.json"),Ar=sn.default.join(re.ROOT,"keys.json"),Hn=sn.default.join(re.STATE,"cmd.json"),yl=sn.default.join(re.STATE,"settings.json");function jn(){for(let e of[re.ROOT,re.STATE])ae.default.existsSync(e)||ae.default.mkdirSync(e,{recursive:!0})}function an(e){try{jn(),ae.default.writeFileSync(br,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function Oo(){try{ae.default.existsSync(br)&&ae.default.unlinkSync(br)}catch{}}function Kn(){try{return jn(),ae.default.existsSync(Ar)?JSON.parse(ae.default.readFileSync(Ar,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function xt(e){try{jn(),ae.default.writeFileSync(Hn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function Io(){try{if(!ae.default.existsSync(Hn))return null;let e=JSON.parse(ae.default.readFileSync(Hn,"utf8"));return ae.default.unlinkSync(Hn),e.cmd}catch{return null}}function ct(e,n,r="Default"){try{jn();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return ae.default.writeFileSync(Ar,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function $o(){return process.env.CODESPACES==="true"}var ga=kr.default.dirname((0,Lo.fileURLToPath)(__importMetaUrl));async function We(){let e=await Tt();if($o()&&process.env.NREMOTE_API_KEY)return ct(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Kn();if(!n.key){let{key:r}=Rt(e);n=ct(e,r,"Default")}return n}function Se(){return"2.5.
|
|
12
|
+
`)){let r=n.trim();if(!r||r.startsWith("#"))continue;let o=r.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*"?(.*?)"?$/);o&&!process.env[o[1]]&&(process.env[o[1]]=o[2])}}for(let e of ua)if((0,Fn.existsSync)(e))try{fa((0,Fn.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(Ro))process.env[e]||(process.env[e]=n);var kr=k(require("path"),1),Co=k(require("fs"),1),Lo=require("url");var _o=k(ko(),1),xr=k(require("crypto"),1),{machineIdSync:pa}=_o.default;async function Tt(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=pa();return xr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),xr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var Po=k(require("crypto"),1),da=process.env.API_KEY_SECRET||"9remote-api-key-secret";function ma(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function ha(e,n){return Po.default.createHmac("sha256",da).update(e+n).digest("hex").slice(0,6)}function Rt(e){let n=e.slice(0,8),r=ma(),o=ha(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function Bn(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var ae=k(require("fs"),1),sn=k(require("path"),1);var gl=re.STATE,br=sn.default.join(re.STATE,"state.json"),Ar=sn.default.join(re.ROOT,"keys.json"),Hn=sn.default.join(re.STATE,"cmd.json"),yl=sn.default.join(re.STATE,"settings.json");function jn(){for(let e of[re.ROOT,re.STATE])ae.default.existsSync(e)||ae.default.mkdirSync(e,{recursive:!0})}function an(e){try{jn(),ae.default.writeFileSync(br,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function Oo(){try{ae.default.existsSync(br)&&ae.default.unlinkSync(br)}catch{}}function Kn(){try{return jn(),ae.default.existsSync(Ar)?JSON.parse(ae.default.readFileSync(Ar,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function xt(e){try{jn(),ae.default.writeFileSync(Hn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function Io(){try{if(!ae.default.existsSync(Hn))return null;let e=JSON.parse(ae.default.readFileSync(Hn,"utf8"));return ae.default.unlinkSync(Hn),e.cmd}catch{return null}}function ct(e,n,r="Default"){try{jn();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return ae.default.writeFileSync(Ar,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function $o(){return process.env.CODESPACES==="true"}var ga=kr.default.dirname((0,Lo.fileURLToPath)(__importMetaUrl));async function We(){let e=await Tt();if($o()&&process.env.NREMOTE_API_KEY)return ct(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Kn();if(!n.key){let{key:r}=Rt(e);n=ct(e,r,"Default")}return n}function Se(){return"2.5.2"}var Te=k(require("fs"),1),_r=k(require("path"),1);var Wn=re.LOGS,cn=_r.default.join(Wn,nn.fileName),Vn=_r.default.join(Wn,nn.rotatedName),No=!1,Mo=null;function ya(){Te.default.existsSync(Wn)||Te.default.mkdirSync(Wn,{recursive:!0})}function wa(){try{if(Te.default.statSync(cn).size<nn.maxBytes)return;try{Te.default.rmSync(Vn,{force:!0})}catch{}Te.default.renameSync(cn,Vn)}catch{}}function va(){try{let e=Te.default.statSync(Vn);Date.now()-e.mtimeMs>nn.cleanupAfterDays*864e5&&Te.default.rmSync(Vn,{force:!0})}catch{}}function Pr(e){try{wa(),Te.default.appendFileSync(cn,e+`
|
|
13
13
|
`)}catch{}}function Gn(e){return e.map(n=>{if(n instanceof Error)return n.stack||n.message;if(typeof n=="object")try{return JSON.stringify(n)}catch{return String(n)}return String(n)}).join(" ")}function Do(){let e=new Date,n=(r,o=2)=>String(r).padStart(o,"0");return`${n(e.getHours())}:${n(e.getMinutes())}:${n(e.getSeconds())}.${n(e.getMilliseconds(),3)}`}var Ea=/\x1b\[[0-9;]*m/g,Sa=/https?:\/\/[^\s]+/g;function Ta(e){return String(e).replace(Ea,"").replace(Sa,"").replace(/\s+$/g,"")}function bt(e,n,r){let o=Ta(r);if(!o)return;let t=n==="info"?e:`${e}:${n}`,i=`${Do()} [${t}] ${o}`;if(Pr(i),Mo)try{Mo(i)}catch{}}function Ra(){process.on("uncaughtException",e=>bt("crash","error",`uncaughtException: ${e?.stack||e?.message||e}`)),process.on("unhandledRejection",e=>{let n=e instanceof Error?e.stack||e.message:String(e);bt("crash","error",`unhandledRejection: ${n}`)}),process.on("exit",e=>Pr(`${Do()} [exit] code=${e} pid=${process.pid}`))}function Uo(){No||(No=!0,ya(),va(),Pr(`
|
|
14
14
|
=== SESSION ${new Date().toISOString()} pid=${process.pid} argv=${process.argv.slice(2).join(" ")} ===`),Ra())}function Fo(e=60){try{return Te.default.readFileSync(cn,"utf8").split(`
|
|
15
15
|
`).filter(Boolean).slice(-e)}catch{return[]}}var xa=process.env.NODE_ENV==="development"||process.env.AGENT_DEBUG==="1";function Q(e){return{debug:(...n)=>{xa&&bt(e,"debug",Gn(n))},info:(...n)=>bt(e,"info",Gn(n)),warn:(...n)=>bt(e,"warn",Gn(n)),error:(...n)=>bt(e,"error",Gn(n))}}var ln=cn;var Bo=(e=0)=>n=>`\x1B[${n+e}m`,Ho=(e=0)=>n=>`\x1B[${38+e};5;${n}m`,jo=(e=0)=>(n,r,o)=>`\x1B[${38+e};2;${n};${r};${o}m`,N={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},kl=Object.keys(N.modifier),ba=Object.keys(N.color),Aa=Object.keys(N.bgColor),_l=[...ba,...Aa];function ka(){let e=new Map;for(let[n,r]of Object.entries(N)){for(let[o,t]of Object.entries(r))N[o]={open:`\x1B[${t[0]}m`,close:`\x1B[${t[1]}m`},r[o]=N[o],e.set(t[0],t[1]);Object.defineProperty(N,n,{value:r,enumerable:!1})}return Object.defineProperty(N,"codes",{value:e,enumerable:!1}),N.color.close="\x1B[39m",N.bgColor.close="\x1B[49m",N.color.ansi=Bo(),N.color.ansi256=Ho(),N.color.ansi16m=jo(),N.bgColor.ansi=Bo(10),N.bgColor.ansi256=Ho(10),N.bgColor.ansi16m=jo(10),Object.defineProperties(N,{rgbToAnsi256:{value(n,r,o){return n===r&&r===o?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(n){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(n.toString(16));if(!r)return[0,0,0];let[o]=r;o.length===3&&(o=[...o].map(i=>i+i).join(""));let t=Number.parseInt(o,16);return[t>>16&255,t>>8&255,t&255]},enumerable:!1},hexToAnsi256:{value:n=>N.rgbToAnsi256(...N.hexToRgb(n)),enumerable:!1},ansi256ToAnsi:{value(n){if(n<8)return 30+n;if(n<16)return 90+(n-8);let r,o,t;if(n>=232)r=((n-232)*10+8)/255,o=r,t=r;else{n-=16;let a=n%36;r=Math.floor(n/36)/5,o=Math.floor(a/6)/5,t=a%6/5}let i=Math.max(r,o,t)*2;if(i===0)return 30;let s=30+(Math.round(t)<<2|Math.round(o)<<1|Math.round(r));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(n,r,o)=>N.ansi256ToAnsi(N.rgbToAnsi256(n,r,o)),enumerable:!1},hexToAnsi:{value:n=>N.ansi256ToAnsi(N.hexToAnsi256(n)),enumerable:!1}}),N}var _a=ka(),he=_a;var qn=k(require("node:process"),1),Go=k(require("node:os"),1),Or=k(require("node:tty"),1);function le(e,n=globalThis.Deno?globalThis.Deno.args:qn.default.argv){let r=e.startsWith("-")?"":e.length===1?"-":"--",o=n.indexOf(r+e),t=n.indexOf("--");return o!==-1&&(t===-1||o<t)}var{env:M}=qn.default,Yn;le("no-color")||le("no-colors")||le("color=false")||le("color=never")?Yn=0:(le("color")||le("colors")||le("color=true")||le("color=always"))&&(Yn=1);function Pa(){if("FORCE_COLOR"in M)return M.FORCE_COLOR==="true"?1:M.FORCE_COLOR==="false"?0:M.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(M.FORCE_COLOR,10),3)}function Oa(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ia(e,{streamIsTTY:n,sniffFlags:r=!0}={}){let o=Pa();o!==void 0&&(Yn=o);let t=r?Yn:o;if(t===0)return 0;if(r){if(le("color=16m")||le("color=full")||le("color=truecolor"))return 3;if(le("color=256"))return 2}if("TF_BUILD"in M&&"AGENT_NAME"in M)return 1;if(e&&!n&&t===void 0)return 0;let i=t||0;if(M.TERM==="dumb")return i;if(qn.default.platform==="win32"){let s=Go.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in M)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in M)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in M)||M.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in M)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(M.TEAMCITY_VERSION)?1:0;if(M.COLORTERM==="truecolor"||M.TERM==="xterm-kitty"||M.TERM==="xterm-ghostty"||M.TERM==="wezterm")return 3;if("TERM_PROGRAM"in M){let s=Number.parseInt((M.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(M.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(M.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(M.TERM)||"COLORTERM"in M?1:i}function Ko(e,n={}){let r=Ia(e,{streamIsTTY:e&&e.isTTY,...n});return Oa(r)}var $a={stdout:Ko({isTTY:Or.default.isatty(1)}),stderr:Ko({isTTY:Or.default.isatty(2)})},Wo=$a;function Vo(e,n,r){let o=e.indexOf(n);if(o===-1)return e;let t=n.length,i=0,s="";do s+=e.slice(i,o)+n+r,i=o+t,o=e.indexOf(n,i);while(o!==-1);return s+=e.slice(i),s}function Yo(e,n,r,o){let t=0,i="";do{let s=e[o-1]==="\r";i+=e.slice(t,s?o-1:o)+n+(s?`\r
|
|
@@ -71,7 +71,7 @@ StandardError=append:${Zn}
|
|
|
71
71
|
|
|
72
72
|
[Install]
|
|
73
73
|
WantedBy=default.target
|
|
74
|
-
`}function Qa(e){try{return(0,ft.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Ja(){return(0,C.existsSync)(J.linux)||(0,C.existsSync)(J.linuxSystemd)}async function Xa(){try{if(process.platform==="darwin")return Ka();if(process.platform==="win32")return await Va();if(process.platform==="linux")return Ja()}catch{}return!1}async function si(){try{if(process.platform==="win32"&&Wa(),!await Xa())return!1;if(process.platform==="darwin"){let e=ja(xe(),Ye());return((0,C.existsSync)(J.darwin)?(0,C.readFileSync)(J.darwin,"utf8"):"")===e?!1:((0,C.writeFileSync)(J.darwin,e),!0)}if(process.platform==="win32"){let e=Ga();return((0,C.existsSync)(J.win)?(0,C.readFileSync)(J.win,"utf8"):"")===e?!1:((0,C.writeFileSync)(J.win,e),!0)}if(process.platform==="linux"){if((0,C.existsSync)(J.linuxSystemd)){let e=qa();return(0,C.readFileSync)(J.linuxSystemd,"utf8")===e?!1:((0,C.writeFileSync)(J.linuxSystemd,e),Qa(["daemon-reload"]),!0)}if((0,C.existsSync)(J.linux)){let e=Ya();return(0,C.readFileSync)(J.linux,"utf8")===e?!1:((0,C.writeFileSync)(J.linux,e),!0)}}}catch{}return!1}var Hl=process.env.NODE_ENV==="development";var D=process.env.NREMOTE_WORKER_URL||"https://9remote.cc",ai=3e4,ci=500,Fr=300,ge={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},qe={intervalMs:2e3,timeoutMs:12e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ue={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Le={maxLogLines:200,headerWidth:44},Pt={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},li=5e3,ui=2,fi=3e4,fe={orange:h.rgb(230,138,110),orangeDim:h.rgb(200,120,95)};var Za=be.default.dirname((0,pi.fileURLToPath)(__importMetaUrl)),di=3e3;var nr=2208,Br=be.default.join(Ot.default.homedir(),".9remote","cloudflared.pid");function za(){try{zo()}catch{}try{if((0,G.existsSync)(Br)){let e=parseInt((0,G.readFileSync)(Br,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,G.unlinkSync)(Br)}catch{}}}catch{}try{process.platform==="win32"?(0,mn.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${nr}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,mn.execSync)(`lsof -ti:${nr} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function mi(){return"2.5.
|
|
74
|
+
`}function Qa(e){try{return(0,ft.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Ja(){return(0,C.existsSync)(J.linux)||(0,C.existsSync)(J.linuxSystemd)}async function Xa(){try{if(process.platform==="darwin")return Ka();if(process.platform==="win32")return await Va();if(process.platform==="linux")return Ja()}catch{}return!1}async function si(){try{if(process.platform==="win32"&&Wa(),!await Xa())return!1;if(process.platform==="darwin"){let e=ja(xe(),Ye());return((0,C.existsSync)(J.darwin)?(0,C.readFileSync)(J.darwin,"utf8"):"")===e?!1:((0,C.writeFileSync)(J.darwin,e),!0)}if(process.platform==="win32"){let e=Ga();return((0,C.existsSync)(J.win)?(0,C.readFileSync)(J.win,"utf8"):"")===e?!1:((0,C.writeFileSync)(J.win,e),!0)}if(process.platform==="linux"){if((0,C.existsSync)(J.linuxSystemd)){let e=qa();return(0,C.readFileSync)(J.linuxSystemd,"utf8")===e?!1:((0,C.writeFileSync)(J.linuxSystemd,e),Qa(["daemon-reload"]),!0)}if((0,C.existsSync)(J.linux)){let e=Ya();return(0,C.readFileSync)(J.linux,"utf8")===e?!1:((0,C.writeFileSync)(J.linux,e),!0)}}}catch{}return!1}var Hl=process.env.NODE_ENV==="development";var D=process.env.NREMOTE_WORKER_URL||"https://9remote.cc",ai=3e4,ci=500,Fr=300,ge={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},qe={intervalMs:2e3,timeoutMs:12e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ue={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Le={maxLogLines:200,headerWidth:44},Pt={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},li=5e3,ui=2,fi=3e4,fe={orange:h.rgb(230,138,110),orangeDim:h.rgb(200,120,95)};var Za=be.default.dirname((0,pi.fileURLToPath)(__importMetaUrl)),di=3e3;var nr=2208,Br=be.default.join(Ot.default.homedir(),".9remote","cloudflared.pid");function za(){try{zo()}catch{}try{if((0,G.existsSync)(Br)){let e=parseInt((0,G.readFileSync)(Br,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,G.unlinkSync)(Br)}catch{}}}catch{}try{process.platform==="win32"?(0,mn.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${nr}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,mn.execSync)(`lsof -ti:${nr} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function mi(){return"2.5.2"}function hi(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 ec(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":(0,G.existsSync)("/.dockerenv")?"Docker":null}function rr(){za()}async function gi(){try{let e=mi();if(!e)return null;let n=await K(Tr,{signal:AbortSignal.timeout(di)});if(!n.ok)return null;let{version:r}=await n.json();return r&&hi(e,r)?{current:e,latest:r}:null}catch{return null}}var tr=be.default.join(re.STATE,Pt.lockFile);function tc(){try{if((0,G.existsSync)(tr)){let{pid:e,ts:n}=JSON.parse((0,G.readFileSync)(tr,"utf8")),r=Date.now()-n<Pt.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,G.writeFileSync)(tr,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function nc(){try{let e=await K(Tr,{signal:AbortSignal.timeout(di)});if(!e.ok)return null;let{version:n}=await e.json();return n||null}catch{return null}}function rc(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function oc(){let e=Ye(),n=be.default.sep;for(let r of[`${n}lib${n}node_modules${n}`,`${n}node_modules${n}`]){let o=e.indexOf(r);if(o>0)return`--prefix "${e.slice(0,o)}"`}return""}function ic(){let e=process.env.NREMOTE_NPM_CLI;return e&&(0,G.existsSync)(e)?process.platform==="win32"?`"${xe()}" "${e}"`:`env ELECTRON_RUN_AS_NODE=1 "${xe()}" "${e}"`:"npm"}function sc({currentVersion:e,latest:n,agentPid:r}){let o=ei(),t=rc(),i=xe(),s=ri(),a=Ye(),c=tr,l=`--prefer-online --no-audit --no-fund ${t} ${oc()}`.trim(),u=ic();if(process.platform==="win32"){let d=be.default.join(Ot.default.tmpdir(),`${ne}-restart.vbs`),m=`@echo off
|
|
75
75
|
setlocal EnableDelayedExpansion
|
|
76
76
|
set "NODE=${i}"
|
|
77
77
|
set "CLI=${a}"
|