We are currently experiencing payment processing issues. Our team is working to resolve the problem as quickly as possible. Thank you for your patience
[UserScript] Enabling direct-downloads on content (v1.8)
1
I got bored and decided to write myself a userscript to enable direct-downloads of any content. The script adds a "Download" button next to the "Add To" button, clicking it will download a zip file containing all the pages of the content.

You can get the userscript here (tip: click the 'Raw' button). You'll need Tampermonkey (Chrome, Opera, and Safari), Greasemonkey (Firefox), or any similar projects in order to use it.
NOTE (as of 28 May, 2015): The API seems to be returning no data for content, causing this script to be unable to download stuff. There's nothing that can be done about this on my end, but I'll continue to monitor the situation. Until then, please be aware that the downloading function of this script will not work.
IMPORTANT! Because of the new changes happening to Fakku and the direction Jacob has decided to take the site in (read more about it here and here), I will no longer be maintaining this script or providing support for it. As of 12 June, 2015 this script is still broken due to the API not returning any results, and I will not be rewriting it to download content using an alternate method. Those who wish to download their favourite content while they still can should use FakkuDL since that still works flawlessly. Anyone is free to use the code or any portion of it in any way they please. It is considered public domain.
Officially Supported Browsers/UserScript Extensions
Known Issues
Changelog
If you want Greasemonkey/Tampermonkey to automatically check for updates, set the update URL to https://gist.github.com/SirTony/f584311ba3e860c3f9f0/raw/Fakku.user.js.
NOTES:
Anyone is welcome to fork the script and improve it. I just ask that you leave a comment here if you do to let others know.

