Sys-ftpd-light Switch

From GameBrew
sys-ftpd-light
Sysftpdlightnx.png
General
Authorcathery
TypeSysmodules
Version1.0.4
LicenseGPL-3.0
Last Updated2020/07/21
Links
Download
Website
Source

This is a lightweight FTP server that runs in the background on your Nintendo Switch.

  • Re-work of mtheall's ftpd app run as a background service (sysmodule).
  • Originally forked from jakibaki's sys-ftpd in an attempt to improve performance and stability.

Since it's lightweight, it occupies less memory on your console, but this comes at the expense of slower file transfer speeds. If you plan on transferring large files, it is recommended installing mtheall's ftpd as a separate program and using it whenever you need to make a large file transfer.

Installation

Go to the latest release and download the sys-ftpd zip folder (not the source code).

Extract the contents of the folder to the root of your Nintendo Switch's SD card (it should overlap with your existing atmosphere and config folders).

Go to config/sys-ftpd/config.ini and set your username and password for the FTP server (otherwise it won't let you connect).

Alternatively, you can enable anonymous mode, which will let anyone in the network connect to your FTP server without credentials (unsafe).

Boot/reboot your Nintendo Switch into CFW as usual.

User guide

Once your console is connected to a network, you can connect to your server with any FTP client (you can find them online) from any computer within the same network.

The IP address of your Nintendo Switch can be found in your console's System Settings > Internet > Connection Status > IP address (it usually looks like 192.168.X.X).

The port can be found and modified in the config.ini mentioned above (it's 5000 by default).

The resulting address should look something like 192.168.X.X:5000, where your username and password are your user and password from config.ini respectively.

You should now be able to enjoy accessing your Nintendo Switch files remotely.

Other

Hotkeys: To help with security while there is are no login credentials, debugging, or otherwise, you can pause/resume running the server using the PLUS+MINUS+X button combination.

Sysmodule program ID: 420000000000000E

Config.ini

Config example (located in sdmc:/config/sys-ftpd/config.ini):

[User]
user:=jeremy

# user:= -> Login username

[Password]
password:=ilovecars

# password:= -> Login password

[Port]
port:=5000

# port:=5000 -> opens the server on port 5000 (using the console's IP address).

[Anonymous]
anonymous:=0

# anonymous:=1 -> Anyone can connect to the server. (dangerous!)
# anonymous:=0 -> Only allows logging into the ftpd server with the correct username and password. 
                  user and password (in fields above) must be set.

[Pause]
disabled:=0
keycombo:=PLUS+MINUS+X

# disabled:=1 -> Disables allowing sys-ftpd to be paused by pressing the key combination.
# disabled:=0 -> Allows sys-ftpd to be paused by pressing the key combination.
# keycombo:=  -> The key combination used to pause sys-ftpd. Each key is separated by either a 
                 plus '+' or a space ' '. Up to 8 keys are allowed.
# The list of valid keys is as follows:
# A, B, X, Y, LS, RS, L, R, ZL, ZR, PLUS, MINUS, DLEFT, DUP, DRIGHT, DDOWN

[LED]
led:=1

# led:=1 -> LED flashes on connect (default)
# led:=0 -> LED does not flash on connect

Media

How to wirelessly transfer files on Switch | sys-ftpd-light Switch 10.2.0 AMS 0.14.4 deepsea 1.7.2 (TruganiniGamePlay)

Compatibility

Tested on Atmosphere 0.19.1 and FW 12.00.

Changelog

v1.0.4 2020/07/21

  • Anonymous login is now disabled by default.
  • User credentials are now empty by default.
  • The server will now reject any connections until both the user and password fields are set.
  • Note: This update might annoy some people who get their configs overriden by downloader apps like hbstore. It is released in response to claims of people getting their consoles hacked through local networks created through ldn_mitm..

v1.0.3 2020/05/29

  • Reduced FS sessions used by the sysmodule from 3 to 1.
    • This might have caused FS to run out of sessions and crash the system if you had too many sysmodules enabled.
  • Fixed LED lights staying enabled permanently on controllers with old firmware.
  • LED now only lights up for the main player only.
  • When pressing the pause button combo to pause the server, the LED will light up in a "double click" pattern.
    • When doing the same to unpause the server, the LED will light up in a single long "resume" pattern.
    • This is to make up for the fact that there was no indication if the server gets actually paused or not.
  • Changed the response format for PASV command for compatibility with some FTP clients.

v1.0.2 2020/04/15

  • Multiple config options have been added:
    • The key combination to pause the ftpd server can now be changed. (#2)
    • The key combination to pause the ftpd server can be disabled altogether. (#2)
    • The Joy-Con LED notification when connecting to the server can now be disabled. It will also no longer light up on unsuccessful connections. (thanks @aveao #3).
    • See config.ini for details on each of the options.
  • Added toolbox.json for Kosmos Toolbox support.

v1.0.1 2019/12/12

Changes from sys-ftpd:

  • Reduced memory usage from 6MB to 1MB. On Switch FW 9.1.0, that huge memory chunk causes the old sys-ftpd to no longer work. Also, this left little to no memory available to other sysmodules to use, causing the same issue.
  • Removed sound completely. Due to memory limitations, sysmodules should only use as much as absolutely necessary. Sound is not absolutely necessary.
  • On Joy-Cons with firmware updated to 9.0.0, the LED light automatically turns off after 10 seconds to prevent battery drain. This helps in cases where the sysmodule gets interrupted without a chance to turn it off manually, causing the LED to stay on forever.
  • Built for Atmosphere 0.10.0 (the titles folder was renamed to contents. If you're using old Atmosphere, revert that change yourself.)

How to install:

  • Copy the contents of the zip file to your SD card.
  • If you have Kosmos Toolbox, go to Background services and re-enable sys-ftpd. Otherwise, reboot your switch.

External links

Advertising: