PS4 Remote pkg Installer (Updated by flatz)

Discussion in 'PS4 News' started by STLcardsWS, Nov 25, 2018.

By STLcardsWS on Nov 25, 2018 at 12:50 PM
  1. 7,706
    6,657
    747
    STLcardsWS

    STLcardsWS Administrator

    Joined:
    Sep 18, 2014
    Messages:
    7,706
    Likes Received:
    6,657
    Trophy Points:
    747

    Some news from developer flatz as he has released an update to his recent project of Remote Package Installer for exploited PS4's.You have seen projects recently incorporate this project, so expect some update to arise from those projects as well to support the new changes from flatz, but what this utility does essentially is make it possible to install a pkg from a remote device, additional details and information can be found at the links included and in the information provided below


    original.jpg

    • Remote Package Installer
      Requirements:
      • Any exploit on 4.5x+
      • HEN 1.8 (you could get it from zecoxao's page) or any other kernel payload (it just need to have fPKG stuff and /data mount patches for ShellCore that I've posted recently)

      UPDATE - Changelog:
      [+] Added CORS header to interact with browser's AJAX
      [+] Deletion of temporary files in /data​

      Here is the first version of remote package installer that I made a few days ago, it have no GUI yet (it just displays a splash screen), but all the job could already be done via Web API that you could access remotely from your PC using any of available tools that you prefer: a custom web server or an application, NodeJS scripts, etc. No more need to use USB flash drives or external hard drives for your packages, everything could be done remotely.​

      One important thing: to be able to use this tool for receiving commands you need to have this application in focus (not in a background, because PS4 will suspend it and it won't be possible to use network anymore). After you send a command (to install game, for example), wait some time (I suppose "waiting to install" phase should be finished before you do minimize/close, anyway if you experiences it then click on "View Details" in notification window, you may see "the connection to the server has been lost", if so then just relaunch/maximize application and resume task), and then you could minimize this application freely (switch to a game, for example), because actual installing (or better saying, downloading) will be running in a background.​

      So, an idea is simple: you need to set up a web server that will serve package files for PS4 access, in other words, it will host package files and when a command will be received it will send .pkg file to PS4 using a simple HTTP protocol. Also, this PS4 application runs another web server by itself (using 12800 port) that is used to receive commands from PC/mobile or anything else you prefer. To send a command to PS4 server you need to use any tool that you want (this could be the same tool that you use for web server, for example, if it's a site then it will be some PHP/JS/Python script or you could just use a simple cURL client). Some of you could also create their own tool to communicate with it using HTML+JS/C#/NodeJS or anything else, so it's flexible and there are no restrictions. All commands are based on HTTP POST requests that receives/sends JSON data (see below).​

      There are two types of installation:
      1) using direct URLs to .pkg parts,
      2) using URL to manifest JSON, so called CDN way, but it's limited due to exploit's reasons, however if it's still usable for you then you need to unblock this CDN domain (if it's blocked): gs2.ww.prod.dl.playstation.net
      Also, manifest .json may be on a local server as well, an official server is not required, of course. You could even host a public server (even CDN) to store files that could be accessed from your PS4.​

      Because I'm lazy to create desktop application I just use a NodeJS server (I use NPM package called "serve") as local web server on my PC, this package is very good because it supports multi-threading and PS4 actually need it.​
      npm install serve
      serve -p <local port> <serve folder>​

      -Continue Next Tab-​


    • So you set a path to a folder where are your packages located and then specify proper URL for PS4 to locate them.

      For client I just use command line version of cURL.​

      Okay, so here are some examples below (these examples use cURL but if you use something else then just take a look into available URLs and JSON format of data field for POST requests).​

      Checking if app exists (also tells its size if exists):
      curl --data '{"title_id":"CUSA09311"}' 'http://<PS4 IP>:12800/api/is_exists'

      Installing main package (if you have multiple pieces you should specify all of them in packages array in consecutive order; if you use a merged file then you just need to specify a single element for this array):
      curl -v 'http://<PS4 IP>:12800/api/install' --data '{"type":"direct","packages":["http://<local ip>:<local port>/UP1004-CUSA03041_00-REDEMPTION000002.pkg"]}'

      Installing main package from CDN:
      curl -v 'http://<PS4 IP>:12800/api/install' --data '{"type":"ref_pkg_url","url":"http://gs2.ww.prod.dl.playstation.n...0/f/UP9000-CUSA02299_00-MARVELSSPIDERMAN.json"}'

      Installing patch package:
      curl -v 'http://<PS4 IP>:12800/api/install' --data '{"type":"direct","packages":["http://<local ip>:<local port>/UP9000-CUSA02299_00-MARVELSSPIDERMAN-A0108-V0100_0.pkg","http://<local ip>:<local port>/UP9000-CUSA02299_00-MARVELSSPIDERMAN-A0108-V0100_1.pkg","http://<local ip>:<local port>/UP9000-CUSA02299_00-MARVELSSPIDERMAN-A0108-V0100_2.pkg"]}'

      Installing additional content:
      curl -v 'http://<PS4 IP>:12800/api/install' --data '{"type":"direct","packages":["http://<local ip>:<local port>/UP0001-CUSA09311_00-ULCQUEST00000002.pkg"]}'

      Installing theme:
      curl -v 'http://<PS4 IP>:12800/api/install' --data '{"type":"direct","packages":["http://<local ip>:<local port>/UP0001-CUSA09311_00-ACDNEWTHEME12345.pkg"]}'

      Uninstalling game:
      curl -v 'http://<PS4 IP>:12800/api/uninstall_game' --data '{"title_id":"CUSA02299"}'

      Uninstalling patch:
      curl -v 'http://<PS4 IP>:12800/api/uninstall_patch' --data '{"title_id":"CUSA08344"}'

      Uninstalling additional content:
      curl -v 'http://<PS4 IP>:12800/api/uninstall_ac' --data '{"content_id":"UP0001-CUSA09311_00-ULCPACK000000004"}'

      Uninstalling theme:
      curl -v 'http://<PS4 IP>:12800/api/uninstall_theme' --data '{"content_id":"UP9000-CUSA08344_00-DETROITCHARTHEME"}'

      You could also work with tasks themselves (pause, continue, remove, etc), you just need to know task id, it could be retrieved in a response when you send installation commands.​

      Starting task (tasks are started automatically but you could use this command if you have stopped task manually, for example):
      curl -v 'http://<PS4 IP>:12800/api/start_task' --data '{"task_id":123}'

      Stopping task:
      curl -v 'http://<PS4 IP>:12800/api/stop_task' --data '{"task_id":123}'

      Pausing task:
      curl -v 'http://<PS4 IP>:12800/api/pause_task' --data '{"task_id":123}'

      Resuming task:
      curl -v 'http://<PS4 IP>:12800/api/resume_task' --data '{"task_id":123}'

      Unregistering (removing) task:

      curl -v 'http://<PS4 IP>:12800/api/unregister_task' --data '{"task_id":123}'

      Getting task progress information:
      curl -v 'http://<PS4 IP>:12800/api/get_task_progress' --data '{"task_id":123}'

      Finding task id by content id and sub type:

      curl -v 'http://<PS4 IP>:12800/api/find_task' --data '{"content_id":"UP1004-CUSA03041_00-REDEMPTION000002","sub_type":6}'

      Task sub types:
      Game=6, AC=7, Patch=8, License=9


     
    Last edited: Nov 25, 2018

