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.
Follow me on Twitter: @jjolano
Visit my homebrew website: jjolano.dashhacks.com
Support me by donating: bit.ly/gmzGcI
Thanks for using this program!
[Version 4.2a - March 5, 2017]
- Rebased standalone app server code to sprx plugin server code.
* OpenPS3FTP standalone and sprx now share the same server code.
- Removed build for CellPS3FTP.
- Fixed various crashes that existed in version 4.2
[Version 4.2 - February 13, 2017]
- Reverted removal of APPE command.
- Added some additional standard FTP commands.
- Rewrote server engine to be able to compile on Linux, CELL, and PSL1GHT.
* This makes for easier debugging, so this release should be expected to
perform much better (and hopefully bug-free) than earlier versions.
* With the new codebase, developers can now easily add their own commands
without having to worry about affecting the server engine. The command
system is now designed to be "plugin-based".
- Removed asynchronous IO. No real benefits were found after thorough testing.
- Vastly improved stability of multiple connections.
* 10 simultaneous connections in FileZilla is tested to be stable!
- Fixed a bad bug in 4.1 causing connections to drop when downloading files.
[Version 4.1 - February 4, 2017]
- Removed support for APPE command (in favour of REST + STOR)
- Fixed MKD response format.
- Implemented a new simple UI.
- Source can now be compiled as a PSL1GHT static library.
- Source can now be compiled as a CELLSDK static library.
- Implemented asynchronous IO writing. May improve stability in some cases.
* By default, this is disabled. You can toggle this using the command "AIO".
* Transfer speed is slightly reduced in this mode, hence disabled by default.
- Implemented internal IO caching. May improve performance in some cases.
- Improved single-file transfer performance compared to previous versions.
- Slightly improved transfer performance when using multiple connections.
- Implemented additional error checking to prevent potential crashes.
- Fixed a long-standing bug that caused the network stack to crash when
performing a large number of data operations in a short amount of time.
* This bug apparently exists on all current FTP homebrew servers.
* Can be tested by constantly refreshing a directory listing to flood the
server with LIST commands. Eventually, the server will crash due to
a large amount of leftover network sockets created.
[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
Implemented libsysfs for improved performance.
This is what version 3.0 should have been. However, version 3.0 was written dev_blindly since I wasn't able to test it at all. Now that I'm able to make homebrews again, here's a fresh release of OpenPS3FTP!
Hope it isn't too late.
Would be great if PSL1GHT's libsysfs wasn't so wonky, since that will actually provide an additional performance boost over the vastly increased stability this release brings.
- Blind-rewrite from scratch, now in C++
- Interface has been revamped, using internal fonts
- Interface should support all screen resolutions
- dev_blind functionality integrated, can be activated with SELECT
- Stability has been greatly improved
- Performance has been greatly improved
- Source code now available on the "Beerware" license
- Removed login detail requirement - login with any combination
[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: OpenPS3FTP - git.dashhacks.com
[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 )
- 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