OpenPS3FTP is an open source FTP server for the PlayStation 3 by developer jjolano It supports the basic FTP commands that the typical user would need to transfer files in and out of their console.
It also provides read/write access to the console's flash partition, by
mounting /dev_blind. Currently, this server is optimized for stability over performance. A performance benefit is possible, but it seems libsysfs isn't cooperating. (Added support in v4.0b for better performance).
This is a standalone utility but this code is used in various projects in the PS3 scene such as webMAN / Mod, Irisman, multiMAN, Rebug Toolbox and others..
[Version 4.1 - February 2, 2017]
- This is a somewhat major release, with changes to the codebase to make it possible to compile on both PSL1GHT and the official CELL SDK. As proof, I have included CellPS3FTP in this release - which is basically an actual CELL SDK program with the OpenPS3FTP codebase for the actual server.
- Version 4.0 brings a new FTP server engine, and this version now builds up on top of that.
- See the updated changelog and readme documents for more info.
[Version 4.0b - January 22, 2017]
-Implemented libsysfs and experimental async IO writing support
- Fixed QUIT not implemented
[Version 4.0a - January 22, 2017]
- Improved memory handling
- Fixed a potential memory leak when connecting/disconnecting
[Version 4.0 - January 22, 2017]
- Full and proper rewrite with C++.
- Attempts to mount dev_blind on launch, and unmount it upon exiting the app.
[Version 3.0 - September 6, 2013]
- Total rewrite of the whole server structure and interface
- Server packets now processed round robin, rather than FIFO
- Optimized network code to avoid retransmissions
- Interface now uses PS3 internal fonts and should be more dynamic
- dev_blind functionality integrated, can be activated by pressing SELECT
- Server now single-threaded, as a result better IO stability
- Performance should now be at full potential of the hardware
- Source code available on Beerware license, see README.txt for more info
- Removed login detail requirement - you can login with any combination
- Added Remote Play flag for PS Vita (untested)
- Added in-game background music support (untested)
- Now includes DEX (unsigned) build
- Now includes REX (new-keyrev) build
[Version 2.3 - May 29, 2011]
- Fixed some minor issues in the client code
- Socket handling improvements
- Fixed an epic fail in the client code
- Perfected the UNIX-style LIST output
- Improved passive mode function
- Added an experimental queue system to prevent some io crashes
- Stability improvements
[Version 2.2 - May 10, 2011]
- Added more compatibility for older FTP clients
- Rewrote code for PSL1GHT v2
- Changed UI to a simple message box (was lazy)
- More RFC compliance
- Improved overall connection handling
- Fixed a bunch of minor file transfer problems
[Version 2.1.1 - April 3, 2011]
- More optimizations (improved response times)
- Reverted LIST format to support old clients
- Squished some bugs
[Version 2.1 - April 2, 2011]
- Code optimizations
- Some caching improvements (better response time)
- File transfer code rewritten
- More RFC compliance
- Added more FTP commands
- Changed LIST output format to EPLF
[Version 2.0 - March 23, 2011]
- Changed ICON0.PNG
- Moved to a different XMB category (now under Network)
- Fixed another possible memory leak
- Added "dev_dragon" to mount detection and warning list
- Changed LIST command output format (again)
- Added new algorithms and methods
- Should support Remote Play (untested)
- Added a better way to get the IP (no internet required anymore - thanks andoma)
- Added /app_home and /host_root to listing exceptions as they cause problems
- Now uses Hermes' sysfs sprx link instead of lv2 syscalls
- Tweaks made to improve internal performance, stability, and reliability
- Added a "screen saver" (simply blanks screen after 60 sec of no controller input)
- Added an exit application button combination shortcut (SELECT + START)
- Added an internal "retry system" designed to reduce failed transfers for small files
- New git for v2.0 and later: http://git-hacks.com/openps3ftp
[Version 1.5 - March 4, 2011]
- Improved performance and stability
- In-game XMB performance increased
- Better syscall usage
- Fixed a possible memory leak
- Fixed a couple of bugs
- Added support for commands: MDTM, ABOR
- nopass: now does normal login procedure (to ensure compatibility) but ignores password value
- Added new build.sh file for developers (creates nopass and normal versions)
[Version 1.4 - February 26, 2011]
- Added more return codes
- Another new command parser (even better)
- Moved IP retrieval function to its own thread (no more hanging; method still requires internet)
- Now detects all known dev_flash writable mount points
- Rewrote/reengineered alot of functions
- Added a little more user-friendly information on the screen
- Moved PASSWD and EXITAPP commands under SITE-specific commands (see SITE HELP)
- Changed LIST format to somewhat match "ls -a -l"
- Greatly shortened code
- Improved performance and stability
- Fixed some bugs
- More FTP client compatibility
[Version 1.3 - February 15, 2011]
- New command parser
- New readme format
- Prints a warning message if dev_blind is mounted
- Fixed a bunch of bugs
- Much more stable compared to previous versions
- Much better performance compared to previous versions
- On-screen text is coloured green instead of white
- File transfers are more reliable
- Exit to XMB function is more reliable
- Removed "Press X to quit", use XMB Quit Game
- Corrected and added some FTP return codes
- Local IP address of the PS3 now displays on-screen
- Added password change command (PASSWD <newpassword>)
- Added force exit command (EXITAPP)
- Greatly optimized code
- Removed pointless/useless code
- Simplified most functions
- CHMOD function now works properly
- File permissions now show correctly in directory listings
- Now licensed under the GPL
- Support for MLSD, MLST, and NLST commands
[Version 1.2 - January 30, 2011]
- Added XMB exit event handling (thanks facanferff)
- Cleaned up and shortened some code
- Fixed up the last modified date in directory listings
- Added an option to disable the login checking (at compile time)
- Fixed a small bug in passive mode which made the transfer fail
[Version 1.1 - January 29, 2011]
- More stability and better performance
- Cleaned up some code
- Fixed active ftp (PORT command)
- Removed connection limiter (kinda useless)
[Version 1.0 - January 29, 2011]
- Initial Release