BFpilot v0.4.0 Stable
Browser-based PS5 file manager at http://<PS5_IP>:5905/. Runs from the PS5 web browser or any device on the same LAN after injection.
Validated on digital PS5 FW 11.60.
Assets
| File | Purpose |
|---|---|
| bfpilot.elf | Main file manager + integrated archive extraction. Inject this first. |
| bfpilot-launcher-installer.elf | Home-screen tile installer — installs/refreshes the BFpilot launcher tile that opens http://127.0.0.1:5905/. Optional; inject separately for firmware compatibility.
|
Install
- Jailbreak + keep elfldr listening on port 9021
- Send bfpilot.elf to elfldr
- Open http://<PS5_IP>:5905/
- (Optional) Send bfpilot-launcher-installer.elf for the home-screen tile
python3 payload_sender.py <PS5_IP> 9021 bfpilot.elf
python3 payload_sender.py <PS5_IP> 9021 bfpilot-launcher-installer.elfyou can also just use https://github.com/itsPLK/ps5-payload-manager in ps5 if you already have it
or https://github.com/ItsBlurf/Blurfer to send it
All features
File management
- browse on the left; right Target panel is copy/move/extract destination
- Sidebar places: Root (
/), Data (/data), Homebrew (/data/homebrew), User (/user), Mounts (/mnt), connected USB/ext volumes, custom shortcuts - Other paths (e.g. under
/system_data) via Root or custom shortcuts - Upload files (drag-and-drop or picker) with progress, speed, and ETA
- Download files over HTTP (buffered stream)
- Copy and Move with background jobs, progress, speed, cancel
- Conflict prompts — Overwrite / Merge / Skip when destinations collide
- Rename, create folders, recursive delete (with cancel)
- Click-to-calculate folder sizes
Selection
- Checkbox multi-select (controller-friendly)
- Select All header checkbox
- Row click = single select; checkbox toggles without clearing others
Search and Index All
- Priority roots first:
/data,/user, USB/ext, then system mounts and/ - XDEV fencing — does not cross
st_dev(avoids sandbox/nullfs recursion risk) - Soft-fail per root; never full-crawls
/dev,/proc, sandbox/shadowmnt hubs, etc. - Optional cache:
/data/BFpilot/search.idx - Case-insensitive multi-term search with match highlighting
Archive extraction (integrated in main ELF)
- ZIP — Stored, Deflate, ZIP64, ZipCrypto, split volumes
- RAR — RAR4/RAR5, password, multipart
.partN.rar - 7z — LZMA/LZMA2, password, split
.7z.001 - Password prompt in UI; progress/speed/ETA; partial cleanup on error/cancel
- Extract destination defaults from Target panel
Image viewer
- Formats: PNG, JPG, JPEG, GIF, BMP, WebP, ICO, SVG
- Pan, wheel zoom (~0.1×–10×), 90° rotate, reset
- Double-click to open; Escape to close
Text editor
- Inline edit for common text types (txt, ini, cfg, log, json, xml, js, py, sh, md, conf, html, css, c/h/cpp, …)
- Full-screen overlay; saves back to PS5 FS (UI size limits apply)
Log viewer
- BFpilot server, archive, search crawl, boot logs under
/data/BFpilot/ - PS5 VSH log and Error History decoder under
/system_data/priv/... - Auto-refresh every 2s while open
Navigation and shortcuts
- Breadcrumb path navigation
- Persistent custom shortcuts (
/data/BFpilot/shortcuts.txt) — add / rename / remove - Storage free/total summary when volume stats are available
- USB/ext only listed when mounted
Networking and performance (v0.4.0)
- HTTP keep-alive (up to 64 requests/connection) for multi-file upload
- Upload: 2 MiB single-buffer STOR (recv→write); no multi-GB fallocate-while-stream; no bulk TCP_NODELAY
- Listen SO_RCVBUF 4 MiB, SO_SNDBUF 2 MiB, backlog 32
- Download stream buffer 1 MiB
- Virtual row recycling for huge directories
Exit and reload
- Toolbar Exit — clean shutdown via
/api/control/shutdown(token-protected) - Releases port 5905 for re-inject without reboot
Permissions
- Created files/dirs use mode
0777(umask(0)+ chmod/fchmod)
Diagnostics
/api/status— version/build/api/diag— bind/listen, errno, checkpoints, launcher flags- Crash log:
/data/BFpilot/crash.log
Notes
- Upload to
/datais often write-bound (PFS); prefer wired LAN for large transfers - See
docs/UPLOAD_PERFORMANCE.mdandCHANGELOG.mdin the repo