Comments

Discussion in 'PS4 News' started by STLcardsWS, Nov 25, 2018.

    1. pinky
      pinky
      this could be helpful. as it stands now, I have all of my ps4 packages on two 10TB hdds, separated into folders between 0 keystone'd, normal, patch, game, both, etc. they're also copied to a 2TB hdd plugged into my ps4. for right now, I'm keeping them in those three places for safe keeping. they're all of the packages installed on my ps4.. it would be nice to do away with the extra 2TB hdd in favor of using that with the virtual wii, since my original hdd died due to a pos sabrent enclosure. however, I might reuse that enclosure with a new hdd to avoid snaking out the power cable, which is next to impossible to get to. anyway, that's what I might do. though, at present, I have no more games to rip. I've already dumped my entire collection (several times) as well as using duxa repacker for 0'd out keystones without their patches. :D
    2. Berion
      Berion
      It is possible to install official retail packages in such way, or only fake signed (I don't know if prod.dl.* is they retail server ;p)?
    3. PS3HackersMod
      PS3HackersMod
      Remote installer?? This could be a HUGE helpful
    4. barelynotlegal
      barelynotlegal
      i have tried a few times and seems to work well with smaller fpk's, tried the last ou us and call of duty WWII both roughly 40gb ea. i tried sonic and a few other smaller games and was very quick.
      i know its not my connection as its wired my internet speed tier is premium.
      modded warefare has a few good videos to increase speeds and a few other good topics as well

Share This Page