yubnub
New member
- Jun 25, 2021
- 4
- 0
- 102
There is 100% a better way to download and archive OF content than going through the trouble of setting up a screen recorder or taking a screenshot in your browser/phone to end up with shitty quality stuff. Yea, there are those sketchy websites and extensions that claim to download stuff for you. Do they work? No idea! I don't bother with those. As Rick Sanchez says,
Obligatory this is for downloading content you've already paid for for your own private use of course.
Some key things to note before you get too excited:
You can get the code from [Login or Register to view] If this is your first time tinkering with your browser's dev tools, it will (rightly so) yell at you for trying to paste in unknown, alien javascript. Don't trust me and my code? Fair enough, but there's a reason it's open source, and even if you don't know code, I'd like to think my code is actually quite readable. Or you can show it to a hacker friend who understands code and ask him what it does. Or you can see that I literally copy and paste it in my video therefore it is fine. Believe me, if I wanted to spread malware, this is not how I would do it.
BUT WHAT DOES IT DO??????
I'm so glad you asked! OF uses Vue.js as their front-end framework to develop their website. For our purposes, certain HTML elements on the page have a special __vue__ property, which contains data relating to the thing in question - in this case it will hold the URLs for the original images and videos - not the BS thumbnail version that it shows you by default. My script simply grabs the nessecary elements from the page (this is really just done by using your browser devtools to manually inspect different elements on the page, then create a CSS selector to be able to match and grab all the ones you want), gets the url, downloads the file content, puts it in a zip file, then triggers a download of said zip file. Pretty straightforward. The hardest part is figuring out where the urls are stored inside the __vue__ object, and in some cases (seemingly depending on how old the content is??) the urls are stored in different locations of the __vue__object, so we need a little if/else to handle that.
Questions, comments, concerns? I would LOVE to hear if you found this little dodad useful.
There's always ways around whatever cock-blocking bullshit websites try and throw at you, it's just a matter of knowing some stuff and being a little creative. I have created a somewhat modestly-sized JavaScript script to run in the browser that will automatically gather up all photos, videos, or stories from a page and download them as a zip file for your convenience. Intrigued? Read on.I make my own stuff
Obligatory this is for downloading content you've already paid for for your own private use of course.
Some key things to note before you get too excited:
- Currently will download images, videos, and stories from a profile
- You need to scroll all the way down to the end of the media page if you want everything to be downloaded (the HTML elements have be loaded to be discovered)
- There is no "I only want to download these things" or "only download the first 10" or anything like that. Maybe someday, but not today.
- Given #2, this is all happening in memory in your browser's javascript engine, which probably shouldn't be loading anywhere from several MBs to (maybe) a few gigs of data, so no promises on super large datasets, though I have downloaded several hundred photos at once with no issue
- Since websites are constantly being douchey about preventing you from doing stuff, the method for downloading may break in the future. If that happens I will try to update it.
- You gotta use your browser's dev tools to run the script (oh no! You mean this isn't some one-click browser addon/extension thingy I can get from the magical browser grocery store. Yes. Writing code to do this is (relatively) easy. Trying to shove that functionality into a browser addon so the rest of you nimwits can click a button is more work than I care to do. Deal with it, it's literally pasting text, you'll see)
You can get the code from [Login or Register to view] If this is your first time tinkering with your browser's dev tools, it will (rightly so) yell at you for trying to paste in unknown, alien javascript. Don't trust me and my code? Fair enough, but there's a reason it's open source, and even if you don't know code, I'd like to think my code is actually quite readable. Or you can show it to a hacker friend who understands code and ask him what it does. Or you can see that I literally copy and paste it in my video therefore it is fine. Believe me, if I wanted to spread malware, this is not how I would do it.
BUT WHAT DOES IT DO??????
I'm so glad you asked! OF uses Vue.js as their front-end framework to develop their website. For our purposes, certain HTML elements on the page have a special __vue__ property, which contains data relating to the thing in question - in this case it will hold the URLs for the original images and videos - not the BS thumbnail version that it shows you by default. My script simply grabs the nessecary elements from the page (this is really just done by using your browser devtools to manually inspect different elements on the page, then create a CSS selector to be able to match and grab all the ones you want), gets the url, downloads the file content, puts it in a zip file, then triggers a download of said zip file. Pretty straightforward. The hardest part is figuring out where the urls are stored inside the __vue__ object, and in some cases (seemingly depending on how old the content is??) the urls are stored in different locations of the __vue__object, so we need a little if/else to handle that.
Questions, comments, concerns? I would LOVE to hear if you found this little dodad useful.

























