marcussacana / DirectPackageInstaller

Send Direct PKG URLs to your PS4
GNU General Public License v3.0
213 stars 22 forks source link

DirectPackageInstaller

A tool to preview and send PKG to your PS4 from direct links, using your GoldHEN payloader server,
Or alternatively the RemotePackageInstaller Homebrew.

Features

Supported File Hostings

How to Install

How to Use

For OSX CLI Users

You should run the ./DirectPackageInstaller.Desktop file with help of the terminal Some cases run with dotnet DirectPackageInstaller.Desktop.dll might be necessary.

How It Works

The tool it self is very simple, the Remote Package Installer have an API that allow you put packages from URLs into your PS4 download queue, the DirectPackageInstaller just use that API to push to your PS4 the download URL, helping only to you preview the PKG that you're installing.

With that said, the tool can do more than that as well, the PS4 have a very poor speed to download things from the web, but that is limited to WAN connections, when he is downloading something from LAN connection he can reach best speeds, with that in mind this tool have an automatically proxy server that your PS4 will automatically use to download your PKG, and with help of this proxy the poor speed will be basically solved.

The tool can works without the Remote Package Installer if you want, for that, just enable your binloader and the DirectPackageInstaller will be able to tell how the package should be installed. If the Bin Loader server is running and the Remote Package Installer too, the DirectPackageInstaller will give priority to the Remote Package Installer.

This tool allow you to install pkgs from RAR as well, in this case the tool will work in a very similar way to the other existing ones, but with the advantage that everything is done simultaneously, while the file is downloaded from the internet, it is being decompressed to your disk temporarily and is sent to your PS4, in this scenario you don't need to waste time extracting large PKGs or depending on your file manager downloads, doing the post-download file reconstruction, everything is done simultaneously saving a lot of time of your life.

The Segmented Download mode will start a background multithreaded download of the PKG to your computer and send to your PS4 at the same time, this should be faster than the Proxied Mode with the disadvantage of having to allocate the PKG on your HD.

Notice that the Segmented Download is primally downloaded in your PC, this mean the PS4 can't show the real download progress and his remaining time.

If your PS4 has a LAN-Only connection, you can use the "Proxy Downloads" option, then the DirectPackageInstaller will act as a bridge to the PS4 be able to download your package from the internet.

Command Line Interface

The DirectPackageInstaller has an experimental CLI,
In his current state isn't possible push RAR/7z or do Segmented Dowloads yet.
For more details run DirectPackageInstaller.Desktop -help
Or if you're on windows: DirectPackageInstaller.Desktop.exe -help

Dependencies

The Direct Package Installer Requires the .NET 6.0 Runtime installed in your machine, you can dowload it here

How To Build

To build you need install the .NET 6.x SDK and run the Build.cmd file,
this file is actually a hybrid bash and batch file, so despite the cmd extension you can use it to compile on unix systems too.
A "Release" Directory will be creted in the root of this repo with the binaries.

The Payload must be manually built if you want modify the retail one, just run make in the payload source directory and replace the genareted payload.bin with the DirectPackageInstaller/DirectPackageInstaller/payload and rebuild the project.

To do android builds, the program target the API Level 26, so, install the Android SDK and NDK, accept the Android SDK Licenses, and modify the Build.cmd file with your SDK/NDK installation path. After that you will need run the Build.cmd as sudo/admin in the first time, to restore the dotnet workload

Alternatively, create an fork and start the github action build

Q&A

Disclaimer

This program was made for legitimate purposes, you can use it only for download the your backups that you saved in cloud, and for that reason I condemn and do not support any kind of piracy.
I'm no responsible for what you do with this tool, like, you know very well what you're doing.

Warnings

Credits:

LibOrbisPkg by maxton
HttpServerLite by jchristn
Payload template by sleirsgoevy
Help with PS4 OS internals by LM
PS4 exports definitions by OpenOrbis SDK
DirectPackageInstaller by marcussacana