Easily Bulk Download & Install Mac Apps with macapps.link
Ready to automate Mac app downloads and installs? If you’re setting up a new Mac, you probably know how tedious it is to manually navigate to a bunch of different developer websites, and to individually download and install all the Mac apps you may want. This is a necessary but time consuming procedure for setting up a new Mac, particularly when you’re using apps not found on the Mac App Store.
And here is where the MacApps.link service comes in handy, by bundling a bunch of different Mac applications of your choosing together into a single executable command string that you can toss into the Terminal, then go about your business while the apps are downloaded and installed onto the Mac. Basically you’ll be automating the download and installation of a ton of popular Mac apps.
For example, let’s say you have a brand new MacBook Pro for work, and you want to install your typical workflow setup of Chrome, Firefox, Chrome Canary, Skitch, Fantastical, GitHub, IntelliJ, BBEdit, Sketch, Docker, The Unarchiver, CyberDuck, iTerm2, iStats Menu, BarTender, VLC, Steam (I swear it’s for work boss!), Atom, Slack, Discord, Zoom, and Skype… that’s a ton of different websites and developers to go to manually to install apps from right? With the MacApps.link service, you simply select all those apps from their list, get the install link, toss it into the Terminal, and let run the command to completion. Easy peasy.
Caution: This is aimed at advanced users who are comfortable with the command line. Proceed at your own risk. Using macapps.link requires trust to a free third party service, because you are issuing a remotely executed terminal script that is interacting with your Mac to install software. If you’re like me and you’re the default cautious type, you might want to glance at the script before executing it on your Mac. One method is offered further below if you’re curious*.
How to Bulk Download & Install Mac Apps from the Terminal
Ready to batch download and install a bunch of Mac apps of your choosing, hands off? Here’s what to do:
- Go to https://macapps.link/ in any web browser
- Click to select the apps you wish to bulk download and install, scrolling through the list of available apps
- Click “Install ## Apps” in the upper right corner to get the app download command string
- Open Terminal on the Mac via Spotlight by hitting Command+Spacebar and typing “Terminal” followed by the Return key, or launch Terminal from the /Applications/Utilities/ folder
- Paste the copied command string into the Terminal and then hit return to begin downloading and installing the Mac apps
You’ll see progress for each download and install, reporting if the app is installed successfully, if the app can’t be updated for whatever reason, if the app was skipped because it is already up to date, and when it’s all finished.
This can potentially save a bunch of time when setting up a new Mac, whether for yourself, or for deployments across a handful of Macs when you don’t have other device management software in place.
* How do I know I can trust this and what is being installed?
You are wise to be cautious when running any commands into your Terminal, particularly those that involve installing applications onto your Mac, by using a remotely retrieved and locally executed bash script! Potentially high risk activity, right? So, how do you trust but verify in such a situation?
If you’re technically inclined, the simplest way to verify this is to look at what the script is doing, by looking at the install bash script itself.
For example, let’s say the command to run as provided is this:
curl -s 'https://api.macapps.link/en/firefox-chrome-torbrowser-chromecanary-skitch-bettertouchtool-dropbox-carboncopycloner-superduper-sketch-bbedit-transmission-unarchiver-filezilla-transmit-cyberduck-etcher-appcleaner-caffeine-coconutbattery-vlc-openemu-gimp-plex-skype-telegram-slack-whatsapp-discord' | sh
If we modify the command as so by removing the pipe to sh from the end, and the -s silent flag from curl from the beginning, we’ll print out the bash script without executing it:
Executing that modified command into the Terminal will dump the entire bash script, so now you just need to maximize that Terminal window and take a look at what the bash script is doing, which is essentially the following; print out a fancy ASCII art banner, checking to see if the apps’ already installed, checking the apps version, downloading the app installer/pkg files directly from the developers into a temporary directory, extracting and installing the app via dmg/zip/tarball, reporting progress and success, then removing the temporary files that were downloaded.
Ah, the joys of curl.
If what you see looks good to you, you can go ahead and run the full command unmodified as provided from macapps.link service.
If you see anything alarming to you personally, well, definitely don’t run the full script! Just install the apps manually and skip this whole thing.
If you’re not on the geekier spectrum of tech savvy, then using macapps.link either requires some faith, or trust in the creator of the macappslink service, or simply avoiding this entirely. That’s up to you.
If you do not trust running a remotely retrieved shell script (and that is a perfectly reasonable position to take) on your Mac, then you’ll either have to manually download and install apps as usual, or consider alternatives.
For what it’s worth, a similar feature called cask is available as part of Homebrew, so if you’d rather use Homebrew on the Mac for this purpose you can certainly do that too. It’s not quite as streamlined as this though.
Obviously this is aimed at MacOS, but the macapps.link service is similar to Ninite for Windows, so if you happen to be a Windows user looking for similar convenience, check that out.
Have you used macapps.link before to download and install a bunch of different Mac apps automatically, and make your new Mac setup easier? Do you use another approach? Let us know your thoughts and experiences in the comments.