Skip to content

Commit 4f626f3

Browse files
committed
update
1 parent c604703 commit 4f626f3

File tree

4 files changed

+30
-8
lines changed

4 files changed

+30
-8
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@conet.project/conet-proxy",
33

4-
"version": "1.1.0",
4+
"version": "1.1.2",
55

66
"license": "UNLICENSED",
77
"files": [

src/localServer/localServer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ export class Daemon {
604604
app.get('/stopSilentPass', async (req: any, res: any) => {
605605
logger(Colors.magenta(`stopSilentPass`))
606606
if (_proxyServer) {
607-
await _proxyServer.end()
607+
_proxyServer.end()
608608
}
609609
logger(Colors.magenta(`send stopSilentPass succcess!`))
610610
res.status(200).end()

src/localServer/proxy-server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,7 @@ export class ProxyServer {
725725
}, 10_000)
726726
}
727727

728+
executor(true)
728729
})
729730
}
730731

src/localServer/proxyServer.ts

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,15 @@ export class proxyServer {
411411
this.server = Net.createServer ( socket => {
412412
const ip = socket.remoteAddress
413413
this.clientSockets.add (socket)
414+
415+
socket.setTimeout(15_000)
416+
417+
socket.on('timeout', () => {
418+
// 空闲太久,优雅结束;再给一点时间,不行就摧毁
419+
socket.end();
420+
socket.setTimeout(3_000, () => socket.destroy())
421+
})
422+
414423
const isWhiteIp = this.whiteIpList.find ( n => { return n === ip }) ? true : false
415424
let agent = 'Mozilla/5.0'
416425
// windows 7 GET PAC User-Agent: Mozilla/5.0 (compatible; IE 11.0; Win32; Trident/7.0)
@@ -576,13 +585,26 @@ export class proxyServer {
576585

577586
public end = () => new Promise(resolve=> {
578587
if (this.server !== null) {
588+
579589
this.server.close(err => {
580590
resolve (true)
581591
})
582592

583-
setTimeout(() => {
584-
resolve (true)
585-
}, 6000)
593+
// 2) 尝试优雅结束现有连接
594+
for (const socket of this.clientSockets) {
595+
// 让对端尽快收 FIN,别再 keep-alive
596+
socket.end();
597+
// 给每个 socket 一个短兜底
598+
socket.setTimeout(3_000, () => socket.destroy());
599+
}
600+
601+
// 3) 总兜底:到点还没关完就全毁
602+
setTimeout(() => {
603+
for (const socket of this.clientSockets) {
604+
// 仍未关闭的连接强制销毁
605+
socket.destroy()
606+
}
607+
}, 10_000)
586608

587609
}
588610
})
@@ -628,8 +650,7 @@ const test = () => {
628650
"domain": "B4CB0A41352E9BDF.conet.network"
629651
}]
630652

631-
const privateKey = '0xa64aa6631f218150c1810f4856c12940e209ac3d4060fa24395d74a0754a2773'
653+
const privateKey = ''
632654

633655
new proxyServer('3003',entryNodes, egressNodes, privateKey, true, '')
634-
}
635-
test()
656+
}

0 commit comments

Comments
 (0)