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

Chaturbate: Rate limited #147

Open
Maxbbc opened this issue May 15, 2024 · 6 comments
Open

Chaturbate: Rate limited #147

Maxbbc opened this issue May 15, 2024 · 6 comments

Comments

@Maxbbc
Copy link

Maxbbc commented May 15, 2024

The manager seems to check the ONLINE status for each model in the list which may result in multiple requests to the site in a short amount of time, possibly flagged as spam activity. Docker container shows in the log messages looking like: yyyy-mm-day HH:mm:ss- INFO - [CB] model: Rate limited.

This can be avoided by requesting the list of models ONLINE, and then check whether models of interest are in the lines of connected models. Add delay between successive requests, such as o reduce the total number of requests per min.

@Ro-Den
Copy link

Ro-Den commented May 16, 2024

The manager seems to check the ONLINE status for each model in the list which may result in multiple requests to the site in a short amount of time, possibly flagged as spam activity.

You'll get Cloudflare challenge for this, not rate limiting, I guess.

@Maxbbc
Copy link
Author

Maxbbc commented May 22, 2024

It is not clear to me what rate limited even means.

@DerBunteBall
Copy link

The error "Rate Limit" means in a narrower sense that the API does not respond to the request. Originally because the API detects too many requests, for example.

However, the error also occurs when something unexpected happens. The source code does not differentiate properly here.

It is not entirely unlikely that @Ro-Den suspects the right thing.

CB turned up the Cloudflare filtering not too long ago - at least it felt like it.

Test this (change "somemodel" to a valid room_slug):

curl -X "POST" "https://chaturbate.com/get_edge_hls_url_ajax/" \
     -H 'X-Requested-With: XMLHttpRequest' \
     -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0' \
     -H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \
     --data-urlencode "room_slug=somemodel" \
     --data-urlencode "bandwidth=high"

If the previous command returns HTML and no JSON, the error has been found. Then the IP runs into the filtering (JavaScript or Captcha Challenge). This usually happens with data center, hoster, VPN and proxy IPs. In addition, IPs from unclean networks enter the filter (spam, DDoS and other conspicuous network activities).

You need a clean home ISP IP to stand any serious chance.

@Ro-Den
Copy link

Ro-Den commented May 23, 2024

Thanks to Cloudflare, it's close to impossible nowadays to find a free working proxy for CB. And the working ones won't last long (a couple of days or weeks at best).

Cloudflare's challenge is not so easy to solve, so there's no public information on how to automate the process.

Taking into account geo-blocking the days of easy solutions (like this one) are gone. Depending on the region even with "a clean home ISP IP" you may loose up to 40-50% of "content".

@Entity9171010
Copy link

Thanks to Cloudflare, it's close to impossible nowadays to find a free working proxy for CB. And the working ones won't last long (a couple of days or weeks at best).

Cloudflare's challenge is not so easy to solve, so there's no public information on how to automate the process.

Taking into account geo-blocking the days of easy solutions (like this one) are gone. Depending on the region even with "a clean home ISP IP" you may loose up to 40-50% of "content".

I just wanted to note that tools like flaresolverr solve the cloudflare problem reliably. I am not sure, however, if it's applicable to this use case.
https://github.com/FlareSolverr/FlareSolverr

@Entity9171010
Copy link

After reading some of their issues and docs, it seems like it can report the user agent and cloud flare token back to the client, thus allowing the streamanager to grab the things reliably.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants