Closed mbentley closed 3 years ago
It's looking like mine is broken as well so I'm going to assume I also have the new firmware. I'll dig into it sometime in the next few days. Thanks!
I have implemented it here: https://github.com/Sarabveer/arris_cable_modem_stats, been running great for 2 weeks now.
Should be good to go with the latest release. @mbentley thanks for alerting me to this. @Sarabveer thanks for your reference, I implemented this a little differently, but you saved me some time for sure.
Awesome, thanks for the quick work!
It looks like I have a new firmware from Comcast where it is 1.) allowing me to change the password after manually logging in and 2.) it is changing the
auth_url
pattern. Instead ofauth_url = url + '?' + auth_hash.decode()
, it is insertinglogin_
so the code needs to be updated toauth_url = url + '?login_' + auth_hash.decode()
. I am not 100% sure of the behavior but when I inspect thecredential
variable, it's getting the login page without it.Here is the cmconnectionstatus.html page that I am currently receiving. It looks like on line 99 that it shows
login_
being included but I also do not have a saved page from what it looked like before.Adding
login_
now returns what looks to be a valid credential but I am still not getting stats and am seeing this after getting what appears to be a valid credential:It seems like something has changed where it might be sending an additional cookie. I see in dev tools in Chrome when trying to figure out what it is doing, it is sending a request header like:
Cookie: HttpOnly: true, Secure: true; sessionId=W4y7qJL2bap3Ai3WSixrGU1PHSfXKiE
. Not sure if that was the same as before but a quick test with curl shows that this is required For example, this is what it takes to hit the page and get stats:Also, it looks like it may be adding
ct_
in front of the cookie. I didn't see that in the code. I'll try to plug away at it a little bit to see if I can figure out how to adapt it to work but even then, I'll probably need some help with the logic to work with this different auth method without breaking the previous.