refactor: adjust runNoise method to use a fixed interval for decoy queries

This commit is contained in:
Sarto
2026-03-26 03:37:55 +03:30
parent 6449bdf697
commit c20f6a0ea7
+6 -6
View File
@@ -161,17 +161,17 @@ func (f *Fetcher) runRateLimiter(ctx context.Context) {
}
}
// runNoise sends decoy A-record queries to popular domains at a randomised
// rate matching the configured QPS, to make feed traffic look like normal DNS usage.
// runNoise sends decoy A-record queries to popular domains at a low rate
// to make feed traffic blend into normal DNS usage without exhausting resolver limits.
func (f *Fetcher) runNoise(ctx context.Context) {
interval := time.Duration(float64(time.Second) / f.rateQPS)
const baseInterval = 10 * time.Second
for {
// Random delay: 13× the query interval.
jitter := time.Duration(rand.Int63n(int64(2*interval) + 1))
// Random delay: 1030 seconds.
jitter := time.Duration(rand.Int63n(int64(20 * time.Second)))
select {
case <-ctx.Done():
return
case <-time.After(interval + jitter):
case <-time.After(baseInterval + jitter):
}
resolvers := f.Resolvers()