|
1 | | -<div align="center"> |
2 | | - <img width="1919" height="1003" alt="PS5 Vault Screenshot" src="https://github.com/user-attachments/assets/44ea0d82-54c3-4451-a9e7-5a301184426a" /> |
3 | | -</div> |
4 | | - |
5 | | -# PS5 Vault |
6 | | - |
7 | | -Organize, transfer, and manage your PS5 game backups — on your PC or straight over FTP to your PS5. |
8 | | - |
9 | | -[Download latest release](https://github.com/NookieAI/PS5-Vault/releases) · [Discord](https://discord.gg/nj45kDSBEd) · [Support on Ko-fi](https://ko-fi.com/nookie_65120) |
10 | | - |
11 | | ---- |
12 | | - |
13 | | -## What it does |
14 | | - |
15 | | -PS5 Vault scans folders for PS5 game backups (PPSA folders), shows you your full library with cover art, sizes, and metadata, then lets you copy or move games wherever you need them — to a USB drive, a different folder layout, or directly to your PS5 over FTP. |
16 | | - |
17 | | ---- |
18 | | - |
19 | | -## Getting started |
20 | | - |
21 | | -1. Download the portable `.exe` from [Releases](https://github.com/NookieAI/PS5-Vault/releases) and run it — no installation needed |
22 | | -2. Point the **Source** field at the folder containing your games (or enter your PS5's FTP address) |
23 | | -3. Click **SCAN** |
24 | | -4. Tick the games you want, choose a destination and layout, click **GO** |
25 | | - |
26 | | -Press **F1** at any time to open the built-in help. |
27 | | - |
28 | | ---- |
29 | | - |
30 | | -## Features |
31 | | - |
32 | | -### Scanning |
33 | | -- Scan any local folder, USB drive, or network path |
34 | | -- Connect directly to your PS5 over FTP — no need to copy files to your PC first |
35 | | -- **Scan All Drives** finds games across every connected drive in one click |
36 | | -- Results appear in real time as games are found; you don't wait for the whole scan to finish |
37 | | -- Game sizes, cover art, version, region, and firmware requirement are pulled automatically |
38 | | -- Filter your results by name or by size (under 1 GB, 1–10 GB, 10–30 GB, over 30 GB) |
39 | | - |
40 | | -### Transfers |
41 | | -- **Copy** (with hash verification), **Copy (fast)** (no hash verification — faster for same-drive transfers), **Move**, or **Create folder only** (dry run) |
42 | | -- **File-level Resume**: skips files already fully present at the destination, so interrupted transfers pick up where they left off |
43 | | -- **Free-Space Pre-check**: destination free space is verified (512 MB buffer) before any local copy starts |
44 | | -- Choose from **eight** destination layouts: |
45 | | - |
46 | | - | Layout | Example result | |
47 | | - |--------|---------------| |
48 | | - | etaHEN default | `dest/etaHEN/games/GameName/` | |
49 | | - | itemZFlow default | `dest/games/GameName/` | |
50 | | - | Dump Runner default | `dest/homebrew/GameName/` | |
51 | | - | Game / PPSA | `dest/GameName/PPSA12345/` | |
52 | | - | Game only | `dest/GameName/` | |
53 | | - | PPSA only | `dest/PPSA12345/` | |
54 | | - | Porkfolio | `dest/GameName (ver) PPSA12345/` | |
55 | | - | Custom | `dest/YourName/` | |
56 | | - |
57 | | -- Transfer directly from PC to PS5 over FTP, or from PS5 back to PC |
58 | | -- Live progress bar, speed, ETA, and per-file status during transfers |
59 | | -- **Conflict resolution** — choose to skip, rename, or overwrite when a game already exists at the destination |
60 | | - |
61 | | -### Game management |
62 | | -- Delete or rename games (local or on your PS5 over FTP) |
63 | | -- Batch rename using a pattern like `{name} - Backup` |
64 | | -- Click any game to see full metadata: content ID, version, SDK version, region, required firmware, folder path |
65 | | -- Click a folder path to open it in Windows Explorer |
66 | | -- **Soft Delete / Trash Bin**: deleted games move to `_ps5vault_trash` inside the source directory and are auto-purged after 30 days |
67 | | - |
68 | | -### History and export |
69 | | -- **Transfer History** (Menu) — persistent log of every copy and move with dates, sizes, and results |
70 | | -- **Export History CSV** (Menu) — save your history as a spreadsheet |
71 | | -- **Export / Import JSON** — back up or restore your full scan results and settings |
72 | | - |
73 | | -### FTP extras |
74 | | -- **Test Connection** button in the FTP config — confirms your PS5 is reachable and shows latency before you start |
75 | | -- Speed limit option — cap upload speed so your PS5 stays usable while a transfer runs |
76 | | -- Passive mode toggle for networks with strict firewalls |
77 | | -- Recent FTP connections saved and autocompleted |
78 | | -- **Show-All Dropdown**: click any path or host field to instantly see all recent paths and FTP configs — no typing required |
79 | | - |
80 | | -### Library features |
81 | | -- **Card / Grid View**: toggle between the table and a cover-art grid with ⊞ Grid; persists across sessions |
82 | | -- **Library Diff / Compare**: compare two game libraries side-by-side; one-click "Transfer Missing →" pre-selects games absent from the second library |
83 | | -- **Verify Library**: integrity check — folder accessible, valid `param.json`, cover icon present; results sorted errors-first with colour-coded badges |
84 | | -- **Checksum Database**: persistent SHA-256 store (`userData/checksum-db.json`); files already matching the destination are skipped; records expire after 90 days |
85 | | -- **Selective Sub-folder Transfer**: expand a game row before transferring to choose exactly which sub-folders are copied |
86 | | -- **Persistent Column Widths**: drag column headers to resize; widths saved to localStorage |
87 | | -- **Per-game Transfer History**: audit log per title ID for every copy, move, or upload |
88 | | -- **FTP Connection Profiles**: save and switch between named FTP configurations |
89 | | -- **Speed Sparkline**: live polyline graph of the last ~60 speed samples in the transfer progress panel |
90 | | - |
91 | | -### Developer API |
92 | | -PS5 Vault runs a local REST API so other apps on your PC can read your library or trigger scans and transfers programmatically. |
93 | | - |
94 | | -Find your API key and the full endpoint reference under **Menu → ⚙ Developer API**. |
95 | | - |
96 | | -``` |
97 | | -Base URL: http://127.0.0.1:3731/api/v1 |
98 | | -Auth: X-API-Key: <your key> |
99 | | -
|
100 | | -GET /library — your full game list |
101 | | -GET /library/:ppsa — single game by ID |
102 | | -GET /library/:ppsa/icon — cover art (PNG) |
103 | | -POST /scan — trigger a scan |
104 | | -GET /scan/status — scan progress |
105 | | -POST /transfer — trigger a transfer |
106 | | -GET /transfer/status — transfer progress |
107 | | -GET /events — live SSE stream |
108 | | -GET /status — app status |
109 | | -``` |
110 | | - |
111 | | -The server only listens on `127.0.0.1` — it is not reachable from other devices on your network. |
112 | | - |
113 | | -### Other |
114 | | -- Dark and light theme (click **Made by Nookie** to toggle) |
115 | | -- Hover over any cover art for a large preview |
116 | | -- Keyboard shortcuts: **Ctrl+A** select all · **Ctrl+R** rescan · **F1** help · **Esc** close modal |
117 | | -- Auto-update check on launch with one-click install |
118 | | - |
119 | | ---- |
120 | | - |
121 | | -## Building from source |
122 | | - |
123 | | -Requires Node.js 18+ and npm. |
124 | | - |
125 | | -```bash |
126 | | -git clone https://github.com/NookieAI/PS5-Vault.git |
127 | | -cd PS5-Vault |
128 | | -npm install |
129 | | - |
130 | | -# Run in development |
131 | | -npm start |
132 | | - |
133 | | -# Build portable .exe |
134 | | -npm run build |
135 | | - |
136 | | -# Build installer |
137 | | -npm run build:installer |
138 | | - |
139 | | -# Build all platforms |
140 | | -npm run build:all |
141 | | -``` |
142 | | - |
143 | | ---- |
144 | | - |
145 | | -## Support |
146 | | - |
147 | | -- **Discord** — [discord.gg/nj45kDSBEd](https://discord.gg/nj45kDSBEd) — fastest way to get help |
148 | | -- **Issues** — [GitHub Issues](https://github.com/NookieAI/PS5-Vault/issues) |
149 | | -- **Ko-fi** — [ko-fi.com/nookie_65120](https://ko-fi.com/nookie_65120) |
150 | | - |
151 | | ---- |
152 | | - |
153 | | -Made with ❤️ by Nookie · v2.4.0 |
| 1 | +<div align="center"> |
| 2 | + <img width="1919" height="1003" alt="PS5 Vault Screenshot" src="https://github.com/user-attachments/assets/44ea0d82-54c3-4451-a9e7-5a301184426a" /> |
| 3 | +</div> |
| 4 | + |
| 5 | +# PS5 Vault |
| 6 | + |
| 7 | +Organize, transfer, and manage your PS5 game backups — on your PC or straight over FTP to your PS5. |
| 8 | + |
| 9 | +[Download latest release](https://github.com/NookieAI/PS5-Vault/releases) · [Discord](https://discord.gg/nj45kDSBEd) · [Support on Ko-fi](https://ko-fi.com/nookie_65120) |
| 10 | + |
| 11 | +[](https://github.com/NookieAI/PS5-Vault/releases/latest) |
| 12 | +[](https://github.com/NookieAI/PS5-Vault/releases) |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +## What it does |
| 17 | + |
| 18 | +PS5 Vault scans folders for PS5 game backups (PPSA folders), shows you your full library with cover art, sizes, and metadata, then lets you copy or move games wherever you need them — to a USB drive, a different folder layout, or directly to your PS5 over FTP. |
| 19 | + |
| 20 | +--- |
| 21 | + |
| 22 | +## Getting started |
| 23 | + |
| 24 | +1. Download the portable `.exe` from [Releases](https://github.com/NookieAI/PS5-Vault/releases) and run it — no installation needed |
| 25 | +2. Point the **Source** field at the folder containing your games (or enter your PS5's FTP address) |
| 26 | +3. Click **SCAN** |
| 27 | +4. Tick the games you want, choose a destination and layout, click **GO** |
| 28 | + |
| 29 | +Press **F1** at any time to open the built-in help. |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +## Features |
| 34 | + |
| 35 | +### Scanning |
| 36 | +- Scan any local folder, USB drive, or network path |
| 37 | +- Connect directly to your PS5 over FTP — no need to copy files to your PC first |
| 38 | +- **Scan All Drives** finds games across every connected drive in one click |
| 39 | +- Results appear in real time as games are found; you don't wait for the whole scan to finish |
| 40 | +- Game sizes, cover art, version, region, and firmware requirement are pulled automatically |
| 41 | +- Filter your results by name or by size (under 1 GB, 1–10 GB, 10–30 GB, over 30 GB) |
| 42 | + |
| 43 | +### Transfers |
| 44 | +- **Copy** (with hash verification), **Copy (fast)** (no hash verification — faster for same-drive transfers), **Move**, or **Create folder only** (dry run) |
| 45 | +- **File-level Resume**: skips files already fully present at the destination, so interrupted transfers pick up where they left off |
| 46 | +- **Free-Space Pre-check**: destination free space is verified (512 MB buffer) before any local copy starts |
| 47 | +- Choose from **eight** destination layouts: |
| 48 | + |
| 49 | + | Layout | Example result | |
| 50 | + |--------|---------------| |
| 51 | + | etaHEN default | `dest/etaHEN/games/GameName/` | |
| 52 | + | itemZFlow default | `dest/games/GameName/` | |
| 53 | + | Dump Runner default | `dest/homebrew/GameName/` | |
| 54 | + | Game / PPSA | `dest/GameName/PPSA12345/` | |
| 55 | + | Game only | `dest/GameName/` | |
| 56 | + | PPSA only | `dest/PPSA12345/` | |
| 57 | + | Porkfolio | `dest/GameName (ver) PPSA12345/` | |
| 58 | + | Custom | `dest/YourName/` | |
| 59 | + |
| 60 | +- Transfer directly from PC to PS5 over FTP, or from PS5 back to PC |
| 61 | +- Live progress bar, speed, ETA, and per-file status during transfers |
| 62 | +- **Conflict resolution** — choose to skip, rename, or overwrite when a game already exists at the destination |
| 63 | + |
| 64 | +### Game management |
| 65 | +- Delete or rename games (local or on your PS5 over FTP) |
| 66 | +- Batch rename using a pattern like `{name} - Backup` |
| 67 | +- Click any game to see full metadata: content ID, version, SDK version, region, required firmware, folder path |
| 68 | +- Click a folder path to open it in Windows Explorer |
| 69 | +- **Soft Delete / Trash Bin**: deleted games move to `_ps5vault_trash` inside the source directory and are auto-purged after 30 days |
| 70 | + |
| 71 | +### History and export |
| 72 | +- **Transfer History** (Menu) — persistent log of every copy and move with dates, sizes, and results |
| 73 | +- **Export History CSV** (Menu) — save your history as a spreadsheet |
| 74 | +- **Export / Import JSON** — back up or restore your full scan results and settings |
| 75 | + |
| 76 | +### FTP extras |
| 77 | +- **Test Connection** button in the FTP config — confirms your PS5 is reachable and shows latency before you start |
| 78 | +- Speed limit option — cap upload speed so your PS5 stays usable while a transfer runs |
| 79 | +- Passive mode toggle for networks with strict firewalls |
| 80 | +- Recent FTP connections saved and autocompleted |
| 81 | +- **Show-All Dropdown**: click any path or host field to instantly see all recent paths and FTP configs — no typing required |
| 82 | + |
| 83 | +### Library features |
| 84 | +- **Card / Grid View**: toggle between the table and a cover-art grid with ⊞ Grid; persists across sessions |
| 85 | +- **Library Diff / Compare**: compare two game libraries side-by-side; one-click "Transfer Missing →" pre-selects games absent from the second library |
| 86 | +- **Verify Library**: integrity check — folder accessible, valid `param.json`, cover icon present; results sorted errors-first with colour-coded badges |
| 87 | +- **Checksum Database**: persistent SHA-256 store (`userData/checksum-db.json`); files already matching the destination are skipped; records expire after 90 days |
| 88 | +- **Selective Sub-folder Transfer**: expand a game row before transferring to choose exactly which sub-folders are copied |
| 89 | +- **Persistent Column Widths**: drag column headers to resize; widths saved to localStorage |
| 90 | +- **Per-game Transfer History**: audit log per title ID for every copy, move, or upload |
| 91 | +- **FTP Connection Profiles**: save and switch between named FTP configurations |
| 92 | +- **Speed Sparkline**: live polyline graph of the last ~60 speed samples in the transfer progress panel |
| 93 | + |
| 94 | +### Developer API |
| 95 | +PS5 Vault runs a local REST API so other apps on your PC can read your library or trigger scans and transfers programmatically. |
| 96 | + |
| 97 | +Find your API key and the full endpoint reference under **Menu → ⚙ Developer API**. |
| 98 | + |
| 99 | +``` |
| 100 | +Base URL: http://127.0.0.1:3731/api/v1 |
| 101 | +Auth: X-API-Key: <your key> |
| 102 | +
|
| 103 | +GET /library — your full game list |
| 104 | +GET /library/:ppsa — single game by ID |
| 105 | +GET /library/:ppsa/icon — cover art (PNG) |
| 106 | +POST /scan — trigger a scan |
| 107 | +GET /scan/status — scan progress |
| 108 | +POST /transfer — trigger a transfer |
| 109 | +GET /transfer/status — transfer progress |
| 110 | +GET /events — live SSE stream |
| 111 | +GET /status — app status |
| 112 | +``` |
| 113 | + |
| 114 | +The server only listens on `127.0.0.1` — it is not reachable from other devices on your network. |
| 115 | + |
| 116 | +### Other |
| 117 | +- Dark and light theme (click **Made by Nookie** to toggle) |
| 118 | +- Hover over any cover art for a large preview |
| 119 | +- Keyboard shortcuts: **Ctrl+A** select all · **Ctrl+R** rescan · **F1** help · **Esc** close modal |
| 120 | +- Auto-update check on launch with one-click install |
| 121 | + |
| 122 | +--- |
| 123 | + |
| 124 | +## Building from source |
| 125 | + |
| 126 | +Requires Node.js 18+ and npm. |
| 127 | + |
| 128 | +```bash |
| 129 | +git clone https://github.com/NookieAI/PS5-Vault.git |
| 130 | +cd PS5-Vault |
| 131 | +npm install |
| 132 | + |
| 133 | +# Run in development |
| 134 | +npm start |
| 135 | + |
| 136 | +# Build portable .exe |
| 137 | +npm run build |
| 138 | + |
| 139 | +# Build installer |
| 140 | +npm run build:installer |
| 141 | + |
| 142 | +# Build all platforms |
| 143 | +npm run build:all |
| 144 | +``` |
| 145 | + |
| 146 | +--- |
| 147 | + |
| 148 | +## Support |
| 149 | + |
| 150 | +- **Discord** — [discord.gg/nj45kDSBEd](https://discord.gg/nj45kDSBEd) — fastest way to get help |
| 151 | +- **Issues** — [GitHub Issues](https://github.com/NookieAI/PS5-Vault/issues) |
| 152 | +- **Ko-fi** — [ko-fi.com/nookie_65120](https://ko-fi.com/nookie_65120) |
| 153 | + |
| 154 | +--- |
| 155 | + |
| 156 | +Made with ❤️ by Nookie · v2.4.0 |
0 commit comments