More actions
(Created page with "{{Infobox PSP Homebrews |title=PKGi PSP |image=pkgipsp.png |description=A PlayStation Portable (PSP) package download tool. |author=bucanero |lastupdated=2023/10/01 |type=File Browsers |version=0.8.0 |license=MIT |download=https://dlhb.gamebrew.org/psphomebrew/pkgipsp.7z |website=https://github.com/bucanero/pkgi-psp |source=https://github.com/bucanero/pkgi-psp |donation= }} {{#seo: |title= (File Browsers) - GameBrew |title_mode=append |image=pkgipsp.png |image_alt=PKGi P...") |
No edit summary |
||
Line 34: | Line 34: | ||
==Installation== | ==Installation== | ||
You need to create a [[#sample-db-file|<code>pkgi.txt</code>]] file in <code>ms0:/PSP/GAME/PKGI/</code> that contains the items available for installation. The text database format is user customizable. Check [[#user-defined-db-format|this section]] to learn how to define your own custom DB format. | |||
===Multiple Databases=== | |||
You can also load additional database files: | |||
* <code>pkgi_games.txt</code> | |||
* <code>pkgi_dlcs.txt</code> | |||
* <code>pkgi_themes.txt</code> | |||
* <code>pkgi_avatars.txt</code> | |||
* <code>pkgi_demos.txt</code> | |||
* <code>pkgi_updates.txt</code> | |||
* <code>pkgi_emulators.txt</code> | |||
* <code>pkgi_apps.txt</code> | |||
* <code>pkgi_tools.txt</code> | |||
Items on each of these files will be auto-categorized to the file content type. '''Note:''' The app assumes that every database file has the same format, as defined in <code>dbformat.txt</code>. | |||
===Online DB Update== | |||
You can refresh and sync an online database by adding the DB URL(s) to the <code>config.txt</code> file in <code>ms0:/PSP/GAME/PKGI/</code>. | |||
For example: | |||
<div class="snippet-clipboard-content notranslate position-relative overflow-auto"> | |||
<pre>url http://www.mysite.com/mylist.csv | |||
url_demos http://www.demos.com/otherlist.csv | |||
url_emulators http://www.example.com/emulators.csv</pre> | |||
Using this setup, <code>pkgi.txt</code> will be updated with <code>mylist.csv</code>, <code>pgi_demos.txt</code> with <code>otherlist.csv</code> , and <code>pkgi_emulators.txt</code> with <code>emulators.csv</code>. | |||
Next time you open the app, you'll have an additional menu option '''TRIANGLE button''' called '''Refresh'''. When you select it, the local databases will be syncronized with the defined URLs. | |||
==Media== | ==Media== | ||
'''PKGi PSP | How to install games DIRECTLY to PSP ( No PC required )''' ([https://www.youtube.com/watch?v=E4bfkp4OoCM | '''PKGi PSP | How to install games DIRECTLY to PSP ( No PC required )''' ([https://www.youtube.com/watch?v=E4bfkp4OoCM Son of a Handheld]) <br> | ||
Son of a Handheld]) <br> | |||
<youtube width="640">E4bfkp4OoCM</youtube> | <youtube width="640">E4bfkp4OoCM</youtube> | ||
==Screenshots== | ==Screenshots== | ||
https://dlhb.gamebrew.org/psphomebrew/pkgipsp- | https://dlhb.gamebrew.org/psphomebrew/pkgipsp-01.png | ||
https://dlhb.gamebrew.org/psphomebrew/pkgipsp- | https://dlhb.gamebrew.org/psphomebrew/pkgipsp-02.png | ||
== DB Formats == | |||
The application needs a text database that contains the items available for installation, and it must follow the [[#default-db-format|default format definition]], or have a [[#user-defined-db-format|custom format definition]] file. | |||
=== Default DB Format=== | |||
The default database file format uses a very simple CSV format where each line means one item in the list: | |||
<pre>contentid,type,name,description,rap,url,size,checksum</pre> | |||
where: | |||
{| class="wikitable" | |||
|- | |||
! Column | |||
! Description | |||
|- | |||
| <code>contentid</code> | |||
| is the full content id of the item, for example: <code>UP0000-NPXX99999_00-0000112223333000</code>. | |||
|- | |||
| <code>type</code> | |||
| is a number for the item's content type. See the [[#content-types|table below]] for details. (set it to 0 if unknown) | |||
|- | |||
| <code>name</code> | |||
| is a string for the item's name. | |||
|- | |||
| <code>description</code> | |||
| is a string for the item's description. | |||
|- | |||
| <code>rap</code> | |||
| the 16 hex bytes for a RAP file, if needed by the item (<code>.rap</code> files will be created on <code>/dev_hdd0/exdata</code>). Leave empty to skip the <code>.rap</code> file. | |||
|- | |||
| <code>url</code> | |||
| is the HTTP/HTTPS/FTP/FTPS URL where to download the <code>.pkg</code> file. | |||
|- | |||
| <code>size</code> | |||
| is the size in bytes of the <code>.pkg</code> file, or 0 if unknown. | |||
|- | |||
| <code>checksum</code> | |||
| is a SHA256 digest of the <code>.pkg</code> file (as 32 hex bytes) to make sure the file is not tampered with. Leave empty to skip the check. | |||
|} | |||
'''Note:''' <code>name</code> and <code>description</code> cannot contain newlines or commas. | |||
<span id="user-content-sample-db-file"></span> | |||
==== Sample DB File ==== | |||
An example <code>pkgi.txt</code> file following the <code>contentid,type,name,description,rap,url,size,checksum</code> format: | |||
<pre>EP0001-FILEMANAG_00-0000000000000000,8,FileManager v1.40,File Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/FileManager_v1.40.pkg,12171120,FAF680636B18AD0B70AA61F48A78C5E42D6972F795F1B82CC434BE3DDE60F00F | |||
UP0001-IRISMAN00_00-VER4880000000000,8,IRISMAN 4.88.1,Backup Manager,,http://github.com/aldostools/IRISMAN/releases/download/4.88/IRISMAN_4.88.pkg,29411984,E6EF607F0002B31BFB148BE4FC9BDBACB4E53110751F0E667C701D40B5290570 | |||
EP0001-MANAGUNZ0_00-0000000000000000,8,ManaGunZ v1.40,Backup Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/ManaGunZ_v1.40.pkg,17563040,CE0E4036903E881C08259FD69E777F6BC9CD24E823B471A7B15C88FDDBB2E330 | |||
UP0001-PS3SFM001_00-0000000000000000,8,Simple file manager v0.5.2,File Manager,,http://github.com/lmirel/fm_psx/releases/download/v0.5.2/sfm_ps3.pkg,1098800,301F64CC94E9BC442FDAC9199BFB8153AC2430A5E47331C6CF8A25B7881648A6 | |||
EP0001-UPDWEBMOD_00-0000000000000000,9,webMAN MOD v1.47.36,Backup Manager,,http://github.com/aldostools/webMAN-MOD/releases/download/1.47.36/webMAN_MOD_1.47.36_Installer.pkg,13580448,</pre> | |||
==== Content Types ==== | |||
{| class="wikitable" | |||
|- | |||
! Type value | |||
! Content type | |||
! DB File | |||
|- | |||
| 0 | |||
| Unknown | |||
| | |||
|- | |||
| 1 | |||
| Game | |||
| <code>pkgi_games.txt</code> | |||
|- | |||
| 2 | |||
| DLC | |||
| <code>pkgi_dlcs.txt</code> | |||
|- | |||
| 3 | |||
| Theme | |||
| <code>pkgi_themes.txt</code> | |||
|- | |||
| 4 | |||
| Avatar | |||
| <code>pkgi_avatars.txt</code> | |||
|- | |||
| 5 | |||
| Demo | |||
| <code>pkgi_demos.txt</code> | |||
|- | |||
| 6 | |||
| Update | |||
| <code>pkgi_updates.txt</code> | |||
|- | |||
| 7 | |||
| Emulator | |||
| <code>pkgi_emulators.txt</code> | |||
|- | |||
| 8 | |||
| Application | |||
| <code>pkgi_apps.txt</code> | |||
|- | |||
| 9 | |||
| Tool | |||
| <code>pkgi_tools.txt</code> | |||
|} | |||
<span id="user-content-user-defined-db-format"></span> | |||
===User-defined DB Format ==== | |||
To use a custom database format, you need to create a <code>dbformat.txt</code> file, and save it on <code>ms0:/PSP/GAME/PKGI/</code>. | |||
The <code>dbformat.txt</code> definition file is a 2-line text file: | |||
* Line 1: the custom delimiter character (e.g.: <code>;</code>, <code>,</code>, <code>|</code>, etc.) | |||
* Line 2: the column names for every column in the custom database, delimited by the proper delimiter defined in line 1 | |||
'''Note:''' For the columns to be properly recognized, use the column tag names defined in the table above. | |||
All the columns are optional. Your database might have more (or less) columns, so any unrecognized column will be skipped. | |||
==== Example==== | |||
Example <code>dbformat.txt</code>, for a database using semi-colon (<code>;</code>) as separator: | |||
<pre>; | |||
name;TITLE ID;REGION;description;AUTHOR;TYPE;url;rap;size</pre> | |||
'''Result:''' only the <code>name,description,url,rap,size</code> fields will be used. | |||
==== Example ==== | |||
Example <code>dbformat.txt</code>, for a database using character pipe (<code>|</code>) as separator: | |||
<pre>| | |||
REGION|TITLE|name|url|rap|contentid|DATE|PKG FILENAME|size|checksum</pre> | |||
'''Result:''' only the <code>name,url,rap,contentid,size,checksum</code> fields will be used. | |||
== Usage == | |||
Using the application is simple and straight-forward: | |||
* Move <span class="kbd">UP</span>/<span class="kbd">DOWN</span> to select the item you want to download, and press [https://github.com/bucanero/pkgi-ps3/raw/master/data/CROSS.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/CROSS.png|X button]]]. | |||
* To see the item's details, press [https://github.com/bucanero/pkgi-ps3/raw/master/data/SQUARE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/SQUARE.png|Square]]]. | |||
* To sort/filter/search press [https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png|Triangle]]]. It will open the context menu. Press [https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png|Triangle]]] again to confirm the new settings, or press [https://github.com/bucanero/pkgi-ps3/raw/master/data/CIRCLE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/CIRCLE.png|O button]]] to cancel any changes. | |||
* Press left or right trigger buttons <span class="kbd">L1</span>/<span class="kbd">R1</span> to move pages up or down. | |||
* Press <span class="kbd">LEFT</span>/<span class="kbd">RIGHT</span> buttons to switch between categories. | |||
=== Notes === | |||
* '''RAP data:''' if the item has <code>.rap</code> data, the file will be saved in the <code>ms0:/PKG/RAP/</code> folder. | |||
==Q&A== | |||
<ol> | |||
<li><p>Where to get a <code>rap</code> string?</p> | |||
<p>You can use a tool like RIF2RAP to generate a <code>.rap</code> from your existing <code>.rif</code> files. Then you can use a tool like <code>hexdump</code> to get the hex byte string.</p></li> | |||
<li><p>Where to get <code>.pkg</code> links?</p> | |||
<p>You can use [https://repod.github.io/psdle/ PSDLE] to find <code>.pkg</code> URLs for the games you own. Then either use the original URL, or host the file on your own web server.</p></li> | |||
<li><p>Where to remove interrupted/failed downloads to free up disk space?</p> | |||
<p>Check the <code>ms0:/PKG/</code> folder - each download will be in a separate <code>.pkg</code> file by its content ID. Simply delete the file and start again.</p></li> | |||
<li><p>Download speed is too slow!</p> | |||
<p>Optimization is still pending. (Optional) Set <code>Power Save Settings</code> -> <code>WLAN Power save</code> -> <code>OFF</code> , if you want to speed up the download process.</p></li></ol> | |||
==Changelog== | ==Changelog== | ||
Line 59: | Line 241: | ||
** Enter button detection (cross/circle) | ** Enter button detection (cross/circle) | ||
==Credits== | |||
*[http://www.bucanero.com.ar/ Bucanero]: Project developer | |||
===Acknowledgements=== | |||
* [https://github.com/mmozeiko/ mmozeiko]: [https://github.com/mmozeiko/pkgi PS Vita pkgi] | |||
* [https://github.com/qwikrazor87/ qwikrazor87]: [https://github.com/bucanero/psptools/tree/master/depackager Depackager] | |||
== External links == | == External links == | ||
* Github - https://github.com/bucanero/pkgi-psp | * Github - https://github.com/bucanero/pkgi-psp |
Revision as of 03:46, 4 October 2023
PKGi PSP | |
---|---|
General | |
Author | bucanero |
Type | File Browsers |
Version | 0.8.0 |
License | MIT License |
Last Updated | 2023/10/01 |
Links | |
Download | |
Website | |
Source | |
PKGi PSP is a PlayStation Portable port of pkgi-ps3. This homebrew app allows to download and install .pkg files directly on your PSP.
Features
- easy to use: list available downloads, including searching, filtering, and sorting.
- standalone: no PC required, everything happens directly on the PSP.
- automatic downloads: just choose an item, and it will be downloaded by the app to your Memory Stick (ms0:/PKG/).
- resumes interrupted downloads: you can stop a download at any time, switch applications, and come back to resume the download later.
- localization support: Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish
Notes:
- content activation: downloaded content requires a valid license to run. If your PSP hasn't been activated, you can use one of the following plugins:
Installation
You need to create a pkgi.txt
file in ms0:/PSP/GAME/PKGI/
that contains the items available for installation. The text database format is user customizable. Check this section to learn how to define your own custom DB format.
Multiple Databases
You can also load additional database files:
pkgi_games.txt
pkgi_dlcs.txt
pkgi_themes.txt
pkgi_avatars.txt
pkgi_demos.txt
pkgi_updates.txt
pkgi_emulators.txt
pkgi_apps.txt
pkgi_tools.txt
Items on each of these files will be auto-categorized to the file content type. Note: The app assumes that every database file has the same format, as defined in dbformat.txt
.
=Online DB Update
You can refresh and sync an online database by adding the DB URL(s) to the config.txt
file in ms0:/PSP/GAME/PKGI/
.
For example:
url http://www.mysite.com/mylist.csv url_demos http://www.demos.com/otherlist.csv url_emulators http://www.example.com/emulators.csv
Using this setup, pkgi.txt
will be updated with mylist.csv
, pgi_demos.txt
with otherlist.csv
, and pkgi_emulators.txt
with emulators.csv
.
Next time you open the app, you'll have an additional menu option TRIANGLE button called Refresh. When you select it, the local databases will be syncronized with the defined URLs.
Media
PKGi PSP | How to install games DIRECTLY to PSP ( No PC required ) (Son of a Handheld)
Screenshots
DB Formats
The application needs a text database that contains the items available for installation, and it must follow the default format definition, or have a custom format definition file.
Default DB Format
The default database file format uses a very simple CSV format where each line means one item in the list:
contentid,type,name,description,rap,url,size,checksum
where:
Column | Description |
---|---|
contentid
|
is the full content id of the item, for example: UP0000-NPXX99999_00-0000112223333000 .
|
type
|
is a number for the item's content type. See the table below for details. (set it to 0 if unknown) |
name
|
is a string for the item's name. |
description
|
is a string for the item's description. |
rap
|
the 16 hex bytes for a RAP file, if needed by the item (.rap files will be created on /dev_hdd0/exdata ). Leave empty to skip the .rap file.
|
url
|
is the HTTP/HTTPS/FTP/FTPS URL where to download the .pkg file.
|
size
|
is the size in bytes of the .pkg file, or 0 if unknown.
|
checksum
|
is a SHA256 digest of the .pkg file (as 32 hex bytes) to make sure the file is not tampered with. Leave empty to skip the check.
|
Note: name
and description
cannot contain newlines or commas.
Sample DB File
An example pkgi.txt
file following the contentid,type,name,description,rap,url,size,checksum
format:
EP0001-FILEMANAG_00-0000000000000000,8,FileManager v1.40,File Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/FileManager_v1.40.pkg,12171120,FAF680636B18AD0B70AA61F48A78C5E42D6972F795F1B82CC434BE3DDE60F00F UP0001-IRISMAN00_00-VER4880000000000,8,IRISMAN 4.88.1,Backup Manager,,http://github.com/aldostools/IRISMAN/releases/download/4.88/IRISMAN_4.88.pkg,29411984,E6EF607F0002B31BFB148BE4FC9BDBACB4E53110751F0E667C701D40B5290570 EP0001-MANAGUNZ0_00-0000000000000000,8,ManaGunZ v1.40,Backup Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/ManaGunZ_v1.40.pkg,17563040,CE0E4036903E881C08259FD69E777F6BC9CD24E823B471A7B15C88FDDBB2E330 UP0001-PS3SFM001_00-0000000000000000,8,Simple file manager v0.5.2,File Manager,,http://github.com/lmirel/fm_psx/releases/download/v0.5.2/sfm_ps3.pkg,1098800,301F64CC94E9BC442FDAC9199BFB8153AC2430A5E47331C6CF8A25B7881648A6 EP0001-UPDWEBMOD_00-0000000000000000,9,webMAN MOD v1.47.36,Backup Manager,,http://github.com/aldostools/webMAN-MOD/releases/download/1.47.36/webMAN_MOD_1.47.36_Installer.pkg,13580448,
Content Types
Type value | Content type | DB File |
---|---|---|
0 | Unknown | |
1 | Game | pkgi_games.txt
|
2 | DLC | pkgi_dlcs.txt
|
3 | Theme | pkgi_themes.txt
|
4 | Avatar | pkgi_avatars.txt
|
5 | Demo | pkgi_demos.txt
|
6 | Update | pkgi_updates.txt
|
7 | Emulator | pkgi_emulators.txt
|
8 | Application | pkgi_apps.txt
|
9 | Tool | pkgi_tools.txt
|
User-defined DB Format =
To use a custom database format, you need to create a dbformat.txt
file, and save it on ms0:/PSP/GAME/PKGI/
.
The dbformat.txt
definition file is a 2-line text file:
- Line 1: the custom delimiter character (e.g.:
;
,,
,|
, etc.) - Line 2: the column names for every column in the custom database, delimited by the proper delimiter defined in line 1
Note: For the columns to be properly recognized, use the column tag names defined in the table above.
All the columns are optional. Your database might have more (or less) columns, so any unrecognized column will be skipped.
Example
Example dbformat.txt
, for a database using semi-colon (;
) as separator:
; name;TITLE ID;REGION;description;AUTHOR;TYPE;url;rap;size
Result: only the name,description,url,rap,size
fields will be used.
Example
Example dbformat.txt
, for a database using character pipe (|
) as separator:
| REGION|TITLE|name|url|rap|contentid|DATE|PKG FILENAME|size|checksum
Result: only the name,url,rap,contentid,size,checksum
fields will be used.
Usage
Using the application is simple and straight-forward:
- Move UP/DOWN to select the item you want to download, and press X button.
- To see the item's details, press Square.
- To sort/filter/search press Triangle. It will open the context menu. Press Triangle again to confirm the new settings, or press O button to cancel any changes.
- Press left or right trigger buttons L1/R1 to move pages up or down.
- Press LEFT/RIGHT buttons to switch between categories.
Notes
- RAP data: if the item has
.rap
data, the file will be saved in thems0:/PKG/RAP/
folder.
Q&A
Where to get a
rap
string?You can use a tool like RIF2RAP to generate a
.rap
from your existing.rif
files. Then you can use a tool likehexdump
to get the hex byte string.Where to get
.pkg
links?You can use PSDLE to find
.pkg
URLs for the games you own. Then either use the original URL, or host the file on your own web server.Where to remove interrupted/failed downloads to free up disk space?
Check the
ms0:/PKG/
folder - each download will be in a separate.pkg
file by its content ID. Simply delete the file and start again.Download speed is too slow!
Optimization is still pending. (Optional) Set
Power Save Settings
->WLAN Power save
->OFF
, if you want to speed up the download process.
Changelog
(v0.8.0)
- First Release.
- Added
- Download and install PKG files to the PSP
- Support for loading multiple database files
- Generic text database format support
- Filter unsupported or missing URLs when loading a database
- Content categorization and filtering
- Support for HTTP, HTTPS, FTP, FTPS links with TLS v1.2
- Localization support (Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish)
- Language detection based on PSP settings
- Enter button detection (cross/circle)
Credits
- Bucanero: Project developer
Acknowledgements
External links
- Github - https://github.com/bucanero/pkgi-psp