-
-
Save vitezfh/86f8867013f9b1305b3933eab2cc29a5 to your computer and use it in GitHub Desktop.
#! /bin/bash | |
url="https://gumroad.com/d/7b65cbcb5004935ce63bdd4cdd22ccba" | |
button_links=$(curl -c ./cookies-gumroad-com.txt -b ./cookies-gumroad-com.txt $url -L -Ss | grep '"download_click" data-url="' | awk '{print $7}' | cut -d '"' -f2) | |
# Possible replacement: button_links=$(curl -c ./cookies-gumroad-com.txt -b ./cookies-gumroad-com.txt $url -L -Ss | grep -oP '(?<=download_click" data-url=").*?(?=")') | |
for link in $button_links; do | |
curl --limit-rate 4000k -C - "gumroad.com$link" -L -c ./cookies-gumroad-com.txt -b ./cookies-gumroad-com.txt \ | |
-o "mde_paywall/$(awk -F '/' '{print $4}' <<< $link).mp4" | |
#Possible replacement: wget -P mde_paywall -nd -r -l 1 -H -D files.gumroad.com -A mp4,webm "gumroad.com$link" --load-cookies="cookies-gumroad-com.txt" --save-cookies="cookies-gumroad-com.txt" | |
done |
Unfortunately there is no data-url= as far as I can tell anymore.
<button href="#" data-event-name="download_click" class="button button-default js-track-click-event">Download</button>
Redirects when clicked to gumroad.com/r/******** which holds the file.
Seems the issue is that they limit the ability to archive entire content libraries based on the size, so after x amount they stop offering that feature. Seems like I'll have to play around in phantomjs and get around the javascript issues.
Hello everyone, made a quick gist using python to accomplish this, only tested it with the mde gumroad but should work for every other mp4 based gumroad. If you have any issues lmk.
https://gist.github.com/gatekeepr/97d6244dc074280b32f505443fbd7fe6
EDIT: fixed extension but could break on special characters in filenames that interfere with the path (only removing : due to it breaking on linux, let me know if you find others)
Hey, not sure since I'm no longer subscribed, but let me see:
the $url should link to the page where all the mde video files are listed.
The way the $links variable is built is:
1. curl fetches the html for $url (also authenticates over the cookies file cookies-gumroad-com.txt).
2. Then it greps the html for all download buttons aka "download_click" data-url=". This might be different now.
3. Awk gets part of the link
4. cut removes the double quotes.
Then we loop over the $links and fetch them with curl.
Btw, curl has the "--limit-rate 4000k" flag, which will limit your download speed.
I'm pretty sure you can run it multiple times and it won't download the same files again.