{"id":18595072,"url":"https://github.com/bucanero/pkgi-ps3","last_synced_at":"2025-05-15T04:04:32.927Z","repository":{"id":40589166,"uuid":"225931251","full_name":"bucanero/pkgi-ps3","owner":"bucanero","description":"A PlayStation 3 package download tool","archived":false,"fork":false,"pushed_at":"2025-02-11T17:41:47.000Z","size":642,"stargazers_count":789,"open_issues_count":19,"forks_count":94,"subscribers_count":42,"default_branch":"master","last_synced_at":"2025-04-10T10:09:54.633Z","etag":null,"topics":["download-manager","ps3","ps3-tool"],"latest_commit_sha":null,"homepage":"http://www.bucanero.com.ar/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bucanero.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-04T18:26:30.000Z","updated_at":"2025-04-09T18:38:01.000Z","dependencies_parsed_at":"2025-02-26T11:00:27.416Z","dependency_job_id":"d8b22070-8c9f-4fec-bf33-99df84145165","html_url":"https://github.com/bucanero/pkgi-ps3","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucanero%2Fpkgi-ps3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucanero%2Fpkgi-ps3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucanero%2Fpkgi-ps3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bucanero%2Fpkgi-ps3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bucanero","download_url":"https://codeload.github.com/bucanero/pkgi-ps3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270641,"owners_count":22042858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["download-manager","ps3","ps3-tool"],"created_at":"2024-11-07T01:18:16.861Z","updated_at":"2025-05-15T04:04:32.906Z","avatar_url":"https://github.com/bucanero.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PKGi PS3\n\n[![Downloads][img_downloads]][pkgi_downloads] [![Release][img_latest]][pkgi_latest] [![License][img_license]][pkgi_license]\n[![Build package](https://github.com/bucanero/pkgi-ps3/actions/workflows/build.yml/badge.svg)](https://github.com/bucanero/pkgi-ps3/actions/workflows/build.yml)\n\n**PKGi PS3** is a PlayStation 3 port of [pkgi (PSVita)](https://github.com/mmozeiko/pkgi).\n\nThe `pkgi-ps3` homebrew app allows to download and install `.pkg` files directly on your PS3.\n\n![image](https://user-images.githubusercontent.com/1153055/71187586-1acaf400-225e-11ea-9531-b18af20be10d.png)\n\n**Comments, ideas, suggestions?** You can contact [me](https://github.com/bucanero/) on [Twitter](https://twitter.com/dparrino) and on [my website](http://www.bucanero.com.ar/).\n\n# Features\n\n* **easy to use:** list available downloads, including searching, filtering, and sorting.\n* **standalone:** no PC required, everything happens directly on the PS3.\n* **automatic downloads:** just choose an item, and it will be downloaded by the app to your HDD (`direct mode`) or queued for background download (`background mode`) using the internal Download Manager.\n* **resumes interrupted downloads:** you can stop a download at any time, switch applications, and come back to resume the download later.\n* **content activation:** the app can generate `.rif` files for downloaded content (system must be activated)\n* **content updates:** the app can check online for available content updates\n* **localization support:** Finnish, French, German, Italian, Polish, Portuguese, Spanish, Turkish\n\n### Notes:\n* **queuing** up multiple downloads is only supported when using `background download` mode.\n* **background download tasks** will only show up after rebooting your PS3.\n\n# Download\n\nGet the [latest version here][pkgi_latest].\n\n### Changelog\n\nSee the [latest changes here](CHANGELOG.md).\n\n# Setup instructions\n\nYou need to create a [`pkgi.txt`](#sample-db-file) file in `/dev_hdd0/game/NP00PKGI3/USRDIR` that contains the items available for installation.\nThe text database format is user customizable. Check [this section](#user-defined-db-format) to learn how to define your own custom DB format.\n\n## Multiple databases\n\nYou can also load additional database files:\n\n- `pkgi_games.txt`\n- `pkgi_dlcs.txt`\n- `pkgi_themes.txt`\n- `pkgi_avatars.txt`\n- `pkgi_demos.txt`\n- `pkgi_updates.txt`\n- `pkgi_emulators.txt`\n- `pkgi_apps.txt`\n- `pkgi_tools.txt`\n\nItems 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`.\n\n## Online DB update\n\nYou can refresh and sync an online database by adding the DB URL(s) to the `config.txt` file in `/dev_hdd0/game/NP00PKGI3/USRDIR`. \n\nFor example:\n\n```\nurl http://www.mysite.com/mylist.csv\nurl_demos http://www.demos.com/otherlist.csv\nurl_emulators http://www.example.com/emulators.csv\n```\n\nUsing this setup, `pkgi.txt` will be updated with `mylist.csv`, `pgi_demos.txt` with `otherlist.csv` , and `pkgi_emulators.txt` with `emulators.csv`.\n\nNext time you open the app, you'll have an additional menu option ![Triangle](https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png) called **Refresh**. When you select it, the local databases will be syncronized with the defined URLs.\n\n# DB formats\n\nThe application needs a text database that contains the items available for installation, and it must follow the [default format definition](#default-db-format), or have a [custom format definition](#user-defined-db-format) file.\n\n## Default DB format\n\nThe default database file format uses a very simple CSV format where each line means one item in the list:\n\n```\ncontentid,type,name,description,rap,url,size,checksum\n```\n\nwhere:\n\n| Column | Description |\n|--------|-------------|\n| `contentid` | is the full content id of the item, for example: `UP0000-NPXX99999_00-0000112223333000`.\n| `type` | is a number for the item's content type. See the [table below](#content-types) for details. (set it to 0 if unknown)\n| `name` | is a string for the item's name.\n| `description` | is a string for the item's description.\n| `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.\n| `url` | is the HTTP/HTTPS/FTP/FTPS URL where to download the `.pkg` file.\n| `size` | is the size in bytes of the `.pkg` file, or 0 if unknown.\n| `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.\n\n**Note:** `name` and `description` cannot contain newlines or commas.\n\n### Sample DB file\n\nAn example `pkgi.txt` file following the `contentid,type,name,description,rap,url,size,checksum` format:\n\n```\nEP0001-FILEMANAG_00-0000000000000000,8,FileManager v1.40,File Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/FileManager_v1.40.pkg,12171120,FAF680636B18AD0B70AA61F48A78C5E42D6972F795F1B82CC434BE3DDE60F00F\nUP0001-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\nEP0001-MANAGUNZ0_00-0000000000000000,8,ManaGunZ v1.40,Backup Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/ManaGunZ_v1.40.pkg,17563040,CE0E4036903E881C08259FD69E777F6BC9CD24E823B471A7B15C88FDDBB2E330\nUP0001-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\nEP0001-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,\n```\n### Content types\n\n| Type value |\tContent type | DB File |\n|------------|--------------|---------|\n| 0\t| Unknown            |\n| 1\t| Game               | `pkgi_games.txt`\n| 2\t| DLC                | `pkgi_dlcs.txt`\n| 3\t| Theme              | `pkgi_themes.txt`\n| 4\t| Avatar             | `pkgi_avatars.txt`\n| 5\t| Demo               | `pkgi_demos.txt`\n| 6\t| Update             | `pkgi_updates.txt`\n| 7\t| Emulator           | `pkgi_emulators.txt`\n| 8\t| Application        | `pkgi_apps.txt`\n| 9\t| Tool               | `pkgi_tools.txt`\n\n## User-defined DB format\n\nTo use a custom database format, you need to create a `dbformat.txt` file, and save it on `/dev_hdd0/game/NP00PKGI3/USRDIR`.\n\nThe `dbformat.txt` definition file is a 2-line text file:\n* Line 1: the custom delimiter character (e.g.: `;`, `,`, `|`, etc.)\n* Line 2: the column names for every column in the custom database, delimited by the proper delimiter defined in line 1\n\n**Note:** For the columns to be properly recognized, use the column tag names defined in the table above.\n\nAll the columns are optional. Your database might have more (or less) columns, so any unrecognized column will be skipped.\n\n### Example\n\nExample `dbformat.txt`, for a database using semi-colon (`;`) as separator:\n\n```\n;\nname;TITLE ID;REGION;description;AUTHOR;TYPE;url;rap;size\n```\n\n**Result:** only the `name,description,url,rap,size` fields will be used.\n\n### Example\n\nExample `dbformat.txt`, for a database using character pipe (`|`) as separator:\n\n```\n|\nREGION|TITLE|name|url|rap|contentid|DATE|PKG FILENAME|size|checksum\n```\n\n**Result:** only the `name,url,rap,contentid,size,checksum` fields will be used.\n\n# Usage\n\nUsing the application is simple and straight-forward: \n\n - Move \u003ckbd\u003eUP\u003c/kbd\u003e/\u003ckbd\u003eDOWN\u003c/kbd\u003e to select the item you want to download, and press ![X button](https://github.com/bucanero/pkgi-ps3/raw/master/data/CROSS.png).\n - To see the item's details, press ![Square](https://github.com/bucanero/pkgi-ps3/raw/master/data/SQUARE.png).\n - To sort/filter/search press ![Triangle](https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png).\nIt will open the context menu. Press ![Triangle](https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png) again to confirm the new settings, or press ![O button](https://github.com/bucanero/pkgi-ps3/raw/master/data/CIRCLE.png) to cancel any changes.\n- Press left or right trigger buttons \u003ckbd\u003eL1\u003c/kbd\u003e/\u003ckbd\u003eR1\u003c/kbd\u003e to move pages up or down.\n- Press \u003ckbd\u003eL2\u003c/kbd\u003e/\u003ckbd\u003eR2\u003c/kbd\u003e trigger buttons to switch between categories.\n\n### Notes\n\n- **RAP data:** if the item has `.rap` data, the file will be saved in the `/dev_hdd0/exdata/` folder.\n\n\n# Q\u0026A\n\n1. Where to get a `rap` string? \n   \n   You can use a tool like RIF2RAP to generate a `.rap` from your existing `.rif` files. Then you can use a tool like `hexdump` to get the hex byte string.\n\n2. Where to get `.pkg` links?\n   \n   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.\n\n3. Where to remove interrupted/failed downloads to free up disk space?\n   \n   Check the `/dev_hdd0/tmp/pkgi` folder - each download will be in a separate `.pkg` file by its title id. Simply delete the file and start again.\n\n4. Download speed is too slow!\n   \n   Optimization is still pending. If `direct` download is slow, you can use `background download` mode to download files using the internal PS3 Download Manager.\n\n# Credits\n\n* [Bucanero](http://www.bucanero.com.ar/): Project developer\n* [mmozeiko](https://github.com/mmozeiko/): [PS Vita pkgi](https://github.com/mmozeiko/pkgi)\n\n# Building\n\nYou need to have installed:\n\n- [PS3 toolchain](https://github.com/bucanero/ps3toolchain)\n- [PSL1GHT](https://github.com/ps3dev/PSL1GHT) SDK\n- [Tiny3D](https://github.com/wargio/Tiny3D) library\n- [YA2D](https://github.com/bucanero/ya2d_ps3) library (an extended version from my repo)\n- [PolarSSL](https://github.com/bucanero/ps3libraries/blob/master/scripts/015-polarssl-1.3.9.sh) library (v1.3.9)\n- [libcurl](https://github.com/bucanero/ps3libraries/blob/master/scripts/016-libcurl-7.64.1.sh) library (v7.64.1)\n- [MikMod](https://github.com/ps3dev/ps3libraries/blob/master/scripts/011-libmikmod-3.1.11.sh) library\n- [Mini18n](https://github.com/bucanero/mini18n) library\n- [dbglogger](https://github.com/bucanero/dbglogger) library (only required for debug logging)\n\nRun `make` to create a release build. After that, run `make pkg` to create a `.pkg` install file. \n\nYou can also set the environment variable `PS3LOAD=tcp:x.x.x.x` to the PS3's IP address;\nthat will allow you to use `make run` and send `pkgi-ps3.self` directly to the [PS3LoadX listener](https://github.com/bucanero/ps3loadx).\n\n## Debugging\n\nTo enable debug logging, build PKGi PS3 with `make DEBUGLOG=1`. The application will send debug messages to\nUDP multicast address `239.255.0.100:30000`. To receive them you can use [socat][] on your PC:\n\n    $ socat udp4-recv:30000,ip-add-membership=239.255.0.100:0.0.0.0 -\n\n# License\n\n`pkgi-ps3` is released under the [MIT License](LICENSE).\n\n[PSDLE]: https://repod.github.io/psdle/\n[socat]: http://www.dest-unreach.org/socat/\n[pkgi_downloads]: https://github.com/bucanero/pkgi-ps3/releases\n[pkgi_latest]: https://github.com/bucanero/pkgi-ps3/releases/latest\n[pkgi_license]: https://github.com/bucanero/pkgi-ps3/blob/master/LICENSE\n[img_downloads]: https://img.shields.io/github/downloads/bucanero/pkgi-ps3/total.svg?maxAge=3600\n[img_latest]: https://img.shields.io/github/release/bucanero/pkgi-ps3.svg?maxAge=3600\n[img_license]: https://img.shields.io/github/license/bucanero/pkgi-ps3.svg?maxAge=2592000\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbucanero%2Fpkgi-ps3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbucanero%2Fpkgi-ps3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbucanero%2Fpkgi-ps3/lists"}