Giter Club home page Giter Club logo

xna_rpkgman's Introduction

PS4 Remote Package Manager by XNA

This is a lightweight installation manager for pkg files. It comes with a fully dynamic front-end using only jquery, jquery-ui and js-cookie (for storing tasks). NodeJS/NPM is the only component required to run the webserver.

The manager can run on a headless server (no desktop needed). Ideally this server should be have direct and fast access to pkg files!

Preview

Prerequisites

  • NodeJS
  • NPM (Node Package Manager)
  • PS4 Remote Package Installer

Installation

  1. Clone repository, cd into extracted directory
  2. Install modules: npm install
  3. Edit config.json (see below)
  4. Start server:
  • To start in foreground (e.g. in screen): node index.js
  • To start in background: nohup node index.js &

Configuration:

Edit config.json:

  • pkgfolder: Full path to the folder containing your pkg files, must be accessible from server!
  • myip: IP address of your server
  • ps4ip: IP address of your PS4

optional:

  • myport: Port of server / landing page

Remember to enable the configured port in your firewall!

Optimizing transfer speed:

With all your devices connected via Gigabit LAN (1000BASE-T) you should be able to reach transfer speeds of more than 20 MB/s. Given that, the installation of a 40GB pkg file takes around 30 mins.

To optimize transfer speed check the following points:

  1. Server has 'fast' access to the configured pkgfolder, either directly or via Gigabit connection (for SMB share make sure to use SMB v3.0)
  2. Server and PS4 are connected to eachother via Gigabit LAN (1000 Mbit/s router/switch + Cat 5e/6/7 cables)

Running Docker container

Needed: Docker

  1. Edit docker-compose.yml with your data (host ip , ps4 ip , path to pkgs ...)
  2. Run docker-compose up -d

Troubleshooting

  • 'Unable to set up prerequisites for package': Make sure that patched Kernel (e.g. unofficial Mira) is loaded, also check that the package file name does not contain any special characters!
  • UI does not update: Remote Package Installer needs to be running in the foreground for UI status updates! Make sure it's not hanging: restart it by pressing and holding the PS button, close application and launching again.

Credits

Credit goes to flatz for creating the Remote Package Installer!

Donations

BTC: bc1qut876f99mqs9etd827mhgxew25t5s6drxzz2ks ETH: 0x3279f75D9656405E6189a4413e0eaE476eeEc7F8

xna_rpkgman's People

Contributors

cypheron avatar kirylh avatar rast1234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

xna_rpkgman's Issues

Feature Request: Handle spaces in file path

Hello. Thank you for great application.
I am using it as a Docker container on my Synology NAS and it works mostly fine.

The problem I am facing is that I have a quite large game collection, and it is hard to maintain it without using spaces in folder names. As example, my folder structure is like:
Full Game Name (CUSAXXXXXX) [v01.07]/PSN_STYLED_NAME-A0100-V0100.pkg
As you can see, folder name (but not pkg file name) contains spaces and some special characters. The tests shows that everything works fine if spaces are removed.

With spaces in path I get Error: Unable to set up prerequisites for package 'link to pkg file'. If I try to open "link to pkg file" from browser it working fine.

I understand that this problem is mentioned in 'Troubleshooting', but maybe there is different fix than not using spaces at all?

Buttons block is not fully visible

I could see only 1 button (Pause) for each file. To make it visible I changed style for margin-top for button.prog:

    button.prog {
        float: right;
        margin-top: -15px;
        padding: 0;
    }

Clear Progress list

I tried rpkgman and it works fine.

However, I canceled the download on my PS4 and the progress still remains on rpkman page.
How can I remove the invalid progress?

I stopped the process and restarted but it didn't help.

Any way to implement folder selection of recursive scanning in root folder?

Hello,

Thank you so much for you application, it is exactly what I was looking/waiting for a long time.

Could you please implement (if possible), recursive drill in the root directory, so that it will show all pkg's in subfolders?
Or even better, possibility to select a folder with game you want to send?

I had to change this lines of code :

console.log("App listening at http://%s:%s", host, port)
may be
console.log("App listening at http://"+myaddr)
Otherwise it don't show correct parameters of the running server

Progress panels disappear instantly

Hi! For some reason panels with progress show for a brief moment and then disappear. This is due to /status requests returning false quite often, don't know why. Also requests like /progress/5 are quite slow for me and time out a lot eg. if installer app is closed or not responding. So, requests get created faster than they time out....

I hacked a simple lock (do not make status request if one is running) but not sure how to properly update interface without removing progressbar first...

UPD: implemented fix: instead of hiding tasks on false status response, set opacity: 50%.

DON KNOW HOW TO VISUALIZE FRONTEND

i follow the guide but i don't understand how to access the web page.
if i fo to raspberryp:9999 there is no page available
what am i doing wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.