Skip to content

Commit

Permalink
optimize: TCP 和 UDP 类型的DNS,只接收响应一次。
Browse files Browse the repository at this point in the history
  • Loading branch information
wangliang181230 committed Mar 5, 2025
1 parent a1767b1 commit d496c39
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions packages/mitmproxy/src/lib/dns/tcp.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ module.exports = class DNSOverTCP extends BaseDNS {
tcpClient.write(Buffer.concat([lengthBuffer, packet]))
})

tcpClient.on('data', (data) => {
tcpClient.once('data', (data) => {
const length = data.readUInt16BE(0)
const response = dnsPacket.decode(data.subarray(2, 2 + length))
resolve(response)
})

tcpClient.on('error', (err) => {
tcpClient.once('error', (err) => {
reject(err)
})
})
Expand Down
2 changes: 1 addition & 1 deletion packages/mitmproxy/src/lib/dns/udp.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ module.exports = class DNSOverUDP extends BaseDNS {
})

// 接收 UDP 响应
udpClient.on('message', (msg) => {
udpClient.once('message', (msg) => {
const response = dnsPacket.decode(msg)
resolve(response)
})
Expand Down
2 changes: 1 addition & 1 deletion packages/mitmproxy/test/dnsTest.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,9 @@ let ip

console.log('\n--------------- test PreSet ---------------\n')
ip = await dnsProviders.PreSet.lookup(presetHostname)
assert.strictEqual(ip, presetIp) // test preset
console.log('===> test PreSet:', ip, '\n\n')
console.log('\n\n')
assert.strictEqual(ip, presetIp) // test preset


console.log('\n--------------- test https ---------------\n')
Expand Down

0 comments on commit d496c39

Please sign in to comment.