hzulla/tolino-python

Error 503

Opened this issue ยท 12 comments

KnKay commented

Hi all,

at the moment I get only 503 using the tool. Not too sure, worked fine yesterday. Using Thalia.de!

Anyone else having issues? I wonder a bit, as the webreader is working. Just the Python app getting those strange Server errors.
Working at the moment on a Go version (as I needed something nice to learn a bit). Having the same error.
Also using a second account.

Same here. There seems to be a new challenge to verify that the login page is used by a real person/browser and not via script. Unfortunately sending all kinds of headers does not fix the issue. Looks like a challenge using JavaScript.

First attempts using https://github.com/venomous/cloudscraper failed :-/

As far as I understand they enabled a Cloudflare DDoS protection.

I was able to login and upload using cloudscraper instead of the plain request: https://pypi.org/project/cloudscraper/

Now I get an error during logout and sometimes following error
cloudscraper.exceptions.CloudflareChallengeError: Detected a Cloudflare version 2 challenge, This feature is not available in the opensource (free) version.

tobexyz@60bbb5f

KnKay commented

Wow. This is a fast reply and fix.
Thank you!

KnKay commented

Okay. Tested around a bit.
Using a cloudflare scraper indeed solved my issue.

Not yet implemented anything in python. Once my go version is working I may back port it!

did your go version run stable? I am very often getting the error cloudscraper.exceptions.CloudflareChallengeError: Detected a Cloudflare version 2 challenge, This feature is not available in the opensource (free) version. using the python module.
Maybe the go based scraper is more useful... Do you like to share your code?

KnKay commented

Stable as it get's having my skills. ;)
At the moment I only login, register and fight with strange chars in the inventory.
I started last week, so there is not that much.

Anyway, I will make a github repo open source. Let me do the inventory, so there is at least something useful in it!

Ok, alright I'm looking forward to it :) I'll keep on trying to fix it based on this python code

KnKay commented

Ok, alright I'm looking forward to it :) I'll keep on trying to fix it based on this python code

https://github.com/KnKay/golino

My observation is that the CloudflareChallengeError occurs mainly when you have sent a lot of requests to the server. That was probably the reason why all my requests failed yesterday: In the background my Docker container was in an endless loop requesting and failing ๐Ÿ™ˆ

But I have no clue, why the error always occurs at the logout. I played a bit with "sleep()" to delay the request a bit, but that didn't change anything.

I worked around this by adding a method to use an existing hardware ID and auth token to bypass the login entirely for the time being; it's not the most user friendly but it does work, as the actual BOSH API doesn't seem to have any of this, it's literally just on Thalia's auth (and every other shop running on their backend...). If this persists I might merge @tobexyz's fix, but for the time being I would really rather not add too much to bypass anti-bot measures as I have a feeling it might get the Tolino alliance's attention in a bad way and would sort of go against the entire "be a good bot" thing. I don't exactly want anyone to get their account with all of their books banned.

PSA: Hello there. I have stopped maintaining this library, as I do not own a Tolino anymore. If this library is still useful to you, I'd want to hand it over to a new maintainer. Thank you.