GithubHelp home page GithubHelp logo

hb-store-cdn-cli-server's Introduction

HB-Store CDN CLI Server

ko-fi os commits_since_release version
downloads last_commit

This is the new HB-Store CDN Server [cli-version].

HB-Store CDN CLI Server

Features

  • Interactive CLI Usage
  • Show, Edit and Modify Configuration though cli
  • Custom Network Interface and Port
  • Select base path to scan all pkgs (deep scan)
  • Integrated node express server
  • Maps file paths correctly, even with special character and empty spaces
  • Public Domain Host support
  • Auto check Server Binaries on Server Start
  • Added retroNAS Support (v1.3.0+)
  • Added PS5 Support (v1.4.1+)

ToDo

  • More Tweaks
  • Add integrated cluster Support
  • Supercharge application with pm2
  • Add Server Ressource overview
  • Add dedicated logging

How To

Run the binary from your command line and follow the steps.
1.) You should first download the Server Binaries
1.1) [hint]: Server Binaries will be loaded automatically when started with parameter start
2.) Use the Generate configuration menu to create the config
3.) Start the server or run the start command

How to configure HB-Store

1.) Open HB-Store app on your PS4
2.) Set the given CDN Address as your CDN
3.) Save Settings
4.) Close the HB-Store on PS4 by pressing options button and open it again
-- settings needs to be done once --
5.) Open HB-Store on PS4. You should see the content from your Server now.

Command reference

Command Description
./hb-store-cli-server Starts the Default Server with Interactive Menu
./hb-store-cli-server start  Downloads binary files automatically and starts the Server with the pre-configured config.ini
./hb-store-cli-server init   Creates a empty basic config.ini file
./hb-store-cli-server setup  Starts the Interactive Menu, equal to no params
./hb-store-cli-server check-bin   Checks Binaries for update and downloads them
./hb-store-cli-server download-bin  Force Download Binaries and update

Development flow

If you want to develop this without building you need to call npm run dev.
This starts a dev watcher, which compiles your code to /build.
Then you can run node apps.js to start the application which is equal to ./hb-store-cli-server.
For params you do the same node apps.js init which is equal to ./hb-store-cli-server init.

Support

If you want to Support me and my development, you can do this here.

ko-fi

hb-store-cdn-cli-server's People

Contributors

gkiokan 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

hb-store-cdn-cli-server's Issues

Covers are not being downloaded

Hi,

Thank you for awesome work!
A small issue that I face is that all icons/thumbnails are the generic one and are not being updated/downloaded.

Is there a specific flag I need to add to the config file?

For reference I run the store inside kubernetes through a self-made dockerimage: https://github.com/filipdadgar/hb-store/blob/main/Dockerfile

Connection and functionality works, but the covers are giving me OCD. :)

Thanks in advance!

UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'toString' of undefined

when starting or stopping service on ubuntu 22.04 i get the following error in console
[Server] Stop the server (node:428118) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'toString' of undefined at /snapshot/HB-Store-CDN-CLI-Server/node_modules/cli-table/lib/index.js:188:27 at Array.forEach (<anonymous>) at generateRow (/snapshot/HB-Store-CDN-CLI-Server/node_modules/cli-table/lib/index.js:187:11) at /snapshot/HB-Store-CDN-CLI-Server/node_modules/cli-table/lib/index.js:281:16 at Table.forEach (<anonymous>) at Table.toString (/snapshot/HB-Store-CDN-CLI-Server/node_modules/cli-table/lib/index.js:264:10) at Object.showList (/snapshot/HB-Store-CDN-CLI-Server/build/cli.js) at Object.sendFiles (/snapshot/HB-Store-CDN-CLI-Server/build/server.js) at Object.addFilesFromBasePath (/snapshot/HB-Store-CDN-CLI-Server/build/server.js) at runMicrotasks (<anonymous>) (Usehb-store-cdn-cli-server-linux --trace-warnings ...to show where the warning was created) (node:428118) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:428118) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Speeds slow?

