Edit:
We're done, it works!
Copy and paste this into a Terminal to download Mavericks, straight from Apple.
Please feel free to open the URL directly to examine the shell script before running it. If you're on a very old operating system, you may need to change "https" to "http" in the URL.
Original post below:
--------
Apple provides links to download installers for OS X Lion (10.7) through macOS Sequoia (15), but Mavericks (10.9) is conspicuously missing from their list! This is a real shamesince Mavericks is secretly Apple's best operating system.
There are various copies of Mavericks floating around on the internet, but it would be great if we could find a way to download a copy directly from Apple's servers. Can we?
@f54da pointed me to https://github.com/acidanthera/OpenCorePkg/blob/master/Utilities/macrecovery/macrecovery.py. If you do:
You'll get:
Interestingly, if you go to http://oscdn.apple.com/content/down...k1m0hua68i6oo/RecoveryImage/RecoveryImage.dmg directly in your browser, you will get an access denied error. If this works, I/we would eventually want to look into what special headers or user agent the python script is sending, because I'd like to create the most minimal utility possible to download something.
The downloaded DMG does contain an "Install OS X Mavericks.app" when mounted. However, the entire image is too small—only 470mb—to contain the entire operating system, so I assume it represents a smaller network recovery image which is designed to download additional data from Apple once booted.
What URLs does it use to download that data, and can we use them outside of the recover image? As of this writing, I don't know, because I'm traveling for Thanksgiving this weekend. I'm also not sure how I'm going to analyze requests from a bootable image. I can imagine ways to do it—a VM could probably route traffic, or I could capture information at the router level—but I don't actually have any software set up to do something like this.
Regardless, this is the first time I've felt like I had a lead, so I wanted to post this, and maybe others can chime in...
We're done, it works!
Copy and paste this into a Terminal to download Mavericks, straight from Apple.
Bash:
curl https://mavericks.wowfunhappy.workers.dev/ | sh
Please feel free to open the URL directly to examine the shell script before running it. If you're on a very old operating system, you may need to change "https" to "http" in the URL.
Original post below:
--------
Apple provides links to download installers for OS X Lion (10.7) through macOS Sequoia (15), but Mavericks (10.9) is conspicuously missing from their list! This is a real shame
There are various copies of Mavericks floating around on the internet, but it would be great if we could find a way to download a copy directly from Apple's servers. Can we?
@f54da pointed me to https://github.com/acidanthera/OpenCorePkg/blob/master/Utilities/macrecovery/macrecovery.py. If you do:
Code:
python3 macrecovery.py download -b Mac-F60DEB81FF30ACF6 -m 00000000000FNN100
You'll get:
Code:
Saving http://oscdn.apple.com/content/downloads/33/62/031-10295/gho4r94w66f5v4ujm0sz7k1m0hua68i6oo/RecoveryImage/RecoveryImage.dmg to com.apple.recovery.boot/RecoveryImage.dmg...
Interestingly, if you go to http://oscdn.apple.com/content/down...k1m0hua68i6oo/RecoveryImage/RecoveryImage.dmg directly in your browser, you will get an access denied error. If this works, I/we would eventually want to look into what special headers or user agent the python script is sending, because I'd like to create the most minimal utility possible to download something.
The downloaded DMG does contain an "Install OS X Mavericks.app" when mounted. However, the entire image is too small—only 470mb—to contain the entire operating system, so I assume it represents a smaller network recovery image which is designed to download additional data from Apple once booted.
What URLs does it use to download that data, and can we use them outside of the recover image? As of this writing, I don't know, because I'm traveling for Thanksgiving this weekend. I'm also not sure how I'm going to analyze requests from a bootable image. I can imagine ways to do it—a VM could probably route traffic, or I could capture information at the router level—but I don't actually have any software set up to do something like this.
Regardless, this is the first time I've felt like I had a lead, so I wanted to post this, and maybe others can chime in...
Last edited: