This weekend PS4Scene developer @victorjimenez (aka victorrjimenezz on Github and Twitter) of 4PT-Project.com shared a PS4 PKG Manager App dubbed PS4 4PT Package Manager alongside a PS4 4PT Tutorial and 4PT Template Repository for those interested in hosting a repository for the PS4 4PT Package Managing Tool application.
Download: 4PT (Latest Version) / PS4 4PT GIT / TUTORIAL.md / 4PT-Repository.zip (Template Repository) / 4PT Repository GIT / 4PT-Project.com / 4PT Repository Creator GUI
This comes following previous PlayStation 4 Package Managers including Pakee PS4 Package Manager, XNA Remote Package Manager and PS4 PKGi Open Source Packages Manager... before jumping in, here are some brief notes from the developer:
I have developed an APT, PS4 package managing tool, that allows users to easily download/install PKGs from repositories. The repositories can be hosted by any user, so anyone who would like to share an App/Game/Tool can easily share it with the community.
The app can download any PKG as long as it's hosted in a compatible repository (and the user has added the repository to their list of repositories). I got inspiration on how the app should work from Cydia (the iOS PKG manager).
From the README.md: PS4 APT Package Manager
A package manager for the PS4.
Important Disclaimers
There are many great Homebrew Apps/Games available.
This tool was developed in order for PS4 Homebrew users to easily download PKGs without the need of using a computer.
Furthermore, 4PT allows anyone to host their own repository and provide any apps/games they would like to share.
Screenshots
Features
The current working app features are:
Short Term (~1.5 Months)
Build Dependencies
This project is built using the Open Orbis PS4 Toolchain and the Yaml-CPP library.
Developers
Víctor Jiménez - @victorrjimenezz - [email protected]
Acknowledgments
I would like to thank the following developers for the developing following projects, which I used to learn how to perform certain actions:
Changelog
4PT v1.00
Major Changes:
Minor bug fixes:
Langs and Bug Fixes:
Major bug fixes, Update Terminal View and Italian Language:
Major Bug Fixes
Major Changes and Crash fixes
Major Changes
4PT v2.60 UI Keyboard
Changes
Switching between tabs
To switch between tabs:
To add a repository, go to the repository tab (2nd one) and
open the keyboard, type the URL and press Add Repo.
Downloads list
Install Download
To install a download, select it from the downloads list using the up/down arrows, select the install option by using the right/left arrows, and press X.
Uninstall Download
To uninstall a download from the PS4, select it from the downloads list using the up/down arrows, select the uninstall option by using the right/left arrows, and press X.
(NOTE: THIS WILL UNINSTALL THE APP FROM THE PS4)
Remove Download
To remove a download (from the app and the disk), select it from the downloads list using the up/down arrows, select the delete option by using the right/left arrows, and press X.
(NOTE: THIS WILL NOT UNINSTALL THE APP FROM THE PS4)
Retry Failed Download
To retry a failed download, select it from the downloads list using the up/down arrows, select the download option by using the right/left arrows, and press X.
Search
General Search
To search a package by its name, from all loaded repositories, go to the search tab (rightmost one) and type the package name on the keyboard.
Filter-by-repository Search
To search a package by its name from a specific repository, go to the repository tab (2nd one) select the repository from which to filter and, once in the repository package list, open the keyboard and search the package.
PKG Direct Download
To download a PKG directly from a URL, go to the home tab (leftmost one), enter the package URL on the keyboard and press download.
Using the keyboard
What is this?
This is a template for a repository for the 4PT PS4 package manager. This template includes 4 Homebrew Apps:
The repository information is stored in a file called repo.yml, located in the root folder of the repository.
(DISCLAMER: YML IS TAB AND LINE BREAK SENSITIVE, SO BE SURE TO WRITE EVERYTHING AS DESCRIBED)
Repository Name (Necessary)
To set the repository name, change the field:
to whatever name you want to set.
Repository Icon (Optional)
To set the repository icon, change the field:
to the desired icon path.
The image has to be a: PNG, JPEG, JPG, TGA, BMP OR NON-ANIMATED (FOR NOW) GIF
(NOTE: THE ICON CAN BE ANY SIZE AND SHAPE, BUT IT IS RECOMMENDED THAT IT IS A SQUARE IMAGE)
If a valid icon is not found, the program will switch to the default repository icon.
Adding Packages
To add a package, the following block of text is required
where each parameter should be replaced by the desired parameter.
PACKAGE_TYPE should be replaced by:
NOTES:
Download: 4PT (Latest Version) / PS4 4PT GIT / TUTORIAL.md / 4PT-Repository.zip (Template Repository) / 4PT Repository GIT / 4PT-Project.com / 4PT Repository Creator GUI
This comes following previous PlayStation 4 Package Managers including Pakee PS4 Package Manager, XNA Remote Package Manager and PS4 PKGi Open Source Packages Manager... before jumping in, here are some brief notes from the developer:
I have developed an APT, PS4 package managing tool, that allows users to easily download/install PKGs from repositories. The repositories can be hosted by any user, so anyone who would like to share an App/Game/Tool can easily share it with the community.
The app can download any PKG as long as it's hosted in a compatible repository (and the user has added the repository to their list of repositories). I got inspiration on how the app should work from Cydia (the iOS PKG manager).
From the README.md: PS4 APT Package Manager
A package manager for the PS4.
Important Disclaimers
- SSL (https) has not been implemented yet, so make sure the repository allows for http:// connections.
- This app has only been tested on System Version 9.00, I'd love to get feedback from users on older versions!
There are many great Homebrew Apps/Games available.
This tool was developed in order for PS4 Homebrew users to easily download PKGs without the need of using a computer.
Furthermore, 4PT allows anyone to host their own repository and provide any apps/games they would like to share.
Screenshots
Features
The current working app features are:
- Downloading PKGs from repositories
- Downloading PKGs directly from a URL
- Uninstall APPs
- Adding Repositories
- Searching apps, filtering by name and repository.
- Install downloaded PKGs.
- For information on how to use the app, refer to Tutorial.
- For information on creating a repo, please refer to 4PT-Repository.
Short Term (~1.5 Months)
- Add SSL Support
- Improve Keyboard Keys
- Add option to download binaries
- Add Update/Version management
- Add Short Description
- Add Sound Effects
- Add Animated GIF STBI Reading (Repo/PKG Icons)
- Improve Keyboard/Change by UI IME
- Add PS4 Version Compatibility Information
- Download Icon from PKG itself
- Add Package Page with photos/videos
- Clean .pkg From /user/app folder
- Multi-language Support
Build Dependencies
This project is built using the Open Orbis PS4 Toolchain and the Yaml-CPP library.
Developers
Víctor Jiménez - @victorrjimenezz - [email protected]
Acknowledgments
I would like to thank the following developers for the developing following projects, which I used to learn how to perform certain actions:
- Remote Package Installer by Flat_z
Learned how to access PS4's native HTTP
Learned how to install PKGs - PS4 Skeleton by Al Azif
Used his jailbreaking tools to gain root privileges
Used his notifi class to send notifications - PS4 Homebrew Store by LightningMods_
Used his dialog method to pop dialogs
Learned how to access PS4's native HTTP
Learned how to install PKGs - tiny-ps4-shell by John Törnblom
Used his method to copy files
Changelog
4PT v1.00
- First version of the 4PT PS4 package managing tool.
- Added option to uninstall app from the downloads tab
- Package Search tab now shows package type
- Minor Bug Fixes
- Improved Efficiency
Major Changes:
- Added SSL(https) Support
- 4PT now loads the app information from the PKG itself, if the pkg is not available, pkg is not shown
- Fixed text, it now looks much more smoother
- Downloads can now be paused, resumed (even if the connection had dropped or the app had been closed)
- All .pkg located in /user/app/ are shown on the downloads tab
- 4PT now automatically updates itself, migrates files to new update
- We verify that the PKG is a .pkg file before loading it
- Added Splash Screen
- Title ID is shown next to the package name
- PKG Size now shown before downloading
- URLs are now verified against regex
- Now it is not possible to add a repo twice
- If the pkg is a DLC or Patch, shows text where it says what it is.
- If an update is available, display accordingly
- If an app is installed, display accordingly
- Added Sound Effects
- Tweaked tab view icons to make them smoother
- Repo.yml should now only contain pkg title and location.
- Fixed Bug that would delete default IMGs from sources folder.
- Fixed Bug that would cause the app to crash when loading a non-properly formatted YAML file.
Minor bug fixes:
- Fixed a bug that would cause the app to detect a URL as invalid if it was an IP address
- Fixed a bug that would cause the app not to delete the old version after having updated itself
- Fixed a bug that would cause the app to keep showing a PKG in the Package Search Tab after having deleted repository from the repository list
Langs and Bug Fixes:
- Added support for themes and updates
- If the PKG has no icon, load one from the default icons
- Fixed a bug where invalid PKG's in /user/app would cause segmentation fault
- Added page indicator
- When users press O in the repository package list page while being on the keyboard, the keyboard is exited, instead of the whole page
- Fixed bug that would cause the app to crash if the arrow down button were pressed when the last element of a search was selected.
- Changed keyboard coloring to allow for better usability
- Add PS4 PKG Firmware Version Compatibility Information
- German, English, Spanish Language support
Major bug fixes, Update Terminal View and Italian Language:
Major Bug Fixes
- Fix bug that causes the app to close on initialization due to an error when initializing for some users
- Add URL Encoding to allow for special Characters (particularly spaces)
- Fix memory leaks
- Add _,? to the keyboard
- Add a terminal view over RepositoryView showing exactly what's being loaded when a repository is being added or updated
- Italian Language Support
Major Changes and Crash fixes
Major Changes
- Optimize Loading Repository Speed, gone from 1.25 Packages per second to 9.12 Packages per second. A
Repo with 123 packages now takes 13.5 seconds to load, instead of 98 seconds. - Hungarian Support
- Changed 4PT Stored data path to /data/4PT/
- If Repo update fails, the repository list of packages is kept
- PKG Search Filtering
- PKG Search Sorting
- Add Animated GIF Reading for repository icons
- The APP is should now be closed with the options button
- Implemented custom port support!
- Added settings tab. Now users can manually change the language or disable/enable notifications.
- Fix keyboard key flicker when rapidly changing selected key
- Fix package flicker when rapidly changing selected package
- Fix bug that causes the app to crash when rapidly changing selected key from keyboard
- Fix bug that would cause the app to crash when rapidly changing selected PKG
- Implement proper App deallocation when ERROR signal sent
4PT v2.60 UI Keyboard
Changes
- Change Keyboard to UI IME
- When removing a download, the option selected is switched to the download button
Switching between tabs
To switch between tabs:
- Press L1 to switch to the left tab.
- Press R1 to swtich to the right tab.
- Home Tab
- Repository Tab
- Downloads Tab
- Search Tab
To add a repository, go to the repository tab (2nd one) and
open the keyboard, type the URL and press Add Repo.
Downloads list
Install Download
To install a download, select it from the downloads list using the up/down arrows, select the install option by using the right/left arrows, and press X.
Uninstall Download
To uninstall a download from the PS4, select it from the downloads list using the up/down arrows, select the uninstall option by using the right/left arrows, and press X.
(NOTE: THIS WILL UNINSTALL THE APP FROM THE PS4)
Remove Download
To remove a download (from the app and the disk), select it from the downloads list using the up/down arrows, select the delete option by using the right/left arrows, and press X.
(NOTE: THIS WILL NOT UNINSTALL THE APP FROM THE PS4)
Retry Failed Download
To retry a failed download, select it from the downloads list using the up/down arrows, select the download option by using the right/left arrows, and press X.
Search
General Search
To search a package by its name, from all loaded repositories, go to the search tab (rightmost one) and type the package name on the keyboard.
Filter-by-repository Search
To search a package by its name from a specific repository, go to the repository tab (2nd one) select the repository from which to filter and, once in the repository package list, open the keyboard and search the package.
PKG Direct Download
To download a PKG directly from a URL, go to the home tab (leftmost one), enter the package URL on the keyboard and press download.
Using the keyboard
- To open the keyboard, press triangle.
- To add a key, select it by using the arrows and pressing X on the selected character.
- To delete a key, press X on the DEL option or press square.
What is this?
This is a template for a repository for the 4PT PS4 package manager. This template includes 4 Homebrew Apps:
- PS4-Xplorer (By @lapy05575948)
- Homebrew Store (By @lightningmods_)
- PS4 Patch Installer (By @0x199)
- Remote Package Installer (By @flat_z)
The repository information is stored in a file called repo.yml, located in the root folder of the repository.
(DISCLAMER: YML IS TAB AND LINE BREAK SENSITIVE, SO BE SURE TO WRITE EVERYTHING AS DESCRIBED)
Repository Name (Necessary)
To set the repository name, change the field:
Code:
name: 4PT Repo
Repository Icon (Optional)
To set the repository icon, change the field:
Code:
iconPath: icon.png
The image has to be a: PNG, JPEG, JPG, TGA, BMP OR NON-ANIMATED (FOR NOW) GIF
(NOTE: THE ICON CAN BE ANY SIZE AND SHAPE, BUT IT IS RECOMMENDED THAT IT IS A SQUARE IMAGE)
If a valid icon is not found, the program will switch to the default repository icon.
Adding Packages
To add a package, the following block of text is required
Code:
PACKAGE_NAME:
pkgPath: PACKAGE_PATH
iconPath: PACKAGE_ICON_PATH
type: PACKAGE_TYPE
version: PACKAGE_VERSION
PACKAGE_TYPE should be replaced by:
- GAME
- APP
- UPDATE
- THEME
- TOOL
- CHEAT
- MISC
NOTES:
- Package names CAN be repeated
- If the Package icon is not set or is not valid, a default icon will be set according to the package type.
- Make a line break at the end of the text block.