Is there anyway to improve the DL speed? I have 100mbits in both directions but feels like 10mbits :(

No arm64 Support?

Hi. I tried zu run it in my rk3399 device. Orange Pi 4b/Armbian Bullseye but i cant get it run.
Will there come Support for?

PS5 support?

Trying to get this working on the PS5 with the latest HB Store from pkg-zone.com

I got it running in a docker container, but I'm getting "Update has FAILED" within HB Store app after changing the IP to my server IP

Here's the error in the loader logs

[STORE_GL_Loader:loader_rooted:426] ----- INI FOUND ---
CDN = http://192.168.1.20:6449
Secure_Boot = 1
temppath = /user/app/NPXS39041/downloads
TTF_Font = /mnt/sandbox/pfsmnt/NPXS39041-app0/assets/fonts/font.ttf
auto_install = 1
Legacy_install_prog = 0
auto_load_cache = 1
[STORE_GL_Loader:loader_rooted:435] ----- CDN Url = http://192.168.1.20:6449 ---
[STORE_GL_Loader:loader_rooted:442] ----- Ping Successful ---
prog: 0
prog: 0
prog: 0
prog: 0
prog: 0
prog: 0
prog: 0
prog: 100
prog: 100
prog: 100
prog: 100
[STORE_GL_Loader:loader_rooted:449] ----- Downloaded remote.md5 ---
[STORE_GL_Loader:loader_rooted:451] ----- CheckForUpdate() ---
[STORE_GL_Loader:checkForUpdate:271] ----- ELF exists ---
[STORE_GL_Loader:checkForUpdate:272] ----- Comparing Hashs ---
Update Required, Press OK to Update the App
sceMsgDialogTerminate = -2135425021
sceMsgDialogInitialize = 0
Download: 0 / 0
Download: 0 / 0
Download: 0 / 0
Download: 0 / 0
Download: 0 / 0
Download: 0 / 0
Download: 0 / 0
Download: 0 / 0
Download: 155 / 155
Download: 155 / 155
Download: 155 / 155
Download: 155 / 155
Update has FAILED. Please reinstall the latest HB-Store
The Store Loader has encountered an error

For more info check: /user/app/NPXS39041/logs/loader.log The App will now Close

Here's the relevant store_api logs

[HTTP] User Agent set to StoreHAX/GL-PS5-0x403
httpresponsecode: 200
sceStoreDownloadUsingCurl("StoreHAX/GL-PS5-0x403", "http://192.168.1.20:6449/store.db", "/user/app/NPXS39041/store_downloaded.db", 0x800c21af0) | API version: 0x1004
Downloading: http://192.168.1.20:6449/store.db | 0x803bfdd0 | 0x8040c0e0
curl_easy_init: 0x200072260
[HTTP] User Agent set to StoreHAX/GL-PS5-0x403
httpresponsecode: 200
sceStorePingTest("StoreHAX/GL-PS5-0x4030000", "http://192.168.1.20:6449") | API version: 0x1004
server http://192.168.1.20:6449
[HTTP] User Agent set to StoreHAX/GL-PS5-0x4030000
Download size: 204800

pingtest returned 0
sceStoreDownloadUsingCurl("StoreHAX/GL-PS5-0x4030000", "http://192.168.1.20:6449/update/remote.md5", "/user/app/NPXS39041/remote.md5", 0x405980) | API version: 0x1004
Downloading: http://192.168.1.20:6449/update/remote.md5 | 0x803bfdd0 | 0x8040c0e0
curl_easy_init: 0x200054620
[HTTP] User Agent set to StoreHAX/GL-PS5-0x4030000
httpresponsecode: 200
sceStoreDownloadUsingCurl("StoreHAX/GL-PS5-0x4030000", "http://192.168.1.20:6449/update/store.prx", "/system/common/lib/store.prx", 0x404480) | API version: 0x1004
Downloading: http://192.168.1.20:6449/update/store.prx | 0x803bfdd0 | 0x8040c0e0
curl_easy_init: 0x200054620
[HTTP] User Agent set to StoreHAX/GL-PS5-0x4030000
httpresponsecode: 404

I'm getting a 404 on http://192.168.1.20:6449/update/store.prx

Am I missing the store.prx file?
I have all the latest downloaded bin files from the cli script, specifically the files here https://github.com/LightningMods/PS4-Store/releases

I even tried extracting the PS5_Update_files.zip and placed that in a folder called update with in the /app/bin folder

organization by folder and by type

@Gkiokan ,
I recently started using your server for a CDN on my domain, and it turned out fine, but I noticed that the pkgs ALL need to be in a common folder, I was wondering if there's no way to make one organization by paws Ex. Folder R/resident_4_cusaXXXX/xxxz.pkg
Resident_4/UPDATE/xxx_v1.1.pkg
In other words, inside the E folder there is the resident folder, and inside the resident folder there is the pkg of the base game, and an UPDATE folder, and inside that folder the update.pkg

Imagine that you have another game with the initial R, it would be inside the R folder etc....

Or just make 3 folders
Base
Update
Dlcs

And everything will go to its destination folder, if base in base, if update in update and if DLC in dlc folder

Tks

Support ARM64 builds

I have tried to compile for arm64, but I’m facing issues with the dependencies. I would appreciate it if you could add the binary to the release.

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.