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...")
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox 3DS homebrew
{{Infobox 3DS Homebrews
| title = ftpd
|title=ftpd
| image = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS.jpg|250px
|image=Ftpdmth2.png
| type = Utilities
|description=A FTP server.
| version = v2.3.1
|author=mtheall
| licence = Mixed
|lastupdated=2021/06/13
| author = mtheall
|type=Utilities
| website = https://github.com/mtheall/ftpd
|version=3.1.0
| download = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS-2.3.1.rar
|license=Mixed
| source = https://dlhb.gamebrew.org/3dshomebrew/FTP-3DS-2.3.1.rar
|download=https://dlhb.gamebrew.org/3dshomebrews/ftpdmth.7z
|website=https://github.com/mtheall/ftpd
|source=https://github.com/mtheall/ftpd/releases
}}
}}
<youtube>Y5MrPrGqYUc</youtube>
ftpd is a FTP Server for 3DS/Switch/Linux/NDS.
 
=FTP Server for 3DS=


==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 graphics ([https://github.com/ocornut/imgui Dear ImGui] backend).
 
* Exit on NDS/3DS with START button.
==Latest Builds==
* Toggle backlight on NDS/3DS with SELECT button.
CIA: https://mtheall.com/~mtheall/ftpd.cia
* Emulation of a /dev/zero (/devZero) device for network performance testing:
 
** Example retrieve <code><nowiki>curl ftp://192.168.1.115:5000/devZero -o /dev/zero</nowiki></code>
3DSX: https://mtheall.com/~mtheall/ftpd.3dsx
** Example send <code><nowiki>curl -T /dev/zero ftp://192.168.1.115:5000/devZero</nowiki></code>
 
NRO: https://mtheall.com/~mtheall/ftpd.nro
 
CIA QR Code
 
ftpd.cia
 
Build and install
You must set up the development environment.
 
3DSX
The following pacman packages are required to build ftpd.3dsx:
 
3dstools
devkitARM
libctru


They are available as part of the 3ds-dev meta-package.
==Installation==
===Installing===
Available as a CIA and 3DSX. Both comes 2 versions, Pro builds (use Dear ImGui graphics) and Classic builds (use console's graphics).
* CIA - [https://mtheall.com/~mtheall/ftpd.cia Pro build] and [https://mtheall.com/~mtheall/ftpd-classic.cia Classic build]. Use either one and install with a CIA manager of your choice.
* 3DSX - [https://mtheall.com/~mtheall/ftpd.3dsx Pro build] and [https://mtheall.com/~mtheall/ftpd-classic.3dsx Classic build]. Copy either one to the 3ds folder of your SD card and run with homebrew launcher.


Build ftpd.3dsx:
===Building===
You must set up the [https://devkitpro.org/wiki/Getting_Started development environment]. The following pacman packages are required to build <code>3ds/ftpd.3dsx</code>.
* 3dstools
* devkitARM
* libctru


* make 3dsx
They are available as part of the <code>3ds-dev</code> meta-package.
* NRO


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


* devkitA64
==User guide==
* libnx
===Dear ImGui===
* switch-tools
ftpd uses [https://github.com/ocornut/imgui Dear ImGui] as its graphical backend.


They are available as part of the switch-dev meta-package.
Standard Dear ImGui controller inputs are supported.


Build ftpd.nro:
===Recommended FTP clients===
* Windows - [https://filezilla-project.org/download.php?type=client FileZilla].
* Linux - [https://filezilla-project.org/download.php?type=client FileZilla].
* MacOS - [https://filezilla-project.org/download.php?type=client FileZilla].
* iOS non jailbroken - [https://itunes.apple.com/us/app/ftpmanager-ftp-sftp-ftps-client/id525959186?mt=8 FTPManager].
* iOS Jailbroken - [http://moreinfo.thebigboss.org/moreinfo/depiction.php?file=filzafilemanagerDp Filza].
* Android - [https://play.google.com/store/apps/details?id=turbo.client&hl=en Turbo FTP Client & SFTP Client].


* make nro
===Supported Commands===
* Supported Commands
* ABOR
* ABOR
* ALLO (no-op)
* ALLO (no-op)
Line 86: Line 82:
* RNFR
* RNFR
* RNTO
* RNTO
* SITE
* SIZE
* SIZE
* STAT
* STAT
Line 98: Line 95:
* 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.
 
==Controls==
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
 
==Screenshots==
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth3.png
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth5.png
 
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth4.png
https://dlhb.gamebrew.org/3dshomebrews/ftpdmth6.png
 
==Media==
'''How to Setup an FTP Client [FTPD] on o3DS or n3DS''' ([https://www.youtube.com/watch?v=edXKoeXVw4s GameInCanada]) <br>
<youtube>edXKoeXVw4s</youtube>
 
==Changelog==
'''v3.1.0 2021/06/13''' (ftpd pro)
* 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.
 
'''v3.0.0 2020/05/27''' (ftpd pro)
* 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.
 
'''v2.3.1 2019/09/16''' (ftpd snap!)
* Rebuild against latest toolchains.
* Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
 
==External links==
* GitHub - https://github.com/mtheall/ftpd
 
[[Category:3DS homebrew applications]]
[[Category:Homebrew utility applications on 3DS]]

Revision as of 10:16, 28 November 2021

ftpd
Ftpdmth2.png
General
Authormtheall
TypeUtilities
Version3.1.0
LicenseMixed
Last Updated2021/06/13
Links
Download
Website
Source

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 (Dear ImGui backend).
  • 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

Installation

Installing

Available as a CIA and 3DSX. Both comes 2 versions, Pro builds (use Dear ImGui graphics) and Classic builds (use console's graphics).

Building

You must set up the development environment. 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

Dear ImGui

ftpd uses Dear ImGui as its graphical backend.

Standard Dear ImGui controller inputs are supported.

Recommended FTP clients

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.

Controls

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

Screenshots

ftpdmth3.pngftpdmth5.png

ftpdmth4.pngftpdmth6.png

Media

How to Setup an FTP Client [FTPD] on o3DS or n3DS (GameInCanada)

Changelog

v3.1.0 2021/06/13 (ftpd pro)

  • 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.

v3.0.0 2020/05/27 (ftpd pro)

  • 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.

v2.3.1 2019/09/16 (ftpd snap!)

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

External links

Advertising: