rustymyers / warranty

Bash script to check Apple Warranty for Mac* and iP* models
48 stars 16 forks source link

Self Solve URL Changed #11

Open csteelatgburg opened 9 years ago

csteelatgburg commented 9 years ago

It looks like Apple has changed the selfsolve.apple.com changed again and the script no longer works.

jgstew commented 8 years ago

Seems like this is the issue: http://openradar.appspot.com/radar?id=4998891128750080

Related: https://github.com/chilcote/warranty/issues/6

tempusthales commented 8 years ago

Crap. No wonder.... I just ran the script against 600 systems and they all came back and not having any warranty...

I'm guessing it hasn't been fixed by Apple... @rustymyers is there something that could be added to a script to read the captcha or avoid it or its a lost cause?

tempusthales commented 8 years ago

Actually I think this is boned. there's a csrf-token in the form and that's generated server side.

RobertJansson commented 8 years ago

It is because people tend to send this in a storm from 600 computers at a time :.-/

rustymyers commented 8 years ago

Apple has continually removed functions these scripts have utilized. Our org has moved on to using GSX APIs to return warranty status, which provides admins additional data. I'd suggest moving that direction for bulk warranty status operations.

csteelatgburg commented 8 years ago

What code are you using to access the GSX API? I'm trying to implement the gsxlib from here https://github.com/filipp/gsxlib and having issues.

tempusthales commented 8 years ago

except our enterprise doesn’t meet the minimum requirements of 1000 devices deployed and we can’t get access to it. That is pretty stupid from Apple’s part to keep limiting the enterprise support.

On Wed, May 4, 2016 at 9:24 AM, Rusty Myers notifications@github.com wrote:

Apple has continually removed functions these scripts have utilized. Our org has moved on to using GSX APIs to return warranty status, which provides admins additional data. I'd suggest moving that direction for bulk warranty status operations.

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/rustymyers/warranty/issues/11#issuecomment-216881155

Gilbert J. Palau gilbertpalau@gmail.com http://gilbertopalau.com

jgstew commented 8 years ago

I agree, this is a bit annoying on Apple's part, but one thing I have done to help mitigate the issue is to automatically create links to the Apple Warranty checker page with the serial number of the computer record you are currenting viewing in our config management system. Then you just have to click on the link, enter the captcha, and get the info. This isn't ideal, but it does make it easier for IT staff that only need to check the warranty status for a few systems in specific circumstances.

This solution doesn't solve lifecycle planning for the fleet of computers as a whole, which is still a problem. Some others have come up with solutions to use the sell date or manufacture date to help estimate the warranty period.

@hansen-m might have something to add about using GSX.

@gilbertpalau that is annoying that there is a 1000 device minimum and no great alternative. Dell is a little more open with their API.

hansen-m commented 8 years ago

We've successfully used this Python project from the same developer mentioned: https://github.com/filipp/py-gsxws

With the new certificate and whitelist requirements from Apple it takes a little bit of work to get it setup but we've wrapped it in a very basic Flask app to build our own "self solve" lookup tool, but by using the GSX API it includes much more data than Apple ever provided on their own page. Plus it gives us the added ability to return the data in any format (xml/soap, plist, json) or really customize it anyway you'd like.

I might be able to make our code available on Github but it would take a little bit of work to cleanup and sanitize.