Download Egghead.io videos using Lynx Browser and youtube-dl. This method will only work for videos that do not require a pro account.
You need a Unix/Linux box with Lynx console browser and Youtube-dl installed.
Installation on Ubuntu(may require sudo)
$ apt-get install lynxInstallation on Fedora(may require sudo)
$ yum install lynxInstallation on Mac OS X(using homebrew)
$ brew install lynxFor all other Operating Systems, use your default package manager.
Official installation docs
https://rg3.github.io/youtube-dl/download.html
EDIT: Since HLS videos are segmented into many small parts and youtube-dl requires ffmpeg to convert videos, you also need ffmpeg as written on this page.
The following example should work for Linux and Mac.
- Grab course or Lesson URL from egghead.io page
Examples:
https://egghead.io/courses/leverage-new-features-of-react-16
OR
https://egghead.io/lessons/react-error-handling-using-error-boundaries-in-react-16 - Assign this value to a variable, say 'url'.
$ url=https://egghead.io/courses/leverage-new-features-of-react-16- Use the below command to download all videos for a course or a given specific lesson depending on the URL you provided in last step.
# Old script had a lot of issues on os such as freeBSD and mac
# New script is as below :
$ lynx -source $url | grep -o -e 'https://[^"]*.m3u8' | xargs -n1 youtube-dl -o "%(title)s.%(ext)s"
# You can also use CURL instead of lynx browser as in below script
$ curl -L $url | grep -o -e 'https://[^"]*.m3u8' | xargs -n1 youtube-dl -o "%(title)s.%(ext)s"UPDATE: Doesn't work on Mac as pointed out in the comments by @toddzebert and others. Try solutions from Nithanaroy and mutalis instead.

grepandxargshave different options on Mac (as it's FreeBSD not GNU based), but while this modified code worked without error, it does not download the videoslynx -source $url | grep -E -o 'https?://[^"]*\.m3u8' | xargs -0 -n1 youtube-dl -o "%(title)s.%(ext)s"