You can get the userscript here (tip: click the 'Raw' button). You'll need Tampermonkey (Chrome, Opera, and Safari), Greasemonkey (Firefox), or any similar projects in order to use it.
NOTE (as of 28 May, 2015): The API seems to be returning no data for content, causing this script to be unable to download stuff. There's nothing that can be done about this on my end, but I'll continue to monitor the situation. Until then, please be aware that the downloading function of this script will not work.
IMPORTANT! Because of the new changes happening to Fakku and the direction Jacob has decided to take the site in (read more about it here and here), I will no longer be maintaining this script or providing support for it. As of 12 June, 2015 this script is still broken due to the API not returning any results, and I will not be rewriting it to download content using an alternate method. Those who wish to download their favourite content while they still can should use FakkuDL since that still works flawlessly. Anyone is free to use the code or any portion of it in any way they please. It is considered public domain.
Officially Supported Browsers/UserScript Extensions
- Google Chrome (with Tampermonkey)
Known Issues
- This script does not work properly on the latest Firefox (version 37.0 at time of writing) with Greasemonkey (version 3.1). The reason for this has been identified, but a suitable workaround has yet to be found.
Changelog
- 1.8 (08 May, 2015) - Added a try/catch block to the JSON parse call to prevent the script failing silently when the API is down or returns an invalid JSON string (thanks to Night Echo for pointing this out)
- 1.7 (02 May, 2015) - Fixed script ignoring the last page of everything it downloads.
- 1.6 (26 March, 2015) - Changed the script to use different FontAwesome icons when waiting to be clicked, while downloading, and when an error occurs.
- 1.5 (26 March, 2015) - Changed the generated name to be in "[Artist][Series]Title.zip" format rather than the old "Title.zip" format.
- 1.4 (18 March, 2015) - Add a trap to prevent a second download being started while one is already in progress.
- 1.3 (13 March, 2015) - Improve error handling and prevent downloads of books that haven't been purchased.
- 1.2 (13 March, 2015) - Fix a visual bug and allows the script to insert the button when the user isn't logged in.
- 1.1 (13 March, 2015) - The download process is now more responsive and reports progress and should also report any errors.
- 1.0 (11 March, 2015) - Initial release
If you want Greasemonkey/Tampermonkey to automatically check for updates, set the update URL to https://gist.github.com/SirTony/f584311ba3e860c3f9f0/raw/Fakku.user.js.
NOTES:
- This userscript is only tested on the latest stable Google Chrome (40.0 at time of writing) and Tampermonkey (3.10.60 at time of writing). It's not guaranteed to work with any other browser or userscript loader, although it's highly likely it'll run smoothly on Safari and Firefox as well.
- Be cautious about downloading content with a lot of pages (such as the books or Are You Satisfied Now?), as the zip file will be stored and generated in-memory before downloading, which can cause the tab's memory usage to spike to 300MB - 500MB or more for content with a lot of pages. Generating a zip file this large in-memory will also be a CPU-intensive task, and you will have a large spike in CPU usage percent during the download.
- If you have not purchased a Fakku Books release, you will not see the download button on the page for it, this is because trying to download a book you haven't bought will just result in wasting time, resources, and bandwidth, and you'll end up with a .zip file with 200+ empty JPEGs. I don't own any of the books myself, so I don't know if this works properly for those who have purchased the digial edition of the books. If anyone would like to test this and let me know, I'll see what I can do if it's broken.
Anyone is welcome to fork the script and improve it. I just ask that you leave a comment here if you do to let others know.
0
It seems the script doesn't work in Firefox (running 37.0.2 with Greasemonkey 3.1), but does work fine in Chrome with Tampermonkey. Unfortunately I don't know JavaScript or else I'd take a crack at fixing it in Firefox.
edit: Just realized the script is cutting off the last page of every manga I tried to download.
edit: Just realized the script is cutting off the last page of every manga I tried to download.
0
Night Echo wrote...
It seems the script doesn't work in Firefox (running 37.0.2 with Greasemonkey 3.1), but does work fine in Chrome with Tampermonkey. Unfortunately I don't know JavaScript or else I'd take a crack at fixing it in Firefox.I've managed to figure out which bit of code is causing it not to work in Firefox (turns out it's only a single line that's breaking the whole thing), but I'm not sure why it's breaking everything. I suspect it's something in JSZip's implementation, in which case there's not a lot I can do about it. Will continue to research this problem though.
Night Echo wrote...
edit: Just realized the script is cutting off the last page of every manga I tried to download.Word. Fixed in 1.7.
0
Hi Tony,
thanks for writing this script. Unfortunately It does not work for me:
I klick on download and afterwards it just says "Downloading..." but nothing happens :(
I use Chrome Version 42.0.2311.135 with Tampermonkey 3.10.109
thanks for writing this script. Unfortunately It does not work for me:
I klick on download and afterwards it just says "Downloading..." but nothing happens :(
I use Chrome Version 42.0.2311.135 with Tampermonkey 3.10.109
0
Karusellbremser wrote...
Hi Tony,thanks for writing this script. Unfortunately It does not work for me:
I klick on download and afterwards it just says "Downloading..." but nothing happens :(
I use Chrome Version 42.0.2311.135 with Tampermonkey 3.10.109
That's because this userscript uses the API to fetch the page images, and right now the API is down. I suspect this has something to do with the recent disappearance of the loli, forced, and incest tags and Jacob's recent comment about it. I'll give this situation a few more days and see if it clears up, if not I'll have to do things the hard way and grab the images using a different method. Stay tuned.
0
Here's a snippet I came up with to replace the JSON parse to check for errors, since it's failing silently, and even if you open the console it just gives a vague unexpected token error.
If something goes wrong with the parse it just displays what the response is. Right now it does display the API is down for maintenance error.
if (response) {
try {
const json = JSON.parse(response.response);
}
catch(e) {
window.alert(response.response);
}
}
If something goes wrong with the parse it just displays what the response is. Right now it does display the API is down for maintenance error.
if (response) {
try {
const json = JSON.parse(response.response);
}
catch(e) {
window.alert(response.response);
}
}
0
Night Echo wrote...
Here's a snippet I came up with to replace the JSON parse to check for errors, since it's failing silently, and even if you open the console it just gives a vague unexpected token error. If something goes wrong with the parse it just displays what the response is. Right now it does display the API is down for maintenance error.
if (response) {
try {
const json = JSON.parse(response.response);
}
catch(e) {
window.alert(response.response);
}
}
Updated the script to 1.8 to catch parse errors. Hopefully that try/catch won't need to do its job soon though.