-
Notifications
You must be signed in to change notification settings - Fork 378
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
⚠ Attention! Newcomers can't claim bonuses and drops with the newly obtained cookies! ⚠ #85
Comments
Accepted a bug, thanks. Working on it. |
Looks like they're back to https://passport.twitch.tv/protected_login preceded by https://passport.twitch.tv/integrity with Kasada on Android. :( @6accOnThe6locc I'm busy with the RL right now, could you please take a look and help? |
Switching to |
Actually, |
Changing Android version in the UA gives the same results: error 5023. I guess error 5024 is just about the app version. |
Because you have error 5023 and @Randomblock1 have error 5024. I've updated the master branch after their post, now the miner should give error 5023, which we are working on here. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
Please do not post messages like "same error", "me too", etc. |
And we can't use the old Selenium login method because ultrafunkamsterdam/undetected-chromedriver#897 never got fixed, nor commented. Quite a stalemate situation. Full automation of the Kasada anti-bot system bypassing will require some serious reverse engineering of the JS code and knowledge in cryptography. More info here #15. |
I have cookies with the mobile version so I didn't dig too deep into it. However what has always worked for me is having the user log into his browser, export cookies, and I use those with a selenium instance that pops every so often to get the GQL integrity token. |
@rdavydov I have no immediate solution. I've tried a couple of different user agents, but they all seem to basically just point at updating the app. Seems to me like the new app probably uses the protected endpoint only, and the only reason this old one worked so far was because the old app had no idea the endpoint changed, so they had to let it through - but now it seems like they just straight up dropped support for it completely and require an update. If dropping support is not the case, then they still have to let it through somehow - finding that "somehow" might be the solution. If they did drop the support completely and straight up require a new app build for every android version since 5.0 and up (also possible to do), then there's not much we can do here. Unless @6accOnThe6locc has any ideas, I'm personally not a "hacker" and would never be able to figure out even 10% of what he did. PS: As far as I'm aware, each authentication token from a cookie is valid for a year, unless invalidated otherwise. Gives hope for people who already managed to login previously, sucks for newcomers and new instances. Can't imagine taking a year to find a solution, but just noting it for other people here, who might be worried about the token expiring too fast - it won't. |
Is there any workaround for getting cookies manually and providing those to miner? I am a newcomer. |
You can't claim bonuses and drops with those cookies, that's the whole point. |
I'm not interested in drops, but bonuses.. |
Here you go: https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2/releases/tag/1.5.4 Or just checkout the master branch. |
@Rakambda Couple of questions if you don't mind. Are you sniffing all the requests and filtering the integrity one? You don't post to controller.ensureLoggedIn();
CommonUtils.randomSleep(10000, 1);
currentIntegrity = extractGQLIntegrity(browser); What is this random delay for? It is max 10 seconds, right? |
@Rakambda One more question: is your Selenium instance running in headless mode? |
First post: 10s is arbitrary, just waiting for a request to be made. I though that it's better to have a "large" timeout so that even on slower devices it'd have time to perform the request. And as the GQL token isn't refreshed that often, I think it's good enough, no need to be super quick. Second post: Though I have a very different approach from what Tkd did. Tkd's was more focused on an easily accessible bot; while in my case I don't really care making it hard to approach or requiring a more complex stack (here involving a selenium setup). Was for my personal use at first, just sharing it for some others that may want invest some time setting it up. Docker selenium grid I use: version: "3"
services:
selenium-node-chrome:
image: selenium/node-chrome:latest
container_name: selenium-node-chrome1
hostname: selenium-node-chrome1
shm_size: 2gb
depends_on:
- selenium-hub
env_file:
- chrome.env
ports:
- "5901:5900"
volumes:
- "/whatever/path/Selenium/Node1:/home/seluser/profiles"
deploy:
resources:
limits:
memory: 2000M
restart: unless-stopped
selenium-hub:
image: selenium/hub:latest
hostname: selenium-hub
container_name: selenium-hub
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
restart: unless-stopped
networks:
default:
name: selenium
external: true Chrome env:
|
Has the problem been resolved and can I already try to run it? |
(Nobody care) Sorry guys, I'm busy with personal issues. Looks like you found the answer. If you look at https://gql.twitch.tv/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/fp you can see that they store a cookie in your browser. generate the client-integrity. When I have time I can post a POC. |
@rdavydov Hey if you can maybe tell me what a dev needs to know in order to be able to fix it. I can maybe try to search for some dev who can reverse engineer and then i will share stuff in here, as long as they dont charge some stupid amounts im fine with paying. |
I've already made a POC and integrated it to the miner. I was just waiting for your permission to use your old code and release it to the public. Looks like you didn't see my PM. :) |
OK guys, fix is on the way, but it will require Chrome running in non-headless mode. Stay tuned. |
Describe the bug
Fails to login. (Probably only when there are no cookies)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It logs in.
Desktop (please complete the following information):
Log
https://pastebin.com/KbKKfuib
Additional context
ERROR - TwitchChannelPointsMiner.classes.TwitchLogin - [login_flow]: Unknown error: {'error': 'Please update your device to the latest version of Android or iOS to continue.', 'error_code': 5024, 'error_description': 'client not supported for app upgrade'}
The text was updated successfully, but these errors were encountered: