Skip to content

Releases: RuiNelson/ftpsrv-streamextract

ftpsrv-streamextract 1.0.1

Choose a tag to compare

@github-actions github-actions released this 21 Oct 12:27

A maintenance update for this fork of ftpsrv, with a fix for an FTPMC upload recovery edge case and clearer filenames for the console downloads.

What's new

Safer recovery after a server crash (FTPMC)

Completed FTPMC uploads already produced the correct file. This update fixes a less common case: a resumed upload where the target file still has old data beyond the restart point, and the server crashes or is forcibly stopped before it can clean up.

Previously, that old data could remain in the partial file and make its size misleading when trying to resume again. The server now removes it before writing new data, so the partial file remains a correct beginning of the uploaded file even if the process stops unexpectedly.

  • Applies in both normal stream mode (MODE S) and block mode (MODE B).
  • For binary uploads, the partial file's size remains usable as the restart point after an abrupt server stop.

Other

  • The downloadable payloads are now named ftpsrv-se-ps4.elf and ftpsrv-se-ps5.elf.

Good to know

  • FTPMC and block mode are optional: they are only used when your FTP client asks for them. Clients that don't support them simply use regular FTP.
  • Regular FTP clients keep working as before, on port 2121.
  • Install it the same way as the original ftpsrv: send the .elf for your console to the payload loader.

Downloads

  • ftpsrv-se-ps5.elf — PlayStation 5
  • ftpsrv-se-ps4.elf — PlayStation 4

ftpsrv-streamextract 1.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 16:12

First release of this fork of ftpsrv (based on ftpsrv 1.16-ng). It works as a drop-in replacement: any regular FTP client keeps working exactly as before, on port 2121, with all the upstream features.

What's new

Multiple connections for one transfer (FTPMC)

A single file transfer can now be split across up to 16 parallel connections, so one big file can use more of your network instead of being limited by a single connection. This follows the FTPMC specification, which you can read about (and find compatible clients for) on its page.

  • Works for downloads, uploads, appends and directory listings.
  • Memory is only used while a transfer is running, and is freed immediately if the client disconnects or cancels.
  • A stalled transfer is aborted after 60 seconds instead of hanging.

Block mode (MODE B)

The server now supports FTP block mode, which keeps the data connection open between transfers. This makes sending or receiving many small files noticeably less wasteful, because each file no longer has to open a new connection.

  • Works for downloads, uploads, appends, listings and the PS5 /proc directory.
  • Incomplete or damaged uploads are rejected instead of being silently accepted.
  • Uploads in block mode run at the same speed as the normal mode.

Other

  • Native macOS build, for people who want to run or test the server on a Mac (build it from source with make -f Makefile.macos).

Good to know

  • FTPMC and block mode are optional: they are only used when your FTP client asks for them. Clients that don't support them simply use regular FTP.
  • Install it the same way as the original ftpsrv: send the .elf for your console to the payload loader.

Downloads

  • ftpsrv-ps5.elf — PlayStation 5
  • ftpsrv-ps4.elf — PlayStation 4