Ftpd 3DS: Difference between revisions

From GameBrew
(Created page with "{{Infobox 3DS homebrew | title = ftpd | image = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS.jpg|250px | type = Utilities | version = v2.3.1 | licence = Mixed | author = mthe...")
 
No edit summary
Line 3: Line 3:
| image = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS.jpg|250px
| image = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS.jpg|250px
| type = Utilities
| type = Utilities
| version = v2.3.1
| version = pro v3.1.0
| licence = Mixed
| licence = Mixed
| author = mtheall
| author = mtheall
Line 10: Line 10:
| source = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS-2.3.1.rar
| source = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS-2.3.1.rar
}}
}}
<youtube>Y5MrPrGqYUc</youtube>


=FTP Server for 3DS=
ftpd is a FTP Server for 3DS/Switch/Linux/NDS.


==Features==
==Features==
* Appears to work well with a variety of clients.
* Appears to work well with a variety of clients.
* Supports multiple simultaneous clients. The 3DS itself only appears to support enough sockets to perform 4-5 simultaneous data transfers, so it will help if you limit your FTP client to this many parallel requests.
* Supports multiple simultaneous clients. The 3DS itself only appears to support enough sockets to perform 4-5 simultaneous data transfers, so it will help if you limit your FTP client to this many parallel requests.
* Cutting-edge graphics.
* Cutting-edge [https://github.com/ocornut/imgui graphics].
* Exit on NDS/3DS with START button.
* Toggle backlight on NDS/3DS with SELECT button.
* Emulation of a /dev/zero (/devZero) device for network performance testing:
** Example retrieve curl ftp://192.168.1.115:5000/devZero -o /dev/zero
** Example send curl -T /dev/zero ftp://192.168.1.115:5000/devZero


==Latest Builds==
==Installation==
CIA: https://mtheall.com/~mtheall/ftpd.cia
====Classic===
Classic builds use a console instead of [https://github.com/ocornut/imgui Dear ImGui]:
* CIA - https://mtheall.com/~mtheall/ftpd-classic.cia
* 3DSX - https://mtheall.com/~mtheall/ftpd-classic.3dsx


3DSX: https://mtheall.com/~mtheall/ftpd.3dsx
===Building===
You must set up the [https://devkitpro.org/wiki/Getting_Started development environment].


NRO: https://mtheall.com/~mtheall/ftpd.nro
'''NDS''' - The following pacman packages are required to build <code>nds/ftpd.nds</code>.
* devkitARM
* dswifi
* libfat-nds
* libnds


CIA QR Code
They are available as part of the <code>nds-dev</code> meta-package.


ftpd.cia
'''3DSX''' - The following pacman packages are required to build <code>3ds/ftpd.3dsx</code>:
* 3dstools
* devkitARM
* libctru


Build and install
They are available as part of the <code>3ds-dev</code> meta-package.
You must set up the development environment.


3DSX
Build <code>3ds/ftpd.3dsx</code>: <code>make 3dsx</code>
The following pacman packages are required to build ftpd.3dsx:


3dstools
==User guide==
devkitARM
===Supported Commands===
libctru
 
They are available as part of the 3ds-dev meta-package.
 
Build ftpd.3dsx:
 
* make 3dsx
* NRO
 
The following pacman packages are required to build ftpd.nro:
 
* devkitA64
* libnx
* switch-tools
 
They are available as part of the switch-dev meta-package.
 
Build ftpd.nro:
 
* make nro
* Supported Commands
* ABOR
* ABOR
* ALLO (no-op)
* ALLO (no-op)
Line 86: Line 78:
* RNFR
* RNFR
* RNTO
* RNTO
* SITE
* SIZE
* SIZE
* STAT
* STAT
Line 98: Line 91:
* XPWD
* XPWD
* XRMD
* XRMD
* Planned Commands
 
* STOU
===SITE commands===
* Show help - SITE HELP
* Set username - SITE USER
* Set password - SITE PASS
* Set port - SITE PORT
* Set getMTime* - SITE MTIME [0|1]
* Save config - SITE SAVE
 
'''Note:''' getMTime only on 3DS. Enabling will give timestamps at the expense of slow listings.
 
===Dear ImGui===
ftpd uses [https://github.com/ocornut/imgui Dear ImGui] as its graphical backend.
 
Standard Dear ImGui controller inputs are supported.
 
==Controls==
'''Dear ImGui:'''
 
A - Activate, Open, Toggle
 
A+D-Pad - Tweak value (+L/R to tweak slower/faster)
 
B - Cancel, Close, Exit
 
X - Edit text/on-screen keyboard
 
Y - Toggle menu
 
Hold Y+L/R - Focus windows
 
Hold Y+D-Pad - Resize window
 
Left Stick - Scroll, Move window (when holding Y)
 
D-Pad - Move
 
==Media==
<youtube>WpqX0Tx8uHE</youtube>
 
==Changelog==
'''ftpd pro v3.1.0 13 Jun 2021'''
* Access Point mode on Switch.
* Reset button for configuration.
* Update to Dear ImGui 1.83.
* General system stability improvements to enhance the user’s experience.
 
'''ftpd pro v3.0.0 27 May 2020'''
* Even better graphics than ever (Dear ImGui backend).
* NDS support.
* Exit button changed from B to PLUS/START.
* Backlight toggle changed from PLUS/START to MINUS/SELECT.
* User/Password support.
* Scrollable log.
* Status icons/text (battery/wifi/time).
* "Classic" builds retain console interface.
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
 
'''ftpd snap! v2.3.1 16 Sep 2019'''
* Rebuild against latest toolchains.
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
 
[[Category:3DS homebrew application]]
[[Category:Homebrew utility applications on 3DS]]

Revision as of 11:55, 6 July 2021

Template:Infobox 3DS homebrew

ftpd is a FTP Server for 3DS/Switch/Linux/NDS.

Features

  • Appears to work well with a variety of clients.
  • Supports multiple simultaneous clients. The 3DS itself only appears to support enough sockets to perform 4-5 simultaneous data transfers, so it will help if you limit your FTP client to this many parallel requests.
  • Cutting-edge graphics.
  • Exit on NDS/3DS with START button.
  • Toggle backlight on NDS/3DS with SELECT button.
  • Emulation of a /dev/zero (/devZero) device for network performance testing:

Installation

=Classic

Classic builds use a console instead of Dear ImGui:

Building

You must set up the development environment.

NDS - The following pacman packages are required to build nds/ftpd.nds.

  • devkitARM
  • dswifi
  • libfat-nds
  • libnds

They are available as part of the nds-dev meta-package.

3DSX - The following pacman packages are required to build 3ds/ftpd.3dsx:

  • 3dstools
  • devkitARM
  • libctru

They are available as part of the 3ds-dev meta-package.

Build 3ds/ftpd.3dsx: make 3dsx

User guide

Supported Commands

  • ABOR
  • ALLO (no-op)
  • APPE
  • CDUP
  • CWD
  • DELE
  • FEAT
  • HELP
  • LIST
  • MDTM
  • MKD
  • MLSD
  • MLST
  • MODE (no-op)
  • NLST
  • NOOP
  • OPTS
  • PASS (no-op)
  • PASV
  • PORT
  • PWD
  • QUIT
  • REST
  • RETR
  • RMD
  • RNFR
  • RNTO
  • SITE
  • SIZE
  • STAT
  • STOR
  • STRU (no-op)
  • SYST
  • TYPE (no-op)
  • USER (no-op)
  • XCUP
  • XCWD
  • XMKD
  • XPWD
  • XRMD

SITE commands

  • Show help - SITE HELP
  • Set username - SITE USER
  • Set password - SITE PASS
  • Set port - SITE PORT
  • Set getMTime* - SITE MTIME [0|1]
  • Save config - SITE SAVE

Note: getMTime only on 3DS. Enabling will give timestamps at the expense of slow listings.

Dear ImGui

ftpd uses Dear ImGui as its graphical backend.

Standard Dear ImGui controller inputs are supported.

Controls

Dear ImGui:

A - Activate, Open, Toggle

A+D-Pad - Tweak value (+L/R to tweak slower/faster)

B - Cancel, Close, Exit

X - Edit text/on-screen keyboard

Y - Toggle menu

Hold Y+L/R - Focus windows

Hold Y+D-Pad - Resize window

Left Stick - Scroll, Move window (when holding Y)

D-Pad - Move

Media

Changelog

ftpd pro v3.1.0 13 Jun 2021

  • Access Point mode on Switch.
  • Reset button for configuration.
  • Update to Dear ImGui 1.83.
  • General system stability improvements to enhance the user’s experience.

ftpd pro v3.0.0 27 May 2020

  • Even better graphics than ever (Dear ImGui backend).
  • NDS support.
  • Exit button changed from B to PLUS/START.
  • Backlight toggle changed from PLUS/START to MINUS/SELECT.
  • User/Password support.
  • Scrollable log.
  • Status icons/text (battery/wifi/time).
  • "Classic" builds retain console interface.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

ftpd snap! v2.3.1 16 Sep 2019

  • Rebuild against latest toolchains.
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

Advertising: