Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Script for reliably downloading binaries (e.g. Xcode) from Apple's CDN
#!/usr/bin/env ruby
print "What is the URL of your Apple Downloads resource?\nURL:"
url = gets.strip
print "What is the ADCDownloadAuth cookie token:\nADCDownloadAuth: "
token = gets.strip
command = "aria2c --header \"Host: adcdownload.apple.com\" --header \"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\" --header \"Upgrade-Insecure-Requests: 1\" --header \"Cookie: ADCDownloadAuth=#{token}\" --header \"User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B72 Safari/602.1\" --header \"Accept-Language: en-us\" -x 16 -s 16 #{url} -d ~/Downloads"
exec(command)
@devedbox

This comment has been minimized.

Copy link

@devedbox devedbox commented Aug 14, 2018

Awesome! It helps a lot.

@iNoles

This comment has been minimized.

Copy link

@iNoles iNoles commented Jan 2, 2019

I think some MacOS versions broke file-allocation features.

@ensean

This comment has been minimized.

Copy link

@ensean ensean commented Mar 5, 2019

Great, for CN users especially

@JeromeBeckett

This comment has been minimized.

Copy link

@JeromeBeckett JeromeBeckett commented Apr 17, 2019

Brilliant mate.

@n0an

This comment has been minimized.

Copy link

@n0an n0an commented Jun 4, 2019

what is ADCDownloadAuth ? how to get it?

@iandundas

This comment has been minimized.

Copy link
Owner Author

@iandundas iandundas commented Jun 4, 2019

@lstomberg

This comment has been minimized.

Copy link

@lstomberg lstomberg commented Jun 19, 2019

This works great!!

@amoghpalnitkar

This comment has been minimized.

Copy link

@amoghpalnitkar amoghpalnitkar commented Sep 22, 2019

I think this no longer works. It gives me a 403 even after providing a valid cookie. Maybe apple has changed the authentication? God knows why.

@DrozNF

This comment has been minimized.

Copy link

@DrozNF DrozNF commented Nov 8, 2019

I too am getting the 403...

@thuss

This comment has been minimized.

Copy link

@thuss thuss commented Nov 22, 2019

It's working for me... I followed the instructions in this fork and the script above works fine: https://gist.github.com/manishpathak99/2a18fce18493f460fe80f2bd542a8560

@adauguet

This comment has been minimized.

Copy link

@adauguet adauguet commented Nov 26, 2019

I had a 403, but managed to make it work by replacing https by http.

@vineetchoudhary

This comment has been minimized.

Copy link

@vineetchoudhary vineetchoudhary commented Feb 19, 2020

I've created a macOS tool that you can use to download Xcode and other tools from developer.apple.com with up to 16 times faster (using the multi-connection download). Also, it has resume capability. You can use this if you want to avoid manual work.

https://github.com/vineetchoudhary/Downloader-for-Apple-Developers

Download

@iandundas

This comment has been minimized.

Copy link
Owner Author

@iandundas iandundas commented Feb 20, 2020

Nice!! I will check it next time I download

@matejukmar

This comment has been minimized.

Copy link

@matejukmar matejukmar commented Mar 14, 2020

Saves lifes!

@vmalyi

This comment has been minimized.

Copy link

@vmalyi vmalyi commented Mar 29, 2020

Thank you!

@eddy93

This comment has been minimized.

Copy link

@eddy93 eddy93 commented Jun 17, 2020

I’m getting this

`ERROR] CUID#7 - Download aborted. URI=https://developer.apple.com/download/more/
Exception: [AbstractCommand.cc:351] errorCode=22 URI=https://developer.apple.com/download/more/
-> [HttpSkipResponseCommand.cc:240] errorCode=22 The response status is not successful. status=403

`

@BrainCrumbz

This comment has been minimized.

Copy link

@BrainCrumbz BrainCrumbz commented Jun 23, 2020

Hi all. Can anyone help us working through this?

As of today, for Xcode 11.5 and with redesigned Apple Download pages, we keep on receiving 403.

The cookie should be correct, we tried both straight from Developer Console, as well as with a Firefox Cookie Quick Manager extension, just to be sure: they report the same value, same characters.

The download URL, as of today, looks like (taken from https://xcodereleases.com/):
https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_11.5/Xcode_11.5.xip
Not sure if that querystring parameter messes up things (unlikely).

We tried with just http: no luck. We also tried with a forked gist by @manishpathak99: https://gist.github.com/manishpathak99/2a18fce18493f460fe80f2bd542a8560. Same result (also, the script seems the same from a quick look). We also tried to structure the URL as posted in that forked gist (https://download.developer.apple.com/Developer_Tools/foo/bar.xip), again with no luck (actually this URL gives 403 in browser too).

@BrainCrumbz

This comment has been minimized.

Copy link

@BrainCrumbz BrainCrumbz commented Jun 23, 2020

Ok, found issue. Cookie was ok. URL taken from xcodereleases.com apparently was not working for the script.

The right URL is the one taken from https://developer.apple.com/download/more/. It actually has the same structure as posted in the forked gist, so we made some errors before, while trying to make that URL up on our own.

@rraallvv

This comment has been minimized.

Copy link

@rraallvv rraallvv commented Jul 8, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.