diff --git a/lib/config.go b/lib/config.go index c0a9a2dfbb..a67997925d 100644 --- a/lib/config.go +++ b/lib/config.go @@ -179,7 +179,11 @@ func WithGlobalRateLimitCtx(ctx context.Context, maxTokens int, duration time.Du return func(e *NucleiEngine) error { e.opts.RateLimit = maxTokens e.opts.RateLimitDuration = duration - e.rateLimiter = ratelimit.New(ctx, uint(e.opts.RateLimit), e.opts.RateLimitDuration) + if e.opts.RateLimit == 0 { + e.rateLimiter = ratelimit.NewUnlimited(ctx) + } else { + e.rateLimiter = ratelimit.New(ctx, uint(e.opts.RateLimit), e.opts.RateLimitDuration) + } return nil } } diff --git a/lib/multi.go b/lib/multi.go index 1aa870836c..1ce8cd4f2a 100644 --- a/lib/multi.go +++ b/lib/multi.go @@ -52,7 +52,7 @@ func createEphemeralObjects(ctx context.Context, base *NucleiEngine, opts *types if opts.RateLimit > 0 && opts.RateLimitDuration == 0 { opts.RateLimitDuration = time.Second } - if opts.RateLimit == 0 && opts.RateLimitDuration == 0 { + if opts.RateLimit == 0 { u.executerOpts.RateLimiter = ratelimit.NewUnlimited(ctx) } else { u.executerOpts.RateLimiter = ratelimit.New(ctx, uint(opts.RateLimit), opts.RateLimitDuration) diff --git a/lib/sdk_private.go b/lib/sdk_private.go index c0d394acc5..f25379936a 100644 --- a/lib/sdk_private.go +++ b/lib/sdk_private.go @@ -213,7 +213,7 @@ func (e *NucleiEngine) init(ctx context.Context) error { if e.opts.RateLimit > 0 && e.opts.RateLimitDuration == 0 { e.opts.RateLimitDuration = time.Second } - if e.opts.RateLimit == 0 && e.opts.RateLimitDuration == 0 { + if e.opts.RateLimit == 0 { e.executerOpts.RateLimiter = ratelimit.NewUnlimited(ctx) } else { e.executerOpts.RateLimiter = ratelimit.New(ctx, uint(e.opts.RateLimit), e.opts.RateLimitDuration)