mirror of
https://github.com/tladesignz/dnstt.git
synced 2026-10-05 21:38:09 +03:00
12 lines
657 B
Plaintext
12 lines
657 B
Plaintext
Randomize the source port for each query in plain-UDP mode. Currently we
|
|
create a socket with net.ListenUDP and use it for all queries, which
|
|
means all queries have the same source address. ValdikSS reports that in
|
|
regions of Turkmenistan, UDP associations that use the same 4-tuple are
|
|
blocked after a few seconds.
|
|
https://ntc.party/t/topic/475
|
|
My idea for this is to create a new PacketConn abstraction that creates
|
|
a bunch (≈100) of goroutines that each do a single query at a time,
|
|
creating a new socket for each one and waiting for a response on the
|
|
same socket up to a timeout. Similar to HTTPPacketConn and its multiple
|
|
instantiations of sendLoop.
|