Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Ftpsrv Switch: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 18: Line 18:
|image=Switch-logo.png
|image=Switch-logo.png
|image_alt=ftpsrv
|image_alt=ftpsrv
}}
}}{{lowercase title}}
Meet ftpsrv—a super quick, single-threaded FTP server written in C. It's built to be small and efficient, using no dynamic memory at all. You can adjust its memory size when you compile it, making it super flexible. It uses poll() (or select() if poll() isn't around) to stay fast and responsive with just one thread, keeping things simple and low on overhead.
ftpsrv is a small, fast, single-threaded FTP server written in C.
 
It uses no dynamic memory allocation, has very low memory footprint (the size of everything can be configured at build time) and uses poll() (or select() if poll isn't available) to allow for a responsive single threaded server with very low overhead.


There exists 2 builds for the switch, application and sys-module. The application is to be launched via hbmenu, the sys-module runs in the background.
There exists 2 builds for the switch, application and sys-module. The application is to be launched via hbmenu, the sys-module runs in the background.
Line 27: Line 29:
Do keep in mind that the sys-module version will perform much slower than the application version due to reducing the amount of memory ftpsrv uses.
Do keep in mind that the sys-module version will perform much slower than the application version due to reducing the amount of memory ftpsrv uses.


==Usage==
== User guide ==
=== config ===
=== config ===
The config is located in /config/ftpsrv/config.ini. All releases come with <code>/config/ftpsrv/config.ini.template</code>, as to not overwrite existing configs on each update.
The config is located in /config/ftpsrv/config.ini. All releases come with <code>/config/ftpsrv/config.ini.template</code>, as to not overwrite existing configs on each update.
Line 46: Line 48:


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/release-ftpsrv-a-small-ftp-server.663645/
* GitHub - https://github.com/ITotalJustice/ftpsrv
* Github - https://github.com/ITotalJustice/ftpsrv
* GBAtemp - https://gbatemp.net/threads/release-ftpsrv-a-small-ftp-server.663645/

Revision as of 04:28, 8 December 2024

ftpsrv
Switch-logo.png
General
AuthorITotalJustice
TypeFile Browsers
Version0.2.0
LicenseMixed
Last Updated2024/11/29
Links
Download
Website
Source

ftpsrv is a small, fast, single-threaded FTP server written in C.

It uses no dynamic memory allocation, has very low memory footprint (the size of everything can be configured at build time) and uses poll() (or select() if poll isn't available) to allow for a responsive single threaded server with very low overhead.

There exists 2 builds for the switch, application and sys-module. The application is to be launched via hbmenu, the sys-module runs in the background.

Performance wise, it out performs ftpd (application), sys-ftpd-light (sys-module) and a few other homebrew apps that feature ftp servers, all while having a smaller memory footprint.

Do keep in mind that the sys-module version will perform much slower than the application version due to reducing the amount of memory ftpsrv uses.

User guide

config

The config is located in /config/ftpsrv/config.ini. All releases come with /config/ftpsrv/config.ini.template, as to not overwrite existing configs on each update.

The Nintendo Switch port requires a user and password to be set, or, set anon=1. This is due to security concerns when paired with ldn-mitm as a user could modify your sd card if no user/pass is set.

list of allowed un-authenticated commands

  • USER
  • PASS
  • ACCT
  • REIN
  • QUIT
  • ABOR
  • SYST
  • HELP
  • NOOP
  • FEAT

External links

Advertising: