A Patreon Image Downloader

patreon-dl: Patreon Image Downloader

patreon-dl lets you download images of creators you support.

Installation

Download a release from https://github.com/PrivateGER/patreon-dl/releases.

  • Linux (64bit): patreon-dl_x.x.x_Linux_amd64
  • Linux (32bit): patreon-dl_x.x.x_Linux_i386
  • Windows (64bit): patreon-dl_x.x.x_Windows_x86_64.exe
  • Windows (32bit): patreon-dl_x.x.x_Windows_i386.exe
  • Mac (x64): patreon-dl_x.x.x_Darwin_x86_64
  • Mac (ARM): patreon-dl_x.x.x_Darwin_ARM64

You can also compile patreon-dl yourself using go build or build for all operating systems using compile_allarch.sh.

Usage

Run patreon-dl and follow the instructions.

Example:

Open https://patreon.com/creatornamehere/posts in your browser. Now start patreon-dl and open the browser console. Paste the line of code shown by patreon-dl into the console and execute it by pressing ENTER.

After a few seconds of loading, depending on how many posts the creator has, patreon-dl will start downloading all images into the images folder.

Security

patreon-dl is not distinguishable from normal use for Patreon. There is no risk of getting banned or punished for the use of this tool.

All releases of patreon-dl are signed with a PGP key with the fingerprint CAE625C962F94C67 and can be verified with gpg --verify <name>.asc.

Owner
Just a guy who likes programming. I mainly write stuff in Node, PHP and C# and also do some Linux administration.
null
Comments
  • Not working on specific Patreon accounts

    Not working on specific Patreon accounts

    For some reason this is an issue that's only happening on specific Patreon accounts; it'll get stuck on "Promise { : "pending" }" and then spit out a "Error: Promised response from onMessage listener went out of scope" at me after a few seconds, and then the following: Uncaught (in promise) SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON datadebugger eval code line 1 > eval:99:13 debugger eval code line 1 > eval:99 AsyncFunctionThrow self-hosted:642 (Async: async) debugger eval code line 1 > eval:100 debugger eval code:1 AsyncFunctionNext self-hosted:638 (Async: async) debugger eval code:1 getEvalResult resource://devtools/server/actors/webconsole/eval-with-debugger.js:243 evalWithDebugger resource://devtools/server/actors/webconsole/eval-with-debugger.js:167 evaluateJS resource://devtools/server/actors/webconsole.js:1115 evaluateJSAsync resource://devtools/server/actors/webconsole.js:1007 makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103

  • I paste the string of code from patreon-dl and get this error

    I paste the string of code from patreon-dl and get this error

    VM169:54 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'split') at eval (eval at (posts:1), :54:78)

    sorry if this is a common fix and i failed to understand it I'm new to this.

  • Clean up code

    Clean up code

    Currently, the DownloadWorker() function has a few issues, such as converting errors into strings.

    Change the function and channel handling to restore proper error messages,

  • Small typo in JS snippet

    Small typo in JS snippet

    Hello, first run shows:

    ...and run it with ENTER: (async()=>{eval(await(await fetch("http://localhost:9849/gadget")).text());})();

    ... after finish there comes another snippet which doesn't work. One \ too much in it

    You can download another set of images using the below JS snippet or exit patreon-dl: (async()=>{eval(await(await fetch(\"http://localhost:9849/gadget")).text());})();

  • Capability to download videos?

    Capability to download videos?

    Is your nifty little tool able to download videos as well or is it exclusively for pictures? (I'm considering to subscribe to a creator for one or two of his videos specifically containing information about EQ modification. Since details can easily be forgotten after years I'd like to create a private copy of the videos so I can re-watch them whenever needed to make further adjustments.)

  • Improve interface

    Improve interface

    The current interface is not at all user friendly. Add a small graph that shows the total number of downloads in queue and completed ones + progress in percent.

  • Running on Mac

    Running on Mac

    1. Download the correct Darwin file (x86_64 für 64 Bit System)
    2. In the terminal go to the folder where the file is
    3. Make the file executable by running chmod 755 'file-name'
    4. Via Finder try to start program by double clicking -> A dialog is shown that the program can't be run because its not by a verified developer
    5. Go to the General tab in the Macs Security & Privacy settings -> There should be an info on the program you just tried to run
    6. Select 'Allow Anyway'
    7. Try to run the program via Finder again -> Dialog is shown again, this time you can select to open the file
    8. Program is opened and run in Terminal
    9. Have fun!
  • Specify file nameing format

    Specify file nameing format

    Currently all files are downloaded into a image directory just as they are named + post id (i guess), there are a couple of problems with this:

    1. fetching from multiple creators causes their content to be mixed together
    2. not all content that is fetched are images but are still stored into a image directory
    3. in some cases the date when the content was posted is more important and files should be sorted that way

    A simple solution would be to allow specifying a formatting string for the file names, where variables like authorname, post-date, filename and post-id can be used to specify where the files should be stored.

Related tags
unofficial Manganato's manga downloader CUI written in Go
unofficial Manganato's manga downloader CUI written in Go

manganato-cli Unofficial Manganato's manga downloader CUI and CLI written in Go. note: currently works on Mac and Linux, for Windows, please run via D

Nov 8, 2022
Hulu downloader written in Go

Hulu downloader written in Go

Jan 2, 2023
A secure image proxy server

go-camo Contents About How it works Differences from Camo Installing pre-built binaries Building Running Running on Heroku Securing an installation Co

Jan 7, 2023
Small wrapper for containers/image which exposes a HTTP API to fetch

CLI to expose containers/image fetching via HTTP This is a small CLI program which vendors the containers/image Go library and exposes a HTTP API to f

Nov 1, 2021
Patreon Go API client

patreon-go patreon-go is a Go client library for accessing the Patreon API. How to import The patreon-go package may be installed by running: go get g

Sep 27, 2022
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.

ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to

Jan 2, 2022
M3u8-parallel-downloader - M3u8 parallel downloader with golang

m3u8-parallel-downloader Usage ./m3u8-parallel-downloader -input http://example.

Aug 12, 2022
Image - This repository holds supplementary Go image librariesThis repository holds supplementary Go image libraries

Go Images This repository holds supplementary Go image libraries. Download/Insta

Jan 5, 2022
Bulk image downloader for reddit.

rrip Program to bulk-download image from reddit subreddits. Features Set max size of file, max total size, minimum score etc.. Filter by post title or

Dec 25, 2022
darkroom - An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
darkroom - An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.

Darkroom - Yet Another Image Proxy Introduction Darkroom combines the storage backend and the image processor and acts as an Image Proxy on your image

Dec 6, 2022
k8s-image-swapper Mirror images into your own registry and swap image references automatically.
k8s-image-swapper Mirror images into your own registry and swap image references automatically.

k8s-image-swapper Mirror images into your own registry and swap image references automatically. k8s-image-swapper is a mutating webhook for Kubernetes

Dec 27, 2022
create a bootable disk image from Docker image or a yaml config

docker2boot docker2boot creates a bootable disk from either a Docker image or a config yaml file Features status dns Y cloud-init Y network Y ssh TODO

Oct 30, 2022
Easily customizable Social image (or Open graph image) generator

fancycard Easily customizable Social image (or Open graph image) generator Built with Go, Gin, GoQuery and Chromedp Build & Run Simply, Clone this rep

Jan 14, 2022
This action prints "true" if image is required to update based on the base image update.

container-image-updater This action prints "true" if image is required to update based on the base image update. Inputs Name Type Description base-ima

Apr 15, 2022
An API which allows you to upload an image and responds with the same image, stripped of EXIF data

strip-metadata This is an API which allows you to upload an image and responds with the same image, stripped of EXIF data. How to run You need to have

Nov 25, 2021
Go encoder and decoder for the NetBPM/PNM image formats. Compatible with Go's image packages.

gpnm This package implements an encoder and decoder for PNM image formats. It can be used with Go's image library. It covers all formats as defined by

Nov 26, 2021
Imgpreview - Tiny image previews for HTML while the original image is loading
Imgpreview - Tiny image previews for HTML while the original image is loading

imgpreview This is a Go program that generates tiny blurry previews for images t

May 22, 2022
A parallel downloader with resume capability
A parallel downloader with resume capability

Grozilla The Grozilla is a simple implementation that allows downloading of video,audio,package or zip files parallely and efficiently using light wei

May 5, 2022
Downloader for saved Reddit images

ErGo Downloader Downloader for saved Reddit images Features Downloads saved images from your Reddit account Optionally unsaves them automatically Opti

Dec 7, 2022