mirror of
https://github.com/lush2020/edgetunnel.git
synced 2026-03-21 17:12:33 +08:00
refactor deno
This commit is contained in:
@@ -149,7 +149,7 @@ vlessWServer.on('connection', async function connection(ws, request) {
|
||||
if (isUDP) {
|
||||
udpClientStream = makeUDPSocketStream(portRemote, address);
|
||||
const writer = udpClientStream.writable.getWriter();
|
||||
writer.write(rawClientData).catch(error=>console.log)
|
||||
writer.write(rawClientData).catch((error) => console.log);
|
||||
writer.releaseLock();
|
||||
remoteConnectionReadyResolve(udpClientStream);
|
||||
} else {
|
||||
@@ -281,6 +281,10 @@ async function socketAsyncWrite(ws: Duplex, chunk: Buffer) {
|
||||
}
|
||||
|
||||
async function wsAsyncWrite(ws: WebSocket, chunk: Uint8Array) {
|
||||
// 20m not transmitted to the network
|
||||
while (ws.bufferedAmount > 1024 * 20) {
|
||||
await delay(10);
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
ws.send(chunk, (error) => {
|
||||
if (error) {
|
||||
@@ -318,16 +322,16 @@ function makeUDPSocketStream(portRemote, address) {
|
||||
chunk.slice(index + 2, index + 2 + udpPakcetLength)
|
||||
);
|
||||
index = index + 2 + udpPakcetLength;
|
||||
await new Promise((resolve, reject)=>{
|
||||
udpClient.send(udpData, portRemote, address, (err) => {
|
||||
if (err) {
|
||||
console.log('udps send error', err);
|
||||
controller.error(`Failed to send UDP packet !! ${err}`);
|
||||
safeCloseUDP(udpClient);
|
||||
}
|
||||
resolve(true)
|
||||
await new Promise((resolve, reject) => {
|
||||
udpClient.send(udpData, portRemote, address, (err) => {
|
||||
if (err) {
|
||||
console.log('udps send error', err);
|
||||
controller.error(`Failed to send UDP packet !! ${err}`);
|
||||
safeCloseUDP(udpClient);
|
||||
}
|
||||
resolve(true);
|
||||
});
|
||||
});
|
||||
})
|
||||
index = index;
|
||||
}
|
||||
|
||||
@@ -344,12 +348,10 @@ function makeUDPSocketStream(portRemote, address) {
|
||||
return transformStream;
|
||||
}
|
||||
|
||||
|
||||
function safeCloseUDP(client: UDPSocket){
|
||||
try{
|
||||
client.close()
|
||||
}catch(error){
|
||||
function safeCloseUDP(client: UDPSocket) {
|
||||
try {
|
||||
client.close();
|
||||
} catch (error) {
|
||||
console.log('error close udp', error);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
5668
dist/apps/node-vless/main.js
vendored
5668
dist/apps/node-vless/main.js
vendored
File diff suppressed because it is too large
Load Diff
2
dist/apps/node-vless/main.js.map
vendored
2
dist/apps/node-vless/main.js.map
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user