Before we start, I did not create these programs and this isn't their 'intended' purpose, I cannot guarantee this will work for every game.
DISABLE AUTOMATIC UPDATES AND DO NOT PUT YOUR PS4 INTO REST MODE, YOUR GAMES WILL UPDATE.
(Settings>System>Automatic Downloads> Untick Application Update Files)
Method 1 (Windows required)
This method uses a application call PSX Download Helper. It's the easier of the methods
Download Link | Github
(Optional) When you first open the program, it will be in chinese.
To change the language follow the images below and then restart the program.
Start up your PS4 and head over to the settings, set up internet > custom > follow till proxy settings appear. Enter whatever appears in the IP and port box for you in the program, in the proxy settings on ps4.
At this point, hit start and there will likely be a error box, just ignore it and hit okay.
It will be set up and working, keep the program open and download something small to test. I downloaded Singstar as its only 100~ mb.
Video Guide - Thanks @RNumbers
Method 2 (Windows, Mac, Linux, Possibly even android)
This uses a Node.js script, I advise not using this if you can help it. It requires installing a few programs and downloading the game in parts to your computer then transferring it to your ps4.
Download Link | Github
I'll be doing this from the perspective of a windows user, It should be the same past installing node.js
Start off by installing Node.js (https://nodejs.org/en/download/) I Clicked through most of it, accepting all of it besides when it requested to install some programs for C#/C++, It might reboot your PC.
Once it's done installing, you'll need to navigate to where you saved the script in your file browser, it will most likely be in your Downloads folder and zipped. Go there and unzip.
Open up your command line and navigate to your downloads folder. For me all i had to type was " cd Downloads\psx-download-helper-nodejs " and I was there.
If it's different for your system, do the ls command, it will show you the folders you can go into from there, if downloads isn't appearing there and something like Desktop or Documents do appear, just move the script there.
Once you've put it somewhere you can get to it from command line, type in " cd <folder name> " and do a ls command to verify the index.js file is there.
Hopefully, you've made your way into the folder with it now, Open up another command line and type in ipconfig on windows, mac and linux will be different.
You'll get a few things to pop up, what you're looking for is the adapter that looks like this.
You want to write down the ipv4 there, in my case its 192.168.0.17
Once you've gotten that written down, go back to your original command line in the downloads folder and type.
It should say this.
Start up your PS4 and start a download for the game you want and pause it.
Head over to the settings, set up internet > custom > follow till proxy settings appear. Enter the IP you wrote down and put 8081 in the port.
Go back to your download and start it, it should fail and a link will appear in the command line, copy and put it in your browser. It should start a download. Wait for it to finish then drag it into the Data folder in the script's folder then start the download again, the bar should go up and eventually fail again, check the command line again and there should be a new link or two, Check the link and see if it has /appkgo/ in the link. If it does download and repeat till it fully installs. Ignore links that just say /ppkgo/ Examples below
Method 1 will sometimes have patch links included, see above for differences in links. Only known fix is to restart proxy and ps4 till it works.
Method 1 can have a "NW-31468-2" error caused by some form of router issue. putting your PC in the DMZ should fix this. - Thanks @Igni
I'd like to thank @HusKyCode for posting the Mad Max patch fix, because otherwise i'd never had looked into all of this and for some corrections on the node.js script
And thanks to those who tested downloading games I don't have access too.
Happy hunting pals.