9remote 2.2.4 → 2.2.6
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 +121 -92
- package/dist/ui/assets/{index-DviNN66Q.js → index-KuVi96I-.js} +2890 -2889
- package/dist/ui/index.html +1 -1
- package/package.json +2 -1
package/dist/cli.cjs
CHANGED
|
@@ -9,7 +9,7 @@ Right-click to open / quit`}function es(){let{port:e,tunnelUrl:n}=Ut,r=process.p
|
|
|
9
9
|
`}l||(t+=p)}else{var w=ro(lr).times(o.getModuleCount()+3);t+=w+`
|
|
10
10
|
`,o.modules.forEach(function(S){t+=lr,t+=S.map(Dc).join(""),t+=lr+`
|
|
11
11
|
`}),t+=w}r?r(t):console.log(t)},setErrorLevel:function(e){this.error=Is[e]||this.error}}});var In=require("fs"),Jt=require("path"),wo=require("url"),vo=A(require("os"),1);var On=A(require("dns"),1),Oe=A(require("path"),1),lo=A(require("os"),1),te="9remote",dr=process.env.NREMOTE_REGISTRY||`https://registry.npmjs.org/${te}/latest`,Ie=`${te}@latest`,Ue=Oe.default.join(lo.default.homedir(),".9remote"),ne={ROOT:Ue,LOGS:Oe.default.join(Ue,"logs"),STATE:Oe.default.join(Ue,"state"),CONFIG:Oe.default.join(Ue,"config"),BIN:Oe.default.join(Ue,"bin"),PIDS:Oe.default.join(Ue,"pids"),BUFFERS:Oe.default.join(Ue,"buffers"),DAEMON:Oe.default.join(Ue,"daemon")},uo=new On.default.promises.Resolver;uo.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);var pr=On.default.lookup,ra=/^(\d{1,3}\.){3}\d{1,3}$|^::1$|^[0-9a-f:]+$/i;On.default.lookup=(e,n,r)=>{if(typeof n=="function"&&(r=n,n={}),e==="localhost"||ra.test(e))return pr(e,n,r);uo.resolve4(e).then(o=>{if(!o?.length)return pr(e,n,r);n.all?r(null,o.map(t=>({address:t,family:4}))):r(null,o[0],4)}).catch(()=>pr(e,n,r))};var P=2208,fo=process.execPath,po=(e=process.env)=>process.versions.electron?{...e,ELECTRON_RUN_AS_NODE:"1"}:{...e};var co=5173;var il=[`http://localhost:${P}`,`http://127.0.0.1:${P}`,`http://localhost:${co}`,`http://127.0.0.1:${co}`],qt={fileName:"agent.log",rotatedName:"agent.log.1",maxBytes:2*1024*1024,cleanupAfterDays:7},mo=60,$={STOPPED:0,PREPARING:1,CONNECTING:2,TUNNELING:3,VERIFYING:4,READY:5},ho={showTunnelUrlInMenu:!1};var go={CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN:"1"};var yo={checkIntervalMs:3e4,requestTimeoutMs:5e3},ce={server:{strategy:"exp",baseMs:1e3,maxMs:6e4},tunnelRestart:{strategy:"exp",baseMs:2e3,maxMs:3e5},tunnelSpawn:{strategy:"linear",baseMs:5e3,maxMs:6e4},internet:{strategy:"linear",baseMs:3e3,maxMs:6e4},sse:{strategy:"linear",baseMs:2e3,maxMs:2e3},urlSync:{strategy:"linear",baseMs:5e3,maxMs:6e4}},oa={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 G(e,n={}){return fetch(e,{...n,headers:{...oa,...n.headers}})}var ia=(0,Jt.dirname)((0,wo.fileURLToPath)(__importMetaUrl)),sa=[(0,Jt.join)(vo.default.homedir(),".9remote",".env"),(0,Jt.join)(ia,"..",".env")];function aa(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 sa)if((0,In.existsSync)(e))try{aa((0,In.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(go))process.env[e]||(process.env[e]=n);var wr=A(require("path"),1),Ao=A(require("fs"),1),ko=require("url");var Eo=A(So(),1),hr=A(require("crypto"),1),{machineIdSync:ca}=Eo.default;async function St(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=ca();return hr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),hr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var To=A(require("crypto"),1),la=process.env.API_KEY_SECRET||"9remote-api-key-secret";function ua(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function fa(e,n){return To.default.createHmac("sha256",la).update(e+n).digest("hex").slice(0,6)}function Et(e){let n=e.slice(0,8),r=ua(),o=fa(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function $n(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var se=A(require("fs"),1),Xt=A(require("path"),1);var fl=ne.STATE,gr=Xt.default.join(ne.STATE,"state.json"),yr=Xt.default.join(ne.ROOT,"keys.json"),Cn=Xt.default.join(ne.STATE,"cmd.json"),pl=Xt.default.join(ne.STATE,"settings.json");function Ln(){for(let e of[ne.ROOT,ne.STATE])se.default.existsSync(e)||se.default.mkdirSync(e,{recursive:!0})}function Mn(e){try{Ln(),se.default.writeFileSync(gr,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function xo(){try{se.default.existsSync(gr)&&se.default.unlinkSync(gr)}catch{}}function Nn(){try{return Ln(),se.default.existsSync(yr)?JSON.parse(se.default.readFileSync(yr,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function Tt(e){try{Ln(),se.default.writeFileSync(Cn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function Ro(){try{if(!se.default.existsSync(Cn))return null;let e=JSON.parse(se.default.readFileSync(Cn,"utf8"));return se.default.unlinkSync(Cn),e.cmd}catch{return null}}function ot(e,n,r="Default"){try{Ln();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return se.default.writeFileSync(yr,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function bo(){return process.env.CODESPACES==="true"}var pa=wr.default.dirname((0,ko.fileURLToPath)(__importMetaUrl));async function Be(){let e=await St();if(bo()&&process.env.NREMOTE_API_KEY)return ot(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Nn();if(!n.key){let{key:r}=Et(e);n=ot(e,r,"Default")}return n}function Se(){return"2.2.
|
|
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 sa)if((0,In.existsSync)(e))try{aa((0,In.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(go))process.env[e]||(process.env[e]=n);var wr=A(require("path"),1),Ao=A(require("fs"),1),ko=require("url");var Eo=A(So(),1),hr=A(require("crypto"),1),{machineIdSync:ca}=Eo.default;async function St(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=ca();return hr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),hr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var To=A(require("crypto"),1),la=process.env.API_KEY_SECRET||"9remote-api-key-secret";function ua(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function fa(e,n){return To.default.createHmac("sha256",la).update(e+n).digest("hex").slice(0,6)}function Et(e){let n=e.slice(0,8),r=ua(),o=fa(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function $n(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var se=A(require("fs"),1),Xt=A(require("path"),1);var fl=ne.STATE,gr=Xt.default.join(ne.STATE,"state.json"),yr=Xt.default.join(ne.ROOT,"keys.json"),Cn=Xt.default.join(ne.STATE,"cmd.json"),pl=Xt.default.join(ne.STATE,"settings.json");function Ln(){for(let e of[ne.ROOT,ne.STATE])se.default.existsSync(e)||se.default.mkdirSync(e,{recursive:!0})}function Mn(e){try{Ln(),se.default.writeFileSync(gr,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function xo(){try{se.default.existsSync(gr)&&se.default.unlinkSync(gr)}catch{}}function Nn(){try{return Ln(),se.default.existsSync(yr)?JSON.parse(se.default.readFileSync(yr,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function Tt(e){try{Ln(),se.default.writeFileSync(Cn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function Ro(){try{if(!se.default.existsSync(Cn))return null;let e=JSON.parse(se.default.readFileSync(Cn,"utf8"));return se.default.unlinkSync(Cn),e.cmd}catch{return null}}function ot(e,n,r="Default"){try{Ln();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return se.default.writeFileSync(yr,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function bo(){return process.env.CODESPACES==="true"}var pa=wr.default.dirname((0,ko.fileURLToPath)(__importMetaUrl));async function Be(){let e=await St();if(bo()&&process.env.NREMOTE_API_KEY)return ot(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Nn();if(!n.key){let{key:r}=Et(e);n=ot(e,r,"Default")}return n}function Se(){return"2.2.6"}var Ee=A(require("fs"),1),Sr=A(require("path"),1);var Dn=ne.LOGS,zt=Sr.default.join(Dn,qt.fileName),Fn=Sr.default.join(Dn,qt.rotatedName),_o=!1,Po=null;function da(){Ee.default.existsSync(Dn)||Ee.default.mkdirSync(Dn,{recursive:!0})}function ma(){try{if(Ee.default.statSync(zt).size<qt.maxBytes)return;try{Ee.default.rmSync(Fn,{force:!0})}catch{}Ee.default.renameSync(zt,Fn)}catch{}}function ha(){try{let e=Ee.default.statSync(Fn);Date.now()-e.mtimeMs>qt.cleanupAfterDays*864e5&&Ee.default.rmSync(Fn,{force:!0})}catch{}}function Er(e){try{ma(),Ee.default.appendFileSync(zt,e+`
|
|
13
13
|
`)}catch{}}function vr(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 Oo(){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 ga=/\x1b\[[0-9;]*m/g,ya=/https?:\/\/[^\s]+/g;function wa(e){return String(e).replace(ga,"").replace(ya,"").replace(/\s+$/g,"")}function Zt(e,n,r){let o=wa(r);if(!o)return;let t=n==="info"?e:`${e}:${n}`,i=`${Oo()} [${t}] ${o}`;if(Er(i),Po)try{Po(i)}catch{}}function va(){process.on("uncaughtException",e=>Zt("crash","error",`uncaughtException: ${e?.stack||e?.message||e}`)),process.on("unhandledRejection",e=>{let n=e instanceof Error?e.stack||e.message:String(e);Zt("crash","error",`unhandledRejection: ${n}`)}),process.on("exit",e=>Er(`${Oo()} [exit] code=${e} pid=${process.pid}`))}function Io(){_o||(_o=!0,da(),ha(),Er(`
|
|
14
14
|
=== SESSION ${new Date().toISOString()} pid=${process.pid} argv=${process.argv.slice(2).join(" ")} ===`),va())}function $o(e=60){try{return Ee.default.readFileSync(zt,"utf8").split(`
|
|
15
15
|
`).filter(Boolean).slice(-e)}catch{return[]}}function J(e){return{info:(...n)=>Zt(e,"info",vr(n)),warn:(...n)=>Zt(e,"warn",vr(n)),error:(...n)=>Zt(e,"error",vr(n))}}var en=zt;var Co=(e=0)=>n=>`\x1B[${n+e}m`,Lo=(e=0)=>n=>`\x1B[${38+e};5;${n}m`,Mo=(e=0)=>(n,r,o)=>`\x1B[${38+e};2;${n};${r};${o}m`,M={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]}},Tl=Object.keys(M.modifier),Sa=Object.keys(M.color),Ea=Object.keys(M.bgColor),xl=[...Sa,...Ea];function Ta(){let e=new Map;for(let[n,r]of Object.entries(M)){for(let[o,t]of Object.entries(r))M[o]={open:`\x1B[${t[0]}m`,close:`\x1B[${t[1]}m`},r[o]=M[o],e.set(t[0],t[1]);Object.defineProperty(M,n,{value:r,enumerable:!1})}return Object.defineProperty(M,"codes",{value:e,enumerable:!1}),M.color.close="\x1B[39m",M.bgColor.close="\x1B[49m",M.color.ansi=Co(),M.color.ansi256=Lo(),M.color.ansi16m=Mo(),M.bgColor.ansi=Co(10),M.bgColor.ansi256=Lo(10),M.bgColor.ansi16m=Mo(10),Object.defineProperties(M,{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=>M.rgbToAnsi256(...M.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)=>M.ansi256ToAnsi(M.rgbToAnsi256(n,r,o)),enumerable:!1},hexToAnsi:{value:n=>M.ansi256ToAnsi(M.hexToAnsi256(n)),enumerable:!1}}),M}var xa=Ta(),he=xa;var Bn=A(require("node:process"),1),Do=A(require("node:os"),1),Tr=A(require("node:tty"),1);function le(e,n=globalThis.Deno?globalThis.Deno.args:Bn.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:N}=Bn.default,Un;le("no-color")||le("no-colors")||le("color=false")||le("color=never")?Un=0:(le("color")||le("colors")||le("color=true")||le("color=always"))&&(Un=1);function Ra(){if("FORCE_COLOR"in N)return N.FORCE_COLOR==="true"?1:N.FORCE_COLOR==="false"?0:N.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(N.FORCE_COLOR,10),3)}function ba(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Aa(e,{streamIsTTY:n,sniffFlags:r=!0}={}){let o=Ra();o!==void 0&&(Un=o);let t=r?Un: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 N&&"AGENT_NAME"in N)return 1;if(e&&!n&&t===void 0)return 0;let i=t||0;if(N.TERM==="dumb")return i;if(Bn.default.platform==="win32"){let s=Do.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in N)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in N)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in N)||N.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in N)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(N.TEAMCITY_VERSION)?1:0;if(N.COLORTERM==="truecolor"||N.TERM==="xterm-kitty"||N.TERM==="xterm-ghostty"||N.TERM==="wezterm")return 3;if("TERM_PROGRAM"in N){let s=Number.parseInt((N.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(N.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(N.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(N.TERM)||"COLORTERM"in N?1:i}function No(e,n={}){let r=Aa(e,{streamIsTTY:e&&e.isTTY,...n});return ba(r)}var ka={stdout:No({isTTY:Tr.default.isatty(1)}),stderr:No({isTTY:Tr.default.isatty(2)})},Fo=ka;function Uo(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 Bo(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:${Wn}
|
|
|
71
71
|
|
|
72
72
|
[Install]
|
|
73
73
|
WantedBy=default.target
|
|
74
|
-
`}function Ga(e){try{return(0,at.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Wa(){return(0,C.existsSync)(Q.linux)||(0,C.existsSync)(Q.linuxSystemd)}async function Va(){try{if(process.platform==="darwin")return Fa();if(process.platform==="win32")return await Ha();if(process.platform==="linux")return Wa()}catch{}return!1}async function ei(){try{if(process.platform==="win32"&&Ba(),!await Va())return!1;if(process.platform==="darwin"){let e=Da(Te(),Ke());return((0,C.existsSync)(Q.darwin)?(0,C.readFileSync)(Q.darwin,"utf8"):"")===e?!1:((0,C.writeFileSync)(Q.darwin,e),!0)}if(process.platform==="win32"){let e=Ua();return((0,C.existsSync)(Q.win)?(0,C.readFileSync)(Q.win,"utf8"):"")===e?!1:((0,C.writeFileSync)(Q.win,e),!0)}if(process.platform==="linux"){if((0,C.existsSync)(Q.linuxSystemd)){let e=Ka();return(0,C.readFileSync)(Q.linuxSystemd,"utf8")===e?!1:((0,C.writeFileSync)(Q.linuxSystemd,e),Ga(["daemon-reload"]),!0)}if((0,C.existsSync)(Q.linux)){let e=ja();return(0,C.readFileSync)(Q.linux,"utf8")===e?!1:((0,C.writeFileSync)(Q.linux,e),!0)}}}catch{}return!1}var D="https://9remote.cc",ti=3e4,ni=500,Or=300,ge={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},Ge={intervalMs:2e3,timeoutMs:18e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},re={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400},$e={maxLogLines:200,headerWidth:44},At={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},ri=5e3,oi=2,ii=3e4,ue={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Ya=xe.default.dirname((0,si.fileURLToPath)(__importMetaUrl)),ai=3e3;var Jn=2208,Ir=xe.default.join(kt.default.homedir(),".9remote","cloudflared.pid");function qa(){try{Yo()}catch{}try{if((0,W.existsSync)(Ir)){let e=parseInt((0,W.readFileSync)(Ir,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,W.unlinkSync)(Ir)}catch{}}}catch{}try{process.platform==="win32"?(0,on.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Jn}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,on.execSync)(`lsof -ti:${Jn} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function ci(){return"2.2.
|
|
74
|
+
`}function Ga(e){try{return(0,at.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function Wa(){return(0,C.existsSync)(Q.linux)||(0,C.existsSync)(Q.linuxSystemd)}async function Va(){try{if(process.platform==="darwin")return Fa();if(process.platform==="win32")return await Ha();if(process.platform==="linux")return Wa()}catch{}return!1}async function ei(){try{if(process.platform==="win32"&&Ba(),!await Va())return!1;if(process.platform==="darwin"){let e=Da(Te(),Ke());return((0,C.existsSync)(Q.darwin)?(0,C.readFileSync)(Q.darwin,"utf8"):"")===e?!1:((0,C.writeFileSync)(Q.darwin,e),!0)}if(process.platform==="win32"){let e=Ua();return((0,C.existsSync)(Q.win)?(0,C.readFileSync)(Q.win,"utf8"):"")===e?!1:((0,C.writeFileSync)(Q.win,e),!0)}if(process.platform==="linux"){if((0,C.existsSync)(Q.linuxSystemd)){let e=Ka();return(0,C.readFileSync)(Q.linuxSystemd,"utf8")===e?!1:((0,C.writeFileSync)(Q.linuxSystemd,e),Ga(["daemon-reload"]),!0)}if((0,C.existsSync)(Q.linux)){let e=ja();return(0,C.readFileSync)(Q.linux,"utf8")===e?!1:((0,C.writeFileSync)(Q.linux,e),!0)}}}catch{}return!1}var D="https://9remote.cc",ti=3e4,ni=500,Or=300,ge={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},Ge={intervalMs:2e3,timeoutMs:18e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},re={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400},$e={maxLogLines:200,headerWidth:44},At={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},ri=5e3,oi=2,ii=3e4,ue={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Ya=xe.default.dirname((0,si.fileURLToPath)(__importMetaUrl)),ai=3e3;var Jn=2208,Ir=xe.default.join(kt.default.homedir(),".9remote","cloudflared.pid");function qa(){try{Yo()}catch{}try{if((0,W.existsSync)(Ir)){let e=parseInt((0,W.readFileSync)(Ir,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,W.unlinkSync)(Ir)}catch{}}}catch{}try{process.platform==="win32"?(0,on.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Jn}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,on.execSync)(`lsof -ti:${Jn} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function ci(){return"2.2.6"}function li(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 Ja(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":(0,W.existsSync)("/.dockerenv")?"Docker":null}function Qn(){qa()}async function ui(){try{let e=ci();if(!e)return null;let n=await G(dr,{signal:AbortSignal.timeout(ai)});if(!n.ok)return null;let{version:r}=await n.json();return r&&li(e,r)?{current:e,latest:r}:null}catch{return null}}var qn=xe.default.join(ne.STATE,At.lockFile);function Qa(){try{if((0,W.existsSync)(qn)){let{pid:e,ts:n}=JSON.parse((0,W.readFileSync)(qn,"utf8")),r=Date.now()-n<At.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,W.writeFileSync)(qn,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function Xa(){try{let e=await G(dr,{signal:AbortSignal.timeout(ai)});if(!e.ok)return null;let{version:n}=await e.json();return n||null}catch{return null}}function Za(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function za(){let e=Ke(),n=xe.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 ec(){let e=process.env.NREMOTE_NPM_CLI;return e&&(0,W.existsSync)(e)?process.platform==="win32"?`"${Te()}" "${e}"`:`env ELECTRON_RUN_AS_NODE=1 "${Te()}" "${e}"`:"npm"}function tc({currentVersion:e,latest:n,agentPid:r}){let o=qo(),t=Za(),i=Te(),s=Xo(),a=Ke(),c=qn,l=`--prefer-online --no-audit --no-fund ${t} ${za()}`.trim(),u=ec();if(process.platform==="win32"){let d=xe.default.join(kt.default.tmpdir(),`${te}-restart.vbs`),h=`@echo off
|
|
75
75
|
setlocal EnableDelayedExpansion
|
|
76
76
|
set "NODE=${i}"
|
|
77
77
|
set "CLI=${a}"
|