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
CSGOFloat API Usage #120
Comments
Hi! Thanks for reaching out and wow, those are big numbers! Let me know what details you need and thanks for providing this great service! |
I consider a duplicate to be a request for the exact same item from the same ip in succession. It doesn't seem like all your users are affected, but a handful are sending 400-500k+ requests where the majority are the same items over and over. It also looks like it is typically items in the same inventory that keep on getting queried. I'd imagine this is a decent amount of bandwidth for those users. I also don't think these are bots spoofing your origin header since they wouldn't be requesting duplicates like this. |
Thanks for the details, I will try to look for reasons why this could be happening. They are valid requests and the API returns a valid response in these cases, right? |
Yeah, they are valid and returning status 200. |
So if this returns 'error' then the job is pushed back to the queue which is very likely responsible for creating an infinite loop: csgo-trader-extension/extension/chrome/js/background_scripts/messaging.js Lines 233 to 250 in 7c46c5a
Does the API ever return a valid response where the floatvalue property does not exist and would fail a the !== undefined check? |
Here's an example of one of the float requests that are being retried continually: https://api.csgofloat.com/?url=steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561197972110750A17650580014D875389816902081350 I believe that there should always be a floatvalue, but it depends on whether Valve sends it in the gc proto (which they do for things like stickers and such). |
I changed the logic so failed requests don't get pushed back to the queue. It will be in the next release (most likely tomorrow night). |
Update: These requests are peaking at 5-10 million in the past 24 hours. I've had a user contact me that they had a Cloudflare rate limit IP ban when accessing db.csgofloat.com and they also used the csgo trader extension. I've asked for them to share reproduction steps here. |
Heii
|
@putzN how many listings do you have set to load on the market? do you use other similar extensions? |
@gergelyszabo94 100 listings per page, and besides float market checker I only use adblock //edit: spelling and grammar |
I think the issue might be that on my end, these requests return status 200 from the origin, but if a user makes too many requests in a short time, Cloudflare bans their IP which causes the extension to continually retry due to network errors. I'll apply a similar fix that doesn't auto retry failed requests into the next CSGOFloat extension release. It seems like this is an arbitrary rate limit set by Cloudflare. |
I have published the new version with the fix, it's "Pending review" in the Chrome Web Store at the moment. |
API request distribution is looking more normal now so I'll close this issue. |
Hey Gergely,
I was looking at request logs for the CSGOFloat API and it seems like users of your extension are generating around 3-4 million float requests per day. Given the amount of users on your Chrome extension, this seems to be quite high per user and wanted to make sure that there weren't issues on your end.
I looked into the request metadata a bit and it seems like a lot of these requests are duplicates.
Thanks
The text was updated successfully, but these errors were encountered: