9remote 0.1.63 → 2.0.1
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/README.md +179 -62
- package/cli/index.js +704 -294
- package/cli/utils/assets/trayIcon.ico +0 -0
- package/cli/utils/cloudflared.js +72 -36
- package/cli/utils/permissions.js +5 -5
- package/cli/utils/pids.js +114 -0
- package/cli/utils/token.js +3 -1
- package/cli/utils/tray.js +251 -0
- package/cli/utils/tui.js +209 -34
- package/cli/utils/updateChecker.js +107 -13
- package/dist/assets/trayIcon.ico +0 -0
- package/dist/cli.cjs +1 -82
- package/dist/ptyDaemon.cjs +1 -10
- package/dist/server.cjs +2 -184
- package/dist/ui/assets/{index-BfTPkO8b.css → index-COWVKicT.css} +1 -1
- package/dist/ui/assets/index-njTKNAa6.js +8 -0
- package/dist/ui/index.html +2 -2
- package/index.js +174 -618
- package/lib/constants.js +64 -0
- package/lib/deviceApproval.js +116 -0
- package/lib/router.js +134 -0
- package/lib/socketio.js +168 -25
- package/package.json +6 -1
- package/dist/ui/assets/index-B37vtDoz.js +0 -8
package/dist/ptyDaemon.cjs
CHANGED
|
@@ -1,11 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const __importMetaUrl = require('url').pathToFileURL(__filename).href;
|
|
3
|
-
var T=Object.create;var k=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var x=(e,s,n,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of _(s))!P.call(e,t)&&t!==n&&k(e,t,{get:()=>s[t],enumerable:!(r=A(s,t))||r.enumerable});return e};var h=(e,s,n)=>(n=e!=null?T(q(e)):{},x(s||!e||!e.__esModule?k(n,"default",{value:e,enumerable:!0}):n,e));var M=h(require("net"),1),c=h(require("fs"),1),b=h(require("path"),1),D=h(require("os"),1),v=h(require("node-pty"),1),I=b.default.join(D.default.homedir(),".9remote"),g=process.platform==="win32"?"\\\\.\\pipe\\9remote-pty":b.default.join(I,"pty-daemon.sock"),o=new Map,O=new Set,N=50*1024,L=5*1024*1024,R=b.default.join(I,"daemon.log");function F(){try{if(c.default.existsSync(R)&&c.default.statSync(R).size>L){let n=c.default.readFileSync(R,"utf8").slice(-1024*1024);c.default.writeFileSync(R,n)}}catch{}}function l(e,s=null){F();let r=`[${new Date().toISOString()}] ERROR: ${e}`;s&&(r+=` - ${s.message||s}`),r+=`
|
|
4
|
-
`;try{c.default.appendFileSync(R,r)}catch{}console.error(r.trim())}function C(){return process.platform==="win32"?process.env.COMSPEC||"cmd.exe":process.env.SHELL||"/bin/bash"}function $(){return process.env.CODESPACES==="true"?process.env.CODESPACE_VSCODE_FOLDER||"/workspaces":process.env.HOME||process.env.USERPROFILE||D.default.homedir()}function z(){let e={...process.env,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:process.env.LANG||"en_US.UTF-8"},s=C(),n=s.includes("zsh"),r=s.includes("bash");if(n){e.ZDOTDIR=e.ZDOTDIR||e.HOME;let t=`
|
|
5
|
-
precmd() {
|
|
6
|
-
print -Pn "\\e]7;file://%m\${PWD}\\e\\\\"
|
|
7
|
-
}
|
|
8
|
-
`;e._9REMOTE_PRECMD=t}else if(r){let t=e.PROMPT_COMMAND||"";e.PROMPT_COMMAND=`printf "\\e]7;file://%s\\a" "\${HOSTNAME}\${PWD}"${t?`; ${t}`:""}`}return e}function w(e){let s=JSON.stringify(e)+`
|
|
9
|
-
`;for(let n of O)try{n.write(s)}catch{}}function a(e,s){try{e.write(JSON.stringify(s)+`
|
|
10
|
-
`)}catch{}}function j(e,s,n=80,r=24){if(o.has(e))return{success:!1,error:"Session already exists"};let t=C(),d=process.platform==="win32"?[]:["-l"],f=$();try{let i=z();i.NINE_REMOTE_SESSION_ID=e;let m=v.default.spawn(t,d,{name:"xterm-256color",cols:n,rows:r,cwd:f,env:i,useConpty:process.platform==="win32"}),u={pty:m,buffer:[],name:s||`Terminal ${o.size+1}`,createdAt:Date.now(),cwd:f};return m.onData(S=>{u.buffer.push(S);let E=u.buffer.reduce((p,y)=>p+y.length,0);for(;E>N&&u.buffer.length>1;)u.buffer.shift(),E=u.buffer.reduce((p,y)=>p+y.length,0);w({type:"output",sessionId:e,data:Buffer.from(S).toString("base64")})}),m.onExit(()=>{o.delete(e),w({type:"sessionClosed",sessionId:e})}),o.set(e,u),{success:!0,sessionId:e,cwd:f}}catch(i){return l("Failed to create session",i),{success:!1,error:i.message}}}function G(e,s){let{type:n,sessionId:r,...t}=s;switch(n){case"ping":a(e,{type:"pong"});break;case"listSessions":let d=Array.from(o.entries()).map(([p,y])=>({id:p,name:y.name,createdAt:y.createdAt}));a(e,{type:"sessionList",sessions:d,requestId:t.requestId});break;case"createSession":let f=j(t.sessionId||`session-${Date.now()}`,t.name,t.cols,t.rows);a(e,{type:"createResult",...f,requestId:t.requestId});break;case"joinSession":let i=o.get(r);if(!i){a(e,{type:"joinResult",success:!1,error:"Session not found",requestId:t.requestId});return}if(i.buffer.length>0){let p=i.buffer.join("");a(e,{type:"output",sessionId:r,data:Buffer.from(p).toString("base64")})}a(e,{type:"joinResult",success:!0,name:i.name,cwd:i.cwd,requestId:t.requestId});break;case"input":let m=o.get(r);m?.pty&&m.pty.write(t.data);break;case"resize":let u=o.get(r);if(u?.pty)try{u.pty.resize(t.cols,t.rows)}catch{}break;case"deleteSession":let S=o.get(r);S?(S.pty&&S.pty.kill(),o.delete(r),w({type:"sessionClosed",sessionId:r}),a(e,{type:"deleteResult",success:!0,requestId:t.requestId})):a(e,{type:"deleteResult",success:!1,error:"Session not found",requestId:t.requestId});break;case"renameSession":let E=o.get(r);E?(E.name=t.name,w({type:"sessionRenamed",sessionId:r,name:t.name}),a(e,{type:"renameResult",success:!0,requestId:t.requestId})):a(e,{type:"renameResult",success:!1,error:"Session not found",requestId:t.requestId});break;default:l(`Unknown message type: ${n}`)}}function H(){if(!c.default.existsSync(I))try{c.default.mkdirSync(I,{recursive:!0})}catch(s){l("Failed to create socket directory",s),process.exit(1)}if(process.platform!=="win32"&&c.default.existsSync(g))try{c.default.unlinkSync(g)}catch(s){l("Failed to remove stale socket",s),process.exit(1)}let e=M.default.createServer(s=>{O.add(s);let n="";s.on("data",r=>{n+=r.toString();let t=n.split(`
|
|
11
|
-
`);n=t.pop()||"";for(let d of t)if(d.trim())try{let f=JSON.parse(d);G(s,f)}catch{l("Invalid message",d)}}),s.on("close",()=>{O.delete(s)}),s.on("error",r=>{l("Client error",r),O.delete(s)})});e.on("error",s=>{l("Server error",s),s.code==="EADDRINUSE"&&l("Socket already in use, exiting"),process.exit(1)}),e.listen(g),process.on("SIGTERM",()=>{for(let[,s]of o)s.pty&&s.pty.kill();e.close(),process.platform!=="win32"&&c.default.existsSync(g)&&c.default.unlinkSync(g),process.exit(0)}),process.on("SIGINT",()=>{process.emit("SIGTERM")})}H();
|
|
2
|
+
const _0x3f859b=_0x52e7;(function(_0x326396,_0x5a6143){const _0x179f8f=_0x52e7,_0x283480=_0x326396();while(!![]){try{const _0x1d6240=-parseInt(_0x179f8f(0x1b9))/0x1*(-parseInt(_0x179f8f(0x1ca))/0x2)+parseInt(_0x179f8f(0x1ce))/0x3*(-parseInt(_0x179f8f(0x1c9))/0x4)+-parseInt(_0x179f8f(0x1a9))/0x5+parseInt(_0x179f8f(0x1ed))/0x6*(parseInt(_0x179f8f(0x1e2))/0x7)+parseInt(_0x179f8f(0x1a0))/0x8*(-parseInt(_0x179f8f(0x1ab))/0x9)+parseInt(_0x179f8f(0x1ba))/0xa*(-parseInt(_0x179f8f(0x197))/0xb)+parseInt(_0x179f8f(0x19c))/0xc*(parseInt(_0x179f8f(0x209))/0xd);if(_0x1d6240===_0x5a6143)break;else _0x283480['push'](_0x283480['shift']());}catch(_0x323b4b){_0x283480['push'](_0x283480['shift']());}}}(_0x2a23,0xd20b5));const __importMetaUrl=require('url')[_0x3f859b(0x1fd)](__filename)['href'];var _=Object['create'],v=Object[_0x3f859b(0x1bd)],P=Object['getOwnPropertyDescriptor'],T=Object[_0x3f859b(0x1f3)],q=Object['getPrototypeOf'],x=Object['prototype']['hasOwnProperty'],F=(_0x6f6679,_0x2bc865,_0x3ecea4,_0x150cda)=>{const _0x4f7386=_0x3f859b;if(_0x2bc865&&typeof _0x2bc865==_0x4f7386(0x196)||typeof _0x2bc865==_0x4f7386(0x19d)){for(let _0x3a2914 of T(_0x2bc865))!x[_0x4f7386(0x1e0)](_0x6f6679,_0x3a2914)&&_0x3a2914!==_0x3ecea4&&v(_0x6f6679,_0x3a2914,{'get':()=>_0x2bc865[_0x3a2914],'enumerable':!(_0x150cda=P(_0x2bc865,_0x3a2914))||_0x150cda[_0x4f7386(0x1a8)]});}return _0x6f6679;},g=(_0xe9085a,_0x18681e,_0x5b6fd5)=>(_0x5b6fd5=_0xe9085a!=null?_(q(_0xe9085a)):{},F(_0x18681e||!_0xe9085a||!_0xe9085a['__esModule']?v(_0x5b6fd5,_0x3f859b(0x207),{'value':_0xe9085a,'enumerable':!0x0}):_0x5b6fd5,_0xe9085a)),M=g(require('net'),0x1),o=g(require('fs'),0x1),h=g(require(_0x3f859b(0x1dc)),0x1),k=g(require('os'),0x1),A=g(require('node-pty'),0x1),R=h['default'][_0x3f859b(0x1b7)](k[_0x3f859b(0x207)][_0x3f859b(0x1b2)](),'.9remote'),I=process[_0x3f859b(0x1e3)]===_0x3f859b(0x1ee)?_0x3f859b(0x1bf):h[_0x3f859b(0x207)][_0x3f859b(0x1b7)](R,_0x3f859b(0x1d5)),b=h['default'][_0x3f859b(0x1b7)](R,_0x3f859b(0x1e5),_0x3f859b(0x206)),i=new Map(),w=new Set(),L=0x32*0x400,N=0x5*0x400*0x400,O=h[_0x3f859b(0x207)][_0x3f859b(0x1b7)](R,'daemon.log');function $(){const _0x2510e6=_0x3f859b;try{if(o['default']['existsSync'](O)&&o[_0x2510e6(0x207)][_0x2510e6(0x1b8)](O)[_0x2510e6(0x1fa)]>N){let _0x585a14=o[_0x2510e6(0x207)][_0x2510e6(0x1bb)](O,_0x2510e6(0x1ac))[_0x2510e6(0x1aa)](-0x400*0x400);o[_0x2510e6(0x207)][_0x2510e6(0x19e)](O,_0x585a14);}}catch{}}function l(_0x26371f,_0x20b77d=null){const _0x1c77e3=_0x3f859b;$();let _0x45a0be='['+new Date()[_0x1c77e3(0x1e9)]()+']\x20ERROR:\x20'+_0x26371f;_0x20b77d&&(_0x45a0be+=_0x1c77e3(0x1b0)+(_0x20b77d[_0x1c77e3(0x1c2)]||_0x20b77d)),_0x45a0be+='\x0a';try{o[_0x1c77e3(0x207)]['appendFileSync'](O,_0x45a0be);}catch{}console[_0x1c77e3(0x198)](_0x45a0be[_0x1c77e3(0x1a7)]());}function C(){const _0x363caa=_0x3f859b;return process[_0x363caa(0x1e3)]==='win32'?process.env.COMSPEC||_0x363caa(0x1df):process.env.SHELL||_0x363caa(0x1a6);}function _0x52e7(_0x4c6e7a,_0x6d17b1){_0x4c6e7a=_0x4c6e7a-0x195;const _0x2a230e=_0x2a23();let _0x52e795=_0x2a230e[_0x4c6e7a];if(_0x52e7['ebGEcJ']===undefined){var _0x178e35=function(_0xf94e86){const _0x5a9b6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6f6679='',_0x2bc865='';for(let _0x3ecea4=0x0,_0x150cda,_0x3a2914,_0xe9085a=0x0;_0x3a2914=_0xf94e86['charAt'](_0xe9085a++);~_0x3a2914&&(_0x150cda=_0x3ecea4%0x4?_0x150cda*0x40+_0x3a2914:_0x3a2914,_0x3ecea4++%0x4)?_0x6f6679+=String['fromCharCode'](0xff&_0x150cda>>(-0x2*_0x3ecea4&0x6)):0x0){_0x3a2914=_0x5a9b6c['indexOf'](_0x3a2914);}for(let _0x18681e=0x0,_0x5b6fd5=_0x6f6679['length'];_0x18681e<_0x5b6fd5;_0x18681e++){_0x2bc865+='%'+('00'+_0x6f6679['charCodeAt'](_0x18681e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2bc865);};_0x52e7['RffbQj']=_0x178e35,_0x52e7['VhFvOT']={},_0x52e7['ebGEcJ']=!![];}const _0x2ad9fc=_0x2a230e[0x0],_0x2ae223=_0x4c6e7a+_0x2ad9fc,_0x212be0=_0x52e7['VhFvOT'][_0x2ae223];return!_0x212be0?(_0x52e795=_0x52e7['RffbQj'](_0x52e795),_0x52e7['VhFvOT'][_0x2ae223]=_0x52e795):_0x52e795=_0x212be0,_0x52e795;}function j(){const _0x38b2e0=_0x3f859b;return process.env.CODESPACES===_0x38b2e0(0x1e7)?process.env.CODESPACE_VSCODE_FOLDER||_0x38b2e0(0x1d1):process.env.HOME||process.env.USERPROFILE||k[_0x38b2e0(0x207)][_0x38b2e0(0x1b2)]();}function _0x2a23(){const _0x1d4087=['B2jQzwn0','mtmYt01RtKfd','zxjYB3i','C2HPzNq','y2XVC2u','se9nrq','odaZoda2oeDUtejYta','zNvUy3rPB24','D3jPDgvgAwXLu3LUyW','zxHPDa','mti2nZu4ngPkANjAra','wKrpverjuG','rMfPBgvKihrVihjLBw92zsbZDgfSzsbZB2nRzxq','CgLK','Aw5WDxq','CMvXDwvZDeLK','l2jPBI9IyxnO','DhjPBq','zw51BwvYywjSzq','odK1otvQyKrVyvm','C2XPy2u','nZjyCKz5Bg8','DxrMoa','BwTKAxjtEw5J','u0Lhvevstq','y29Kzq','ic0G','Cg9W','Ag9TzwrPCG','AM9PBLjLC3vSDa','BgLZDgvU','vgvYBwLUywWG','zNjVBq','AM9PBG','C3rHDfn5BMm','mZz1CKvirhG','odq0mJyWvxLnqLfz','CMvHzezPBgvtEw5J','zgvSzxrLuMvZDwX0','zgvMAw5LuhjVCgvYDhK','vw5RBM93BIbTzxnZywDLihr5Cgu6ia','xfWUxhbPCgvCoxjLBw90zs1WDhK','BgvUz3rO','CgLUzW','BwvZC2fNzq','zgf0yq','Chr5','q2XPzw50igvYCM9Y','u0Lhsu5u','AgfZ','BwfW','nfzTAMPlrG','ndq0mZrrDKPmyKS','ruferfjjtLvtrq','C2vZC2LVBKLK','CMvUyw1Lu2vZC2LVBG','mtmYnty3owPAyxDlyG','ufjptvbux0nptu1btKq','yMfZzty0','l3DVCMTZCgfJzxm','u2vZC2LVBIbHBhjLywr5igv4Axn0CW','D3jPDgu','B3v0Chv0','Chr5lwrHzw1VBI5ZB2nR','Aw5JBhvKzxm','zxHPC3rZu3LUyW','C2vZC2LVBLjLBMfTzwq','yNvMzMvY','z2v0','CMvKDwnL','Cgf0Aa','u2vYDMvYigvYCM9Y','y29SCW','y21KlMv4zq','y2fSBa','C2vZC2LVBKnSB3nLza','mJG1nJbqwhDLveG','CgXHDgzVCM0','Dw5SAw5Ru3LUyW','CgLKCW','BMfTzq','Dhj1zq','rMfPBgvKihrVignYzwf0zsbZzxnZAw9U','Dg9ju09tDhjPBMC','BgLZDfnLC3nPB25Z','yMfZAa','C3bSAxq','mte2ng1gA2XKzG','D2LUmZi','CgfYC2u','C3bHD24','y3jLyxrLu2vZC2LVBG','CMvZAxPL','z2v0t3DUuhjVCgvYDhLoyw1LCW','y3jLyxrLuMvZDwX0','Dg9tDhjPBMC','u2vZC2LVBIbUB3qGzM91BMq','zw50CMLLCW','B25fEgL0','tKLorv9sru1pvevFu0vtu0LptL9jra','C2L6zq','y3jLyxrLzef0','zgvSzxrL','Cgf0AfrVrMLSzvvsta','ywrK','xZLsru1pvevFufjfq01e','y3jLyxrLu2vYDMvY','EhrLCM0TmJu2y29SB3i','CMvUyw1LuMvZDwX0','ChjPBNrMicjCzv03o2zPBgu6lY8LC1XHiIaIjhTit1nutKfnrx0KE1bxrh0I','Dhj1zwnVBg9Y','CM93CW','Chr5rgfLBw9UlNbPza','zgvMyxvSDa','ChvZAa','mZLfuhvOBwW','C3rYAw5NAwz5','C2vZC2LVBI0'];_0x2a23=function(){return _0x1d4087;};return _0x2a23();}function z(){const _0x37ecef=_0x3f859b;let _0x490410={...process.env,'TERM':_0x37ecef(0x201),'COLORTERM':_0x37ecef(0x204),'LANG':process.env.LANG||'en_US.UTF-8'},_0x4d52b1=C(),_0x548b72=_0x4d52b1[_0x37ecef(0x1d6)]('zsh'),_0x3cd88f=_0x4d52b1[_0x37ecef(0x1d6)](_0x37ecef(0x1eb));if(_0x548b72){_0x490410[_0x37ecef(0x1a1)]=_0x490410[_0x37ecef(0x1a1)]||_0x490410[_0x37ecef(0x19b)];let _0x54e540='\x0aprecmd()\x20{\x0a\x20\x20print\x20-Pn\x20\x22\x5ce]7;file://%m${PWD}\x5ce\x5c\x5c\x22\x0a}\x0a';_0x490410[_0x37ecef(0x1ff)]=_0x54e540;}else{if(_0x3cd88f){let _0x33c09f=_0x490410[_0x37ecef(0x1cf)]||'';_0x490410[_0x37ecef(0x1cf)]=_0x37ecef(0x203)+(_0x33c09f?';\x20'+_0x33c09f:'');}}return _0x490410;}function D(_0x32d321){const _0x2dcf71=_0x3f859b;let _0x2c71ee=JSON[_0x2dcf71(0x20a)](_0x32d321)+'\x0a';for(let _0x34de55 of w)try{_0x34de55[_0x2dcf71(0x1d3)](_0x2c71ee);}catch{}}function a(_0x275e61,_0x49de1e){const _0x2bc194=_0x3f859b;try{_0x275e61[_0x2bc194(0x1d3)](JSON['stringify'](_0x49de1e)+'\x0a');}catch{}}function H(_0x5eaa97,_0x273908,_0x40291c=0x50,_0x5f2fa0=0x18){const _0x3147bb=_0x3f859b;if(i[_0x3147bb(0x1c7)](_0x5eaa97))return{'success':!0x1,'error':_0x3147bb(0x1d2)};let _0x596a09=C(),_0x5a65ae=process[_0x3147bb(0x1e3)]===_0x3147bb(0x1ee)?[]:['-l'],_0x15775e=j();try{let _0x546caf=z();_0x546caf[_0x3147bb(0x1f9)]=_0x5eaa97;let _0x19153f=A['default'][_0x3147bb(0x1f0)](_0x596a09,_0x5a65ae,{'name':_0x3147bb(0x201),'cols':_0x40291c,'rows':_0x5f2fa0,'cwd':_0x15775e,'env':_0x546caf,'useConpty':process['platform']===_0x3147bb(0x1ee)}),_0x2e4a82={'pty':_0x19153f,'buffer':[],'name':_0x273908||_0x3147bb(0x1b5)+(i[_0x3147bb(0x1fa)]+0x1),'createdAt':Date['now'](),'cwd':_0x15775e};return _0x19153f['onData'](_0x5eb517=>{const _0x126a1e=_0x3147bb;_0x2e4a82['buffer'][_0x126a1e(0x208)](_0x5eb517);let _0x5e6621=_0x2e4a82[_0x126a1e(0x1d9)][_0x126a1e(0x1db)]((_0x37bdfb,_0x2e2d1c)=>_0x37bdfb+_0x2e2d1c[_0x126a1e(0x1c0)],0x0);for(;_0x5e6621>L&&_0x2e4a82[_0x126a1e(0x1d9)][_0x126a1e(0x1c0)]>0x1;)_0x2e4a82[_0x126a1e(0x1d9)][_0x126a1e(0x199)](),_0x5e6621=_0x2e4a82[_0x126a1e(0x1d9)][_0x126a1e(0x1db)]((_0x2aee89,_0x9f05ec)=>_0x2aee89+_0x9f05ec[_0x126a1e(0x1c0)],0x0);D({'type':_0x126a1e(0x1d4),'sessionId':_0x5eaa97,'data':Buffer[_0x126a1e(0x1b6)](_0x5eb517)['toString'](_0x126a1e(0x1d0))});}),_0x19153f[_0x3147bb(0x1f8)](()=>{const _0x1a80d3=_0x3147bb;i['delete'](_0x5eaa97),D({'type':_0x1a80d3(0x1e1),'sessionId':_0x5eaa97});}),i['set'](_0x5eaa97,_0x2e4a82),{'success':!0x0,'sessionId':_0x5eaa97,'cwd':_0x15775e};}catch(_0xe51fd4){return l(_0x3147bb(0x1e8),_0xe51fd4),{'success':!0x1,'error':_0xe51fd4[_0x3147bb(0x1c2)]};}}function G(_0x58b997,_0x5820d3){const _0x5b90a7=_0x3f859b;let {type:_0x1c2153,sessionId:_0x57d93b,..._0x3dbe1c}=_0x5820d3;switch(_0x1c2153){case _0x5b90a7(0x1c1):a(_0x58b997,{'type':'pong'});break;case _0x5b90a7(0x1ea):let _0x425c15=Array['from'](i[_0x5b90a7(0x1f7)]())[_0x5b90a7(0x1c8)](([_0x39727a,_0x3ba7de])=>({'id':_0x39727a,'name':_0x3ba7de['name'],'createdAt':_0x3ba7de[_0x5b90a7(0x1fb)]}));a(_0x58b997,{'type':'sessionList','sessions':_0x425c15,'requestId':_0x3dbe1c[_0x5b90a7(0x1a5)]});break;case _0x5b90a7(0x1f1):let _0x2c3608=H(_0x3dbe1c[_0x5b90a7(0x1cc)]||_0x5b90a7(0x195)+Date['now'](),_0x3dbe1c[_0x5b90a7(0x1e6)],_0x3dbe1c['cols'],_0x3dbe1c[_0x5b90a7(0x205)]);a(_0x58b997,{'type':_0x5b90a7(0x1f4),..._0x2c3608,'requestId':_0x3dbe1c['requestId']});break;case'joinSession':let _0x15258b=i[_0x5b90a7(0x1da)](_0x57d93b);if(!_0x15258b){a(_0x58b997,{'type':_0x5b90a7(0x1b3),'success':!0x1,'error':_0x5b90a7(0x1f6),'requestId':_0x3dbe1c[_0x5b90a7(0x1a5)]});return;}if(_0x15258b[_0x5b90a7(0x1d9)][_0x5b90a7(0x1c0)]>0x0){let _0x4b3d92=_0x15258b[_0x5b90a7(0x1d9)][_0x5b90a7(0x1b7)]('');a(_0x58b997,{'type':_0x5b90a7(0x1d4),'sessionId':_0x57d93b,'data':Buffer[_0x5b90a7(0x1b6)](_0x4b3d92)[_0x5b90a7(0x1f5)](_0x5b90a7(0x1d0))});}a(_0x58b997,{'type':_0x5b90a7(0x1b3),'success':!0x0,'name':_0x15258b['name'],'cwd':_0x15258b['cwd'],'requestId':_0x3dbe1c[_0x5b90a7(0x1a5)]});break;case _0x5b90a7(0x1a4):let _0xd9fa4d=i['get'](_0x57d93b);_0xd9fa4d?.[_0x5b90a7(0x1c4)]&&_0xd9fa4d['pty'][_0x5b90a7(0x1d3)](_0x3dbe1c[_0x5b90a7(0x1c3)]);break;case _0x5b90a7(0x1f2):let _0x5f0cb8=i['get'](_0x57d93b);if(_0x5f0cb8?.[_0x5b90a7(0x1c4)])try{_0x5f0cb8['pty'][_0x5b90a7(0x1f2)](_0x3dbe1c[_0x5b90a7(0x1de)],_0x3dbe1c[_0x5b90a7(0x205)]);}catch{}break;case'deleteSession':let _0x298110=i[_0x5b90a7(0x1da)](_0x57d93b);_0x298110?(_0x298110[_0x5b90a7(0x1c4)]&&_0x298110[_0x5b90a7(0x1c4)]['kill'](),i[_0x5b90a7(0x1fc)](_0x57d93b),D({'type':'sessionClosed','sessionId':_0x57d93b}),a(_0x58b997,{'type':_0x5b90a7(0x1bc),'success':!0x0,'requestId':_0x3dbe1c[_0x5b90a7(0x1a5)]})):a(_0x58b997,{'type':_0x5b90a7(0x1bc),'success':!0x1,'error':_0x5b90a7(0x1f6),'requestId':_0x3dbe1c['requestId']});break;case _0x5b90a7(0x1cd):let _0x41caf7=i['get'](_0x57d93b);_0x41caf7?(_0x41caf7[_0x5b90a7(0x1e6)]=_0x3dbe1c['name'],D({'type':_0x5b90a7(0x1d8),'sessionId':_0x57d93b,'name':_0x3dbe1c['name']}),a(_0x58b997,{'type':_0x5b90a7(0x202),'success':!0x0,'requestId':_0x3dbe1c[_0x5b90a7(0x1a5)]})):a(_0x58b997,{'type':'renameResult','success':!0x1,'error':_0x5b90a7(0x1f6),'requestId':_0x3dbe1c[_0x5b90a7(0x1a5)]});break;default:l(_0x5b90a7(0x1be)+_0x1c2153);}}function U(){const _0x4e18eb=_0x3f859b;if(!o[_0x4e18eb(0x207)][_0x4e18eb(0x1d7)](R))try{o[_0x4e18eb(0x207)][_0x4e18eb(0x1ad)](R,{'recursive':!0x0});}catch(_0xfc02e8){l('Failed\x20to\x20create\x20socket\x20directory',_0xfc02e8),process['exit'](0x1);}if(process[_0x4e18eb(0x1e3)]!==_0x4e18eb(0x1ee)&&o[_0x4e18eb(0x207)]['existsSync'](I))try{o[_0x4e18eb(0x207)]['unlinkSync'](I);}catch(_0x1605d4){l(_0x4e18eb(0x1a2),_0x1605d4),process[_0x4e18eb(0x19f)](0x1);}let _0x4d77ea=M['default'][_0x4e18eb(0x200)](_0x36ed08=>{const _0x14c165=_0x4e18eb;w[_0x14c165(0x1fe)](_0x36ed08);let _0x129496='';_0x36ed08['on'](_0x14c165(0x1c3),_0x22b7e0=>{const _0x3f54c7=_0x14c165;_0x129496+=_0x22b7e0[_0x3f54c7(0x1f5)]();let _0x121cf4=_0x129496[_0x3f54c7(0x1ec)]('\x0a');_0x129496=_0x121cf4[_0x3f54c7(0x1b1)]()||'';for(let _0x35fea6 of _0x121cf4)if(_0x35fea6[_0x3f54c7(0x1a7)]())try{let _0x4599af=JSON[_0x3f54c7(0x1ef)](_0x35fea6);G(_0x36ed08,_0x4599af);}catch{l('Invalid\x20message',_0x35fea6);}}),_0x36ed08['on'](_0x14c165(0x19a),()=>{const _0x359e69=_0x14c165;w[_0x359e69(0x1fc)](_0x36ed08);}),_0x36ed08['on'](_0x14c165(0x198),_0x16b26f=>{const _0x5bfe0e=_0x14c165;l(_0x5bfe0e(0x1c5),_0x16b26f),w['delete'](_0x36ed08);});});_0x4d77ea['on'](_0x4e18eb(0x198),_0xebb762=>{const _0xc67516=_0x4e18eb;l(_0xc67516(0x1dd),_0xebb762),_0xebb762[_0xc67516(0x1af)]===_0xc67516(0x1cb)&&l('Socket\x20already\x20in\x20use,\x20exiting'),process[_0xc67516(0x19f)](0x1);}),_0x4d77ea[_0x4e18eb(0x1b4)](I);try{o['default'][_0x4e18eb(0x1ad)](h[_0x4e18eb(0x207)]['dirname'](b),{'recursive':!0x0}),o[_0x4e18eb(0x207)][_0x4e18eb(0x19e)](b,String(process[_0x4e18eb(0x1a3)]));}catch{}let _0x27414b=()=>{const _0x138bef=_0x4e18eb;for(let [,_0x1948a4]of i)if(_0x1948a4['pty'])try{_0x1948a4['pty']['kill']();}catch{}try{_0x4d77ea[_0x138bef(0x19a)]();}catch{}if(process['platform']!==_0x138bef(0x1ee)&&o['default']['existsSync'](I))try{o['default'][_0x138bef(0x1e4)](I);}catch{}try{o[_0x138bef(0x207)][_0x138bef(0x1e4)](b);}catch{}process[_0x138bef(0x19f)](0x0);};process['on'](_0x4e18eb(0x1ae),_0x27414b),process['on'](_0x4e18eb(0x1c6),_0x27414b);}U();
|