Awesome Open Source
Awesome Open Source

PornHub Downloader v1.0.7 (deprecated)

This script is deprecated as we moved to the python version for a better experience.

Please visit the new repo: PornHub-downloader-python


Hello everyone. This project was created for myself as a platform for learning bash. Hope its gonna help someone out :)

Feel free to join my discord server if you have any ideas, features or even bugs to talk about, you are welcome! JOIN DISCORD

If you feel like it, you can donate me a beer or two ;) Just for the troubles! DONATE BUTTON

(This script runs and its tested on Ubuntu 16.04 & 18.04)


This script does not run without this tool:

  1. YouTube-DL (google it for installation)


$ wget
$ unzip
$ cd PornHub-downloader-master/
$ chmod +x
$ ./

(Please run this command as admin and dont forget to rename .your-user-name.:)
$ sudo ln -s /home/your-user-name/phdler/ /usr/local/bin/phdler

(Edit the config file with your download location path.)
$ phdler config
$ phdler

How do I know the model/pornstar name or if its a model or a pornstar

Pritty simple, lets take a look at this url:

  1. url:
  2. category: model
  3. model name: themagicmuffin

  1. url:
  2. category: pornstar
  3. pornstar name: leolulu


Basic command line syntax:

$ phdler [start | refresh | custom | add | remove | clean | update | config | -h for help | -v for version] 


Start download

$ phdler start

Download a custom URL from PornHub

$ phdler custom https://url

Adding a new PornHub model to the database

$ phdler add model-name-from-url

Downloading new added models/pornstars

$ phdler refresh


The default script "phdler start" uses the .txt files as a database and every time it runs, it will only download the latest 4 videos. So you dont spam PornHub and keep it calm :) This is the reason why you have options like "REFRESH" to download and add the new models/pornstars to the database.

Best Practice

phdler is designed to run as a cronjob. Just type this: $ crontab -e and then on the end of the file add this: * */12 * * * phdler start >/dev/null 2>&1 This will make the script run every 12 hours.

Permission problems or script not running with crontab

In case you are having permission problems, in crontab -e, just before the command add this line, and ofcourse, change your-user-name to your actuall user name. PATH=/home/your-user-name/bin:/home/your-user-name/.local/bin:/home/your-user-name/.npm-packages/bin:/usr/local/sbin:/usr/local/bin:/$/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (10,290
linux (2,465
bash (624
ubuntu (347
downloader (210
bash-script (106
youtube-dl (77