Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Adaptive Ratelimiting #40

Open
tarunKoyalwar opened this issue Dec 15, 2022 · 0 comments
Open

[Feature] Adaptive Ratelimiting #40

tarunKoyalwar opened this issue Dec 15, 2022 · 0 comments
Labels
Priority: High After critical issues are fixed, these should be dealt with before any further issues. Type: Enhancement Most issues will probably ask for additions or changes.

Comments

@tarunKoyalwar
Copy link
Member

Please describe your feature request:

From projectdiscovery/ratelimit#5 . retryablehttp-go should handle status code 429 . Currently It does not do anything . Adaptive Ratelimiting should be implemented which will autohandle ratelimit hits by sleeping and recaliberating new rate limit . Similar to Burpsuite Pro

When receiving a 429 response due to sending too many requests in quick succession, incrementally add a short delay between requests until it complies with the server's rate limit. This enables the scan to continue as normal, albeit with an increased duration. The functionality should be disableable.

This can be achieved with Unlimited Limiter from ratelimit and using SleepandReset() method

Describe the use case of this feature:

When mass scanning targets, it is unknown which targets have rate limits and which don't . Using ratelimits for all targets only degrades performance . this happens mainly with nuclei.

Also retryablehttp-go does not stop when ratelimit is hit and sends http request regardless . Depending on target and vendor , some targets blacklist certain ip's that don't respect ratelimit

@tarunKoyalwar tarunKoyalwar added Type: Enhancement Most issues will probably ask for additions or changes. Priority: High After critical issues are fixed, these should be dealt with before any further issues. labels Dec 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: High After critical issues are fixed, these should be dealt with before any further issues. Type: Enhancement Most issues will probably ask for additions or changes.
Projects
None yet
Development

No branches or pull requests

1 participant