9remote 2.0.59 → 2.0.60

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 CHANGED
@@ -9,7 +9,7 @@ Right-click to open / quit`}function Hi(){let{port:e,tunnelUrl:n}=Ct,r=process.p
9
9
  `}l||(t+=p)}else{var v=qr(er).times(o.getModuleCount()+3);t+=v+`
10
10
  `,o.modules.forEach(function(T){t+=er,t+=T.map(lc).join(""),t+=er+`
11
11
  `}),t+=v}r?r(t):console.log(t)},setErrorLevel:function(e){this.error=gs[e]||this.error}}});var Rn=require("fs"),jt=require("path"),co=require("url"),lo=A(require("os"),1);var Tn=A(require("dns"),1),Ae=A(require("path"),1),no=A(require("os"),1),ee="9remote",or=process.env.NREMOTE_REGISTRY||`https://registry.npmjs.org/${ee}/latest`,ke=`${ee}@latest`,De=Ae.default.join(no.default.homedir(),".9remote"),te={ROOT:De,LOGS:Ae.default.join(De,"logs"),STATE:Ae.default.join(De,"state"),CONFIG:Ae.default.join(De,"config"),BIN:Ae.default.join(De,"bin"),PIDS:Ae.default.join(De,"pids"),BUFFERS:Ae.default.join(De,"buffers"),DAEMON:Ae.default.join(De,"daemon")},ro=new Tn.default.promises.Resolver;ro.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);var rr=Tn.default.lookup,js=/^(\d{1,3}\.){3}\d{1,3}$|^::1$|^[0-9a-f:]+$/i;Tn.default.lookup=(e,n,r)=>{if(typeof n=="function"&&(r=n,n={}),e==="localhost"||js.test(e))return rr(e,n,r);ro.resolve4(e).then(o=>{if(!o?.length)return rr(e,n,r);n.all?r(null,o.map(t=>({address:t,family:4}))):r(null,o[0],4)}).catch(()=>rr(e,n,r))};var I=2208,to=5173;var Oc=[`http://localhost:${I}`,`http://127.0.0.1:${I}`,`http://localhost:${to}`,`http://127.0.0.1:${to}`],Ht={fileName:"agent.log",rotatedName:"agent.log.1",maxBytes:2*1024*1024,cleanupAfterDays:7},oo=60,C={STOPPED:0,PREPARING:1,CONNECTING:2,TUNNELING:3,VERIFYING:4,READY:5},io={showTunnelUrlInMenu:!1};var so={CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN:"1"};var ao={checkIntervalMs:3e4,requestTimeoutMs:5e3},ae={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}},Ks={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:{...Ks,...n.headers}})}var Gs=(0,jt.dirname)((0,co.fileURLToPath)(__importMetaUrl)),Ws=[(0,jt.join)(lo.default.homedir(),".9remote",".env"),(0,jt.join)(Gs,"..",".env")];function Vs(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 Ws)if((0,Rn.existsSync)(e))try{Vs((0,Rn.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(so))process.env[e]||(process.env[e]=n);var lr=A(require("path"),1),yo=A(require("fs"),1),wo=require("url");var fo=A(uo(),1),sr=A(require("crypto"),1),{machineIdSync:Ys}=fo.default;async function dt(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=Ys();return sr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),sr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var po=A(require("crypto"),1),Js=process.env.API_KEY_SECRET||"9remote-api-key-secret";function Qs(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function qs(e,n){return po.default.createHmac("sha256",Js).update(e+n).digest("hex").slice(0,6)}function mt(e){let n=e.slice(0,8),r=Qs(),o=qs(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function xn(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var ie=A(require("fs"),1),Gt=A(require("path"),1);var Dc=te.STATE,ar=Gt.default.join(te.STATE,"state.json"),cr=Gt.default.join(te.ROOT,"keys.json"),bn=Gt.default.join(te.STATE,"cmd.json"),Fc=Gt.default.join(te.STATE,"settings.json");function An(){for(let e of[te.ROOT,te.STATE])ie.default.existsSync(e)||ie.default.mkdirSync(e,{recursive:!0})}function kn(e){try{An(),ie.default.writeFileSync(ar,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function mo(){try{ie.default.existsSync(ar)&&ie.default.unlinkSync(ar)}catch{}}function _n(){try{return An(),ie.default.existsSync(cr)?JSON.parse(ie.default.readFileSync(cr,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function ht(e){try{An(),ie.default.writeFileSync(bn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function ho(){try{if(!ie.default.existsSync(bn))return null;let e=JSON.parse(ie.default.readFileSync(bn,"utf8"));return ie.default.unlinkSync(bn),e.cmd}catch{return null}}function et(e,n,r="Default"){try{An();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return ie.default.writeFileSync(cr,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function go(){return process.env.CODESPACES==="true"}var Xs=lr.default.dirname((0,wo.fileURLToPath)(__importMetaUrl));async function Fe(){let e=await dt();if(go()&&process.env.NREMOTE_API_KEY)return et(e,process.env.NREMOTE_API_KEY,"Codespace");let n=_n();if(!n.key){let{key:r}=mt(e);n=et(e,r,"Default")}return n}function we(){return"2.0.59"}var ve=A(require("fs"),1),fr=A(require("path"),1);var Pn=te.LOGS,Vt=fr.default.join(Pn,Ht.fileName),In=fr.default.join(Pn,Ht.rotatedName),vo=!1,So=null;function Zs(){ve.default.existsSync(Pn)||ve.default.mkdirSync(Pn,{recursive:!0})}function zs(){try{if(ve.default.statSync(Vt).size<Ht.maxBytes)return;try{ve.default.rmSync(In,{force:!0})}catch{}ve.default.renameSync(Vt,In)}catch{}}function ea(){try{let e=ve.default.statSync(In);Date.now()-e.mtimeMs>Ht.cleanupAfterDays*864e5&&ve.default.rmSync(In,{force:!0})}catch{}}function pr(e){try{zs(),ve.default.appendFileSync(Vt,e+`
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 Ws)if((0,Rn.existsSync)(e))try{Vs((0,Rn.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(so))process.env[e]||(process.env[e]=n);var lr=A(require("path"),1),yo=A(require("fs"),1),wo=require("url");var fo=A(uo(),1),sr=A(require("crypto"),1),{machineIdSync:Ys}=fo.default;async function dt(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=Ys();return sr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),sr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var po=A(require("crypto"),1),Js=process.env.API_KEY_SECRET||"9remote-api-key-secret";function Qs(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function qs(e,n){return po.default.createHmac("sha256",Js).update(e+n).digest("hex").slice(0,6)}function mt(e){let n=e.slice(0,8),r=Qs(),o=qs(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function xn(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var ie=A(require("fs"),1),Gt=A(require("path"),1);var Dc=te.STATE,ar=Gt.default.join(te.STATE,"state.json"),cr=Gt.default.join(te.ROOT,"keys.json"),bn=Gt.default.join(te.STATE,"cmd.json"),Fc=Gt.default.join(te.STATE,"settings.json");function An(){for(let e of[te.ROOT,te.STATE])ie.default.existsSync(e)||ie.default.mkdirSync(e,{recursive:!0})}function kn(e){try{An(),ie.default.writeFileSync(ar,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function mo(){try{ie.default.existsSync(ar)&&ie.default.unlinkSync(ar)}catch{}}function _n(){try{return An(),ie.default.existsSync(cr)?JSON.parse(ie.default.readFileSync(cr,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function ht(e){try{An(),ie.default.writeFileSync(bn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function ho(){try{if(!ie.default.existsSync(bn))return null;let e=JSON.parse(ie.default.readFileSync(bn,"utf8"));return ie.default.unlinkSync(bn),e.cmd}catch{return null}}function et(e,n,r="Default"){try{An();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return ie.default.writeFileSync(cr,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function go(){return process.env.CODESPACES==="true"}var Xs=lr.default.dirname((0,wo.fileURLToPath)(__importMetaUrl));async function Fe(){let e=await dt();if(go()&&process.env.NREMOTE_API_KEY)return et(e,process.env.NREMOTE_API_KEY,"Codespace");let n=_n();if(!n.key){let{key:r}=mt(e);n=et(e,r,"Default")}return n}function we(){return"2.0.60"}var ve=A(require("fs"),1),fr=A(require("path"),1);var Pn=te.LOGS,Vt=fr.default.join(Pn,Ht.fileName),In=fr.default.join(Pn,Ht.rotatedName),vo=!1,So=null;function Zs(){ve.default.existsSync(Pn)||ve.default.mkdirSync(Pn,{recursive:!0})}function zs(){try{if(ve.default.statSync(Vt).size<Ht.maxBytes)return;try{ve.default.rmSync(In,{force:!0})}catch{}ve.default.renameSync(Vt,In)}catch{}}function ea(){try{let e=ve.default.statSync(In);Date.now()-e.mtimeMs>Ht.cleanupAfterDays*864e5&&ve.default.rmSync(In,{force:!0})}catch{}}function pr(e){try{zs(),ve.default.appendFileSync(Vt,e+`
13
13
  `)}catch{}}function ur(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 Eo(){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 ta=/\x1b\[[0-9;]*m/g,na=/https?:\/\/[^\s]+/g;function ra(e){return String(e).replace(ta,"").replace(na,"").replace(/\s+$/g,"")}function Wt(e,n,r){let o=ra(r);if(!o)return;let t=n==="info"?e:`${e}:${n}`,i=`${Eo()} [${t}] ${o}`;if(pr(i),So)try{So(i)}catch{}}function oa(){process.on("uncaughtException",e=>Wt("crash","error",`uncaughtException: ${e?.stack||e?.message||e}`)),process.on("unhandledRejection",e=>{let n=e instanceof Error?e.stack||e.message:String(e);Wt("crash","error",`unhandledRejection: ${n}`)}),process.on("exit",e=>pr(`${Eo()} [exit] code=${e} pid=${process.pid}`))}function To(){vo||(vo=!0,Zs(),ea(),pr(`
14
14
  === SESSION ${new Date().toISOString()} pid=${process.pid} argv=${process.argv.slice(2).join(" ")} ===`),oa())}function Ro(e=60){try{return ve.default.readFileSync(Vt,"utf8").split(`
15
15
  `).filter(Boolean).slice(-e)}catch{return[]}}function Y(e){return{info:(...n)=>Wt(e,"info",ur(n)),warn:(...n)=>Wt(e,"warn",ur(n)),error:(...n)=>Wt(e,"error",ur(n))}}var Yt=Vt;var xo=(e=0)=>n=>`\x1B[${n+e}m`,bo=(e=0)=>n=>`\x1B[${38+e};5;${n}m`,Ao=(e=0)=>(n,r,o)=>`\x1B[${38+e};2;${n};${r};${o}m`,L={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]}},Jc=Object.keys(L.modifier),ia=Object.keys(L.color),sa=Object.keys(L.bgColor),Qc=[...ia,...sa];function aa(){let e=new Map;for(let[n,r]of Object.entries(L)){for(let[o,t]of Object.entries(r))L[o]={open:`\x1B[${t[0]}m`,close:`\x1B[${t[1]}m`},r[o]=L[o],e.set(t[0],t[1]);Object.defineProperty(L,n,{value:r,enumerable:!1})}return Object.defineProperty(L,"codes",{value:e,enumerable:!1}),L.color.close="\x1B[39m",L.bgColor.close="\x1B[49m",L.color.ansi=xo(),L.color.ansi256=bo(),L.color.ansi16m=Ao(),L.bgColor.ansi=xo(10),L.bgColor.ansi256=bo(10),L.bgColor.ansi16m=Ao(10),Object.defineProperties(L,{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=>L.rgbToAnsi256(...L.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)=>L.ansi256ToAnsi(L.rgbToAnsi256(n,r,o)),enumerable:!1},hexToAnsi:{value:n=>L.ansi256ToAnsi(L.hexToAnsi256(n)),enumerable:!1}}),L}var ca=aa(),de=ca;var Cn=A(require("node:process"),1),_o=A(require("node:os"),1),dr=A(require("node:tty"),1);function ce(e,n=globalThis.Deno?globalThis.Deno.args:Cn.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}=Cn.default,On;ce("no-color")||ce("no-colors")||ce("color=false")||ce("color=never")?On=0:(ce("color")||ce("colors")||ce("color=true")||ce("color=always"))&&(On=1);function la(){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 ua(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function fa(e,{streamIsTTY:n,sniffFlags:r=!0}={}){let o=la();o!==void 0&&(On=o);let t=r?On:o;if(t===0)return 0;if(r){if(ce("color=16m")||ce("color=full")||ce("color=truecolor"))return 3;if(ce("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(Cn.default.platform==="win32"){let s=_o.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=fa(e,{streamIsTTY:e&&e.isTTY,...n});return ua(r)}var pa={stdout:ko({isTTY:dr.default.isatty(1)}),stderr:ko({isTTY:dr.default.isatty(2)})},Po=pa;function Io(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 Oo(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
@@ -17,7 +17,7 @@ Right-click to open / quit`}function Hi(){let{port:e,tunnelUrl:n}=Ct,r=process.p
17
17
  `)+r,t=o+1,o=e.indexOf(`
18
18
  `,t)}while(o!==-1);return i+=e.slice(t),i}var{stdout:Co,stderr:$o}=Po,mr=Symbol("GENERATOR"),gt=Symbol("STYLER"),Jt=Symbol("IS_EMPTY"),Lo=["ansi","ansi","ansi256","ansi16m"],yt=Object.create(null),da=(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=Co?Co.level:0;e.level=n.level===void 0?r:n.level};var ma=e=>{let n=(...r)=>r.join(" ");return da(n,e),Object.setPrototypeOf(n,Qt.prototype),n};function Qt(e){return ma(e)}Object.setPrototypeOf(Qt.prototype,Function.prototype);for(let[e,n]of Object.entries(de))yt[e]={get(){let r=$n(this,gr(n.open,n.close,this[gt]),this[Jt]);return Object.defineProperty(this,e,{value:r}),r}};yt.visible={get(){let e=$n(this,this[gt],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var hr=(e,n,r,...o)=>e==="rgb"?n==="ansi16m"?de[r].ansi16m(...o):n==="ansi256"?de[r].ansi256(de.rgbToAnsi256(...o)):de[r].ansi(de.rgbToAnsi(...o)):e==="hex"?hr("rgb",n,r,...de.hexToRgb(...o)):de[r][e](...o),ha=["rgb","hex","ansi256"];for(let e of ha){yt[e]={get(){let{level:r}=this;return function(...o){let t=gr(hr(e,Lo[r],"color",...o),de.color.close,this[gt]);return $n(this,t,this[Jt])}}};let n="bg"+e[0].toUpperCase()+e.slice(1);yt[n]={get(){let{level:r}=this;return function(...o){let t=gr(hr(e,Lo[r],"bgColor",...o),de.bgColor.close,this[gt]);return $n(this,t,this[Jt])}}}}var ga=Object.defineProperties(()=>{},{...yt,level:{enumerable:!0,get(){return this[mr].level},set(e){this[mr].level=e}}}),gr=(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}},$n=(e,n,r)=>{let o=(...t)=>ya(o,t.length===1?""+t[0]:t.join(" "));return Object.setPrototypeOf(o,ga),o[mr]=e,o[gt]=n,o[Jt]=r,o},ya=(e,n)=>{if(e.level<=0||!n)return e[Jt]?"":n;let r=e[gt];if(r===void 0)return n;let{openAll:o,closeAll:t}=r;if(n.includes("\x1B"))for(;r!==void 0;)n=Io(n,r.close,r.open),r=r.parent;let i=n.indexOf(`
19
19
  `);return i!==-1&&(n=Oo(n,t,o,i)),o+n+t};Object.defineProperties(Qt.prototype,yt);var wa=Qt(),nl=Qt({level:$o?$o.level:0});var m=wa;var J=require("fs"),Jo=require("url"),Xt=require("child_process"),Ie=A(require("path"),1),Tt=A(require("os"),1);var wt=A(require("fs"),1),yr=A(require("path"),1),Mo=A(require("os"),1),No=require("child_process"),Ln=yr.default.join(Mo.default.homedir(),".9remote","pids");function va(){try{wt.default.existsSync(Ln)||wt.default.mkdirSync(Ln,{recursive:!0})}catch{}}function wr(e){return yr.default.join(Ln,`${e}.pid`)}function Ue(e,n){if(n)try{va(),wt.default.writeFileSync(wr(e),String(n))}catch{}}function Mn(e){try{let n=wt.default.readFileSync(wr(e),"utf8").trim(),r=parseInt(n,10);return Number.isFinite(r)&&r>0?r:null}catch{return null}}function Be(e){try{wt.default.unlinkSync(wr(e))}catch{}}function Do(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}function Sa(e){let n=Mn(e);if(Be(e),!n)return!1;try{process.platform==="win32"?(0,No.execSync)(`taskkill /F /T /PID ${n}`,{stdio:"ignore",windowsHide:!0}):process.kill(n,"SIGKILL")}catch{}return!0}var Ea=["cloudflared","agent"];function Fo(){for(let e of Ea)Sa(e)}function Uo(){return Ln}var qt=require("child_process"),_e=require("fs"),St=require("path"),Er=A(require("os"),1),vt=A(require("path"),1),Ho=require("url");var sl=(0,St.join)(te.LOGS,"autostart.log"),vr="cc.9remote.agent";var Sr=Er.default.homedir(),Bo=vt.default.dirname((0,Ho.fileURLToPath)(__importMetaUrl)),al={darwin:(0,St.join)(Sr,"Library","LaunchAgents",`${vr}.plist`),linux:(0,St.join)(Sr,".config","autostart",`${vr}.desktop`),linuxSystemd:(0,St.join)(Sr,".config","systemd","user",`${vr}.service`)};function Tr(){for(let e=Bo,n=null;e!==n;n=e,e=vt.default.dirname(e)){let r=vt.default.join(e,"package.json");if((0,_e.existsSync)(r)){try{let o=JSON.parse((0,_e.readFileSync)(r,"utf8"));if(o.name!==ee)continue;let t=typeof o.bin=="string"?o.bin:o.bin?.[ee];if(t){let i=vt.default.resolve(e,t);if((0,_e.existsSync)(i))return i}}catch{}break}}return process.argv[1]||vt.default.resolve(Bo,"..","index.js")}function Rr(){return process.execPath}function jo(e){let n=Rr(),r=Tr();if(process.platform==="win32"){let t=e.join(" "),i=(0,St.join)(Er.default.tmpdir(),`${ee}-launch.vbs`);return(0,_e.writeFileSync)(i,`CreateObject("WScript.Shell").Run """${n}"" ""${r}"" ${t}", 0, False
20
- `),(0,qt.execFile)("wscript.exe",[i],{windowsHide:!0}).unref?.(),null}let o=(0,qt.spawn)(n,[r,...e],{detached:!0,stdio:"ignore"});return o.unref(),o.pid||null}var N="https://9remote.cc",Ko=3e4,Go=500,xr=300,me={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},He={intervalMs:2e3,timeoutMs:18e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ne={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400},Pe={maxLogLines:200,headerWidth:44},Et={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},Wo=5e3,Vo=2,Yo=3e4,le={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Ta=Ie.default.dirname((0,Jo.fileURLToPath)(__importMetaUrl)),Qo=3e3;var Dn=2208,br=Ie.default.join(Tt.default.homedir(),".9remote","cloudflared.pid");function Ra(){try{Fo()}catch{}try{if((0,J.existsSync)(br)){let e=parseInt((0,J.readFileSync)(br,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,J.unlinkSync)(br)}catch{}}}catch{}try{process.platform==="win32"?(0,Xt.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Dn}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,Xt.execSync)(`lsof -ti:${Dn} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function qo(){return"2.0.59"}function Xo(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 xa(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":(0,J.existsSync)("/.dockerenv")?"Docker":null}function Fn(){Ra()}async function Zo(){try{let e=qo();if(!e)return null;let n=await K(or,{signal:AbortSignal.timeout(Qo)});if(!n.ok)return null;let{version:r}=await n.json();return r&&Xo(e,r)?{current:e,latest:r}:null}catch{return null}}var Nn=Ie.default.join(te.STATE,Et.lockFile);function ba(){try{if((0,J.existsSync)(Nn)){let{pid:e,ts:n}=JSON.parse((0,J.readFileSync)(Nn,"utf8")),r=Date.now()-n<Et.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,J.writeFileSync)(Nn,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function Aa(){try{let e=await K(or,{signal:AbortSignal.timeout(Qo)});if(!e.ok)return null;let{version:n}=await e.json();return n||null}catch{return null}}function ka(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function _a({currentVersion:e,latest:n,agentPid:r}){let o=Uo(),t=ka(),i=Rr(),s=Tr(),a=Nn,c=`--prefer-online --no-audit --no-fund ${t}`.trim();if(process.platform==="win32"){let f=Ie.default.join(Tt.default.tmpdir(),`${ee}-restart.vbs`),p=`@echo off
20
+ `),(0,qt.execFile)("wscript.exe",[i],{windowsHide:!0}).unref?.(),null}let o=(0,qt.spawn)(n,[r,...e],{detached:!0,stdio:"ignore"});return o.unref(),o.pid||null}var N="https://9remote.cc",Ko=3e4,Go=500,xr=300,me={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},He={intervalMs:2e3,timeoutMs:18e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ne={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400},Pe={maxLogLines:200,headerWidth:44},Et={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},Wo=5e3,Vo=2,Yo=3e4,le={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Ta=Ie.default.dirname((0,Jo.fileURLToPath)(__importMetaUrl)),Qo=3e3;var Dn=2208,br=Ie.default.join(Tt.default.homedir(),".9remote","cloudflared.pid");function Ra(){try{Fo()}catch{}try{if((0,J.existsSync)(br)){let e=parseInt((0,J.readFileSync)(br,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,J.unlinkSync)(br)}catch{}}}catch{}try{process.platform==="win32"?(0,Xt.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Dn}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,Xt.execSync)(`lsof -ti:${Dn} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function qo(){return"2.0.60"}function Xo(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 xa(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":(0,J.existsSync)("/.dockerenv")?"Docker":null}function Fn(){Ra()}async function Zo(){try{let e=qo();if(!e)return null;let n=await K(or,{signal:AbortSignal.timeout(Qo)});if(!n.ok)return null;let{version:r}=await n.json();return r&&Xo(e,r)?{current:e,latest:r}:null}catch{return null}}var Nn=Ie.default.join(te.STATE,Et.lockFile);function ba(){try{if((0,J.existsSync)(Nn)){let{pid:e,ts:n}=JSON.parse((0,J.readFileSync)(Nn,"utf8")),r=Date.now()-n<Et.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,J.writeFileSync)(Nn,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function Aa(){try{let e=await K(or,{signal:AbortSignal.timeout(Qo)});if(!e.ok)return null;let{version:n}=await e.json();return n||null}catch{return null}}function ka(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function _a({currentVersion:e,latest:n,agentPid:r}){let o=Uo(),t=ka(),i=Rr(),s=Tr(),a=Nn,c=`--prefer-online --no-audit --no-fund ${t}`.trim();if(process.platform==="win32"){let f=Ie.default.join(Tt.default.tmpdir(),`${ee}-restart.vbs`),p=`@echo off
21
21
  setlocal EnableDelayedExpansion
22
22
  set "NODE=${i}"
23
23
  set "CLI=${s}"