Downloads Go tutorial videos from https://courses.calhoun.io
Before you proceed, note that you must be a paid user for the paid content to download
Kindly create your account here. Jon is a great teacher, consider buying his premium courses if you want to.
- Ensure youtube-dl is installed and in your PATH.
To install this package run
$ go get -u github.com/timolinn/joncalhoun-dl
$ git clone git@github.com:timolinn/joncalhoun-dl.git
$ cd joncalhoun-dl
$ go build .
If you installed via go get
, you can simply run
$ joncalhoun-dl -email=jon@doe.com -password=12345 -course=gophercises -output=your-chosen-directory
[joncalhoun-dl]: fetching video urls for gophercises
[joncalhoun-dl]: fetching data from https://courses.calhoun.io/courses/cor_gophercises...
If you built from source, the compiled binary should be in the current folder.
$ ./joncalhoun-dl -email=jon@doe.com -password=12345 -course=gophercises -output=your-chosen-directory
[joncalhoun-dl]: fetching video urls for gophercises
[joncalhoun-dl]: fetching data from https://courses.calhoun.io/courses/cor_gophercises...
Also note, video downloads resumes from where it stopped, so should you experience network interruption nothing to worry about just make sure the output directory remains the same.
--email
[required] : Your account email address. Sign up here--password
[required]: Your account password. Unlike the unix password prompt, this will not hide your password by default, you'll have to keep an eye over your shoulder 😉--course
[gophercises | algorithmswithgo | testwithgo | webdevwithgo]: This is the name of the course you want to download. defaults to"gophercises"
--output
[optional]: This is the output directory, which means where you want the videos to be saved. It must be an absolute path. If this is not specified, we will try to create a"/[course] folder"
(ie. the specified course name eg.gophercises
) within your current working directory.--cache
[optional]: Specify your desired location where the cache will be saved. joncalhoun-dl uses the cached data to resume downloads incase of an interruption. It also prevents unecessary repeated calls to the remote server. This will default to ajoncalhoun-dl-cache
folder within the output directoy.--help
[optional]: Prints usage options
- Gophercises - gophercises
- Algorithms with Go - algorithmswithgo
- Testing with Go - testwithgo
- Web development with Go - webdevwithgo
There is still a couple features to implement, check the TODO list below.
- Start by forking this repo
- Create your branch
- Implement your fixes, changes etc.
- Open a Pull Request
If you find a bug please create an issue
To run existing tests
$ go test
- Add caching for requests
- Add default output directory
- Add output directoy flag
- provide packaged release
- Add more unit tests
- check for authentication error
- prevent signin when using cache
- choose video quality
- reduce cache size by storing fewer data
If you find this repository to be of any help, please consider giving it Star! 